[ zormar @ 22.10.2007. 11:12 ] @
Kako zabraniti unos duplih podataka u text boxove, ali da budu dozvoljeni prazni text boxovi?
[ Shadowed @ 22.10.2007. 12:23 ] @
Opisi malo detaljnije situaciju. Da li imas vise Textbox-a pa svi moraju biti razlitih vrednosti ili nesto drugo?
Ako je to u pitanju, onda mislim da je najlakse da napravis niz kontrola i da prilikom dogadjaja LostFocus proveris da li je .Text isto kao i u ostalim elementima niza.
Ili ako ti vise odgovara da na kraju, prilikom potvrde unosa podataka proveris sve elemente. To mozes efikasno uraditi ako izdvojis .Text svojstva u niz stringova a onda taj niz sortiras i prodjes kroz njega poredeci susedne clanove. Ako nadjes iste, najdes koji textbox ima takvu vrednost .text property-a i dajes upozorenje (ili sta vec).
[ zormar @ 22.10.2007. 13:01 ] @
Na formi imam Text1 ... Text15, i u njih treba upisati razlicite podatke, s tim sto svi Textboxovi ne moraju biti popunjeni neki mogu ostati i prazni.
Na koji nacin spreciti da prazne Textboxove prepoznaje kao iste po sadrzaju?
[ Shadowed @ 22.10.2007. 15:33 ] @
Pa, prvo proveri da li je prazan i ako nije prazan tek onda vrsis proveru za dupliranjem.
[ vbbojan @ 22.10.2007. 17:40 ] @
Evo na izvolte:

Prvo umesto 15 tekst boksova Text1, Text2 ....Text15, napravi niz text(0), text(1).......text(14)
i ovo nize ce da radi.

Code:


Private Sub NadjiDupli(intBrojPolja As Integer)

    Dim i As Integer, j As Integer
    Dim intPredZadnji
    Dim blnNasaoDupli As Boolean
    
    intBrojPolja = intBrojPolja - 1   ' Umanji za 1 jer se index broji od nule
    intPredZadnji = intBrojPolja - 1  ' Nećemo porediti zadnji u nizu, nema sa kim da se poredi

    'Vozi kroz petlju i poredi prvo polje sa ostalima, zatim drugo polje sa ostalima ...
    
    For i = 0 To intPredZadnji

        If Text(i) <> "" Then   ' Ako je prazan ne gledaj ga

            For j = i + 1 To intBrojPolja
    
                If Text(i).Text = Text(j).Text Then
                    MsgBox "Postoje dva polja sa istim sadržajem."
                    blnNasaoDupli = True
                    Text(j).SetFocus         'Malo šminke: Stavi nadjeno polje u fokus i selektuj tekst da se bolje vidi
                    Text(j).SelStart = 0: Text(j).SelLength = Len(Text(j).Text)
                    Exit For
                End If

            Next j

        End If

        If blnNasaoDupli = True Then        'Nasao je duplikat ne mora dalje da gleda
            Exit For
        End If

    Next i

End Sub



Ovo je malo na brzinu, moze to i bolje da se odradi i da bude univerzalno, no ovo ti vrsi posao za konkretan problem

Pozdrav
[ zormar @ 22.10.2007. 19:40 ] @
zahvaljujem obojici na pomoci