Ako sam te dobro shvatio, ti imaš ComboBox u koji kad upišeš slovo "z", on se automatski postavi na prvi unos u combo koji počinje sa "z" (npr zABa ili sl.)
Imaš još neke kontrole kao što su TextBox, CheckBox i sl. koje bi se trebale popuniti sa vrijednostima koje se nalaze u access tablici "Companies" u retku koje u "Name" stupcu ima unos "zABa".
Moj prijedlog ti je da počneš od Accessa:
- Ako već nemaš, onda u tablicu iz koje vučeš podatke stavi jedno polje tipa Autonumber koje će ti biti primarni ključ za tu tablicu.
Zatim u VB-u složi SELECT koji bi ti dohvačao sva potrebna polja i ono autonumber polje (AutonumberPK), npr:
'<<<<---->>>>
Data1.RecordSource = "SELECT DISTINCT (Name), AutonumberPK, Adresa, Aktivan " + _
"FROM Companies ORDER BY [Name]"
'<<<<---->>>>
Zatim kada puniš combo sa company u ItemData property od ComboBoxa ubaci ID iz autonumber polja, npr:
'<<<<---->>>>
Dim ID As Long, vrnt As String
With Data1.Recordset
Do While Not .EOF
vrnt = ![Name]
ID = !AutonumberPK
If IsNull(vrnt) Then vrnt = ""
cboRightCombo.AddItem CStr(vrnt)
cboRightCombo.ItemData(cboRightCombo.NewIndex) = ID
kupac.AddItem CStr(vrnt)
kupac.ItemData(kupac.NewIndex) = ID
.MoveNext
Loop
End With
'<<<<---->>>>
Sljedeći korak ti je kada nađeš taj član u Combu da se u Data1.Recordset-u pozicioniraš na tog člana i pročitaš njegove podatke:
'<<<<---->>>>
If UCase(Left(box.List(boxIndex), posCursor)) = UCase(Left(txt, posCursor)) Then
box.Text = box.List(boxIndex)
box.SelStart = posCursor
lExst = True
'Sad počinje novi kod
Data1.Recordset.FindFirst "AutonumberPK = " + box.ItemData(box.ListIndex)
txtAdresa.Text = Data1.Recordset!Adresa
chkAktivan.Value = Abs(Data1.Recordset!Aktivan) 'Ovdje je Abs() funkcija zato što je Bool varijabla u bazi 0 ili -1, a .Value od chk kontrole prima 0 i 1
...
Exit For
End If
'<<<<---->>>>
Ovo bi se vjerojatno moglo napraviti upotrebom polja i sl, ali volim raditi s bazom pa sam to ovako smislio.
Ako trebaš, imam ti još prijedloga kako možeš poboljšati aplikaciju.
Pozz