View Full Version : [vb6+access] da db a text...
Ho 2 caselle di testo e una listbox, la list viene fillata con i dati di una tabella di un db composta da 3 campi.
La list contiene solo il primo dei 3 campi.
Vorrei fare in modo che selezionando un dato nella list, mi appaiano nelle text gli altri 2 dati corrispondenti agli altri campi della riga della tabella.
spero di essere stato abbastanza chiaro :rolleyes:
tnx
Originariamente inviato da ASyd
Ho 2 caselle di testo e una listbox, la list viene fillata con i dati di una tabella di un db composta da 3 campi.
La list contiene solo il primo dei 3 campi.
Vorrei fare in modo che selezionando un dato nella list, mi appaiano nelle text gli altri 2 dati corrispondenti agli altri campi della riga della tabella.
spero di essere stato abbastanza chiaro :rolleyes:
tnx
E' facile... tu carichi la list box utilizzando anche la itemdata
List1.AddItem "ciao"
List1.ItemData(List1.NewIndex) = 10
In pratica metti il testo che vuoi visualizzare nella listbox e poi nell'itemdata metti l'ID della tua riga nel database!!
Cosė facendo il click sulla listbox fai una cosa del genere:
Private Sub List1_Click()
Dim nIndex as integer
nIndex=List1.ItemData(List1.ListIndex)
'qui componi la stringa swl che va a fare la ricerca nel database con condizione (WHERE) che punta all'indice nIndex
End Sub
Ho provato a fare cosė:
Private Sub List1_Click()
Dim nIndex As Integer
nIndex = List1.ItemData(List1.ListIndex)
SQL1 = "SELECT codice,descrizione,costo FROM tabella1 WHERE codice = '" & nIndex & "'"
Set rs1 = New ADODB.Recordset
rs1.Open SQL1, Conn
Text1.Text = rs1("codice")
Text2.Text = rs1("descrizione")
Text3.Text = rs1("costo")
End Sub
Solo che mi da un errore e non riesco a venirne fuori: "Errore di runtime 3001; gli argomenti non sono di tipo valido, non sono compresi nell'intervallo consentito o sono in conflitto"
:(
Prova a mettere codice senza gli apici....se č un campo contatore nn ci va!
cuoricinoblu
11-12-2003, 22:26
Usando la seguente sintassi non dovresti avere problemi :
SQL1 = "SELECT codice,descrizione,costo FROM tabella1 WHERE codice = " & cStr(nIndex)
ovviamente se il campo 'codice' č un numero intero, altrimenti se č di tipo testo:
SQL1 = "SELECT codice,descrizione,costo FROM tabella1 WHERE codice = '" & cStr(nIndex) & "'"
ciao ciao :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.