[ endrezr @ 17.01.2008. 00:53 ] @

Da li neko zna kako se moze pristupiti jednoj data kontroli sa razlicitih formi?
Odnosno kako da bude globalna vrednost?
Jel nesto tipa, u nekom modulu:
public data1
ili
public data1.database??

Code:

Dim CN As New ADODB.Connection
Dim RS As New ADODB.Recordset

CN.Open conn
RS.Open "Select PubID,[Company Name] From Publishers Where [Company Name] Like '%" & Text1.Text & "%'", CN

If Not RS.EOF Then


u prethodnom kodu sta znaci ono like '%"?
Da li se to koristi ako prilikom pretrage zelimo da nadjemo sve vrednosti koje pocinju sa "text1.text"?
Ako sam u pravu ono gore pod znacima navoda je sql, da li moze na takav nacin da se vrsi pretraga DAO baze?

unapred hvala

[Ovu poruku je menjao Aleksandar Ružičić dana 17.01.2008. u 16:24 GMT+1]
[ djpero.84 @ 17.01.2008. 08:40 ] @
LIKE:

znaci da trazi frazu koja pocinje sa unesenim tekstom u Textbox1.text,


DAO ti je vrsta konekcije na bazu i koristi, naravno, SQL kao i ostale konekcije pa stoga mozes da koristis isti kod.
[ Marko_L @ 17.01.2008. 15:33 ] @
Ljudi, ajde ako već dajete odgovore, potrudite se da budu potpuni i tačni... LIKE ne znači da se traži tekst koji počinje nekim tekstom, već da se traži po nekom šablonu korišćenjem wild-card karaktera (znam da znaš ovo Pero, ali može da deluje zbunjujuće za druge, pogotovo ako su početnici). Dakle, u konkretnom slučaju LIKE će dati sve vrednosti koje SADRŽE Text1.Text jer imamo wildchar % i ispred i iza teksta. Inače wildchar % u ADO je isto što i wildchar * u DAO, što znači da daje bilo koji niz. Dakle
Code:
LIKE '%a%' - vraća sve vrednosti koje sadrže slovo a bilo gde
LIKE 'a%' - ovo vraća sve vrednosti koje počinju slovom a
LIKE '%a' - ovo vraća sve vrednosti koje se završavaju slovom a
LIKE 'a' - ovo je isto kao da si napisao "='a'

što znači da korišćenje like bez wildchara i nema nekog smisla.
Takođe možeš koristi wildchar _ koje zamenjuje tačno jedan karakter znači ovako
Code:
LIKE '_omir' - i ako imaš u bazi ime Momir dobićeš ga, ali ne i recimo Ratomir
LIKE '%omir' - dok će ovo vratiti i Momir i Ratomir

ekvivalent _ u DAO jeste wildchar ?
Takođe, DAO se baš ne može nazvati vrstom konekcije. DAO je objekat preko koga se povezuješ na bazu.
[ djpero.84 @ 17.01.2008. 19:09 ] @
Slazem se u potpunosti se tobom osim u tome da pocetnicima netreba toliko opisa, i trazio je samo neke odgovore. Formulacija pitanja trazi isto formulisane odgovore zato sam tako napisao, ali neka mu i to da vidi, valjda ce se udostojiti odgovoriti nesto na to..... :)
[ endrezr @ 17.01.2008. 21:39 ] @
Nemojte se plasiti da stavite puno opisa, razumecu :-)

Vrlo je moguce da pitanja formulisem neodgovarajuce i nezgrapno. Nisam znao ono za wild-card karaktere i kako se koriste.
Bitno je da sad znam. Hvala vam obojici.
[ endrezr @ 18.01.2008. 22:22 ] @
Da li moze da se napravi nekako for petlja koja ce popuniti listview sa podacima iz baze.
moj problem je u tome sto ne mogu for petljom da menjam i dimenzionisem ListItem (jel to uopste moze da se izvede?!?)

Code:

Dim Y As Integer
'Dim listitem1 As ListItem
For Y = 1 To Data1.Recordset.RecordCount


'Dim listitem1 As ListItem
'Set listitem1 = ListView1.ListItems.Add()
'listitem1.Text = "Item 1"

'Dim listitem2 As ListItem
'Set listitem2 = ListView1.ListItems.Add()
'listitem2.Text = "Item 2"

Dim listitem1 As ListItem
Set listitem1 = ListView1.ListItems.Add()
listitem1.Text = Data1.Recordset.Fields("broj_indeksa").Value
ListView1.ListItems(1).ListSubItems.Add , , Data1.Recordset.Fields("ime").Value
ListView1.ListItems(1).ListSubItems.Add , , Data1.Recordset.Fields("prezime").Value
ListView1.ListItems(1).ListSubItems.Add , , Data1.Recordset.Fields("ocena").Value
ListView1.ListItems(1).ListSubItems.Add , , Data1.Recordset.Fields("smer").Value
Next Y


kako bi trebalo da se uradi popunjavanje listview-a iz baze, recimo prilikom form load-a?



[Ovu poruku je menjao Aleksandar Ružičić dana 18.01.2008. u 23:48 GMT+1]
[ Aleksandar Ružičić @ 18.01.2008. 22:58 ] @
probaj ovako:
Code:


Data1.Recordset.MoveFirst
    
While Not Data1.Recordset.EOF

    ListView1.ListItems.Add(Data1.Recordset.Fields("broj_indeksa").Value)
    ListView1.ListItems(1).ListSubItems.Add , , Data1.Recordset.Fields("ime").Value
    ListView1.ListItems(1).ListSubItems.Add , , Data1.Recordset.Fields("prezime").Value
    ListView1.ListItems(1).ListSubItems.Add , , Data1.Recordset.Fields("ocena").Value
    ListView1.ListItems(1).ListSubItems.Add , , Data1.Recordset.Fields("smer").Value

    Data1.Recordset.MoveNext

Wend


p.s. ubuduce koristi code tagove kada postujes kod
[ endrezr @ 18.01.2008. 23:50 ] @
Pa da! Tako lepo i jednostavno. Ne znam zasto sam mislio da je neophodno da dim-ujem listitem.
Hvala



P.S.: setio sam se zasto sam hteo da dimenzionisem, i sad dobijam istu poruku:
Run-time error '35600'
Index out of bounds

Videcu sta pise u msdn-u o ovome

[Ovu poruku je menjao endrezr dana 19.01.2008. u 01:01 GMT+1]