Ciao!!
Ho un piccolo dilemma da proporvi!
Ho una listbox con proprietà stile impostata su 1 "checkbox".
Questa listbox è popolata di dati stinga prelevati da una tabella access. es. "Paolo Rossi",
"Paolo Bianchi", ecc.
Ora, seleziono gli elementi desiderati e quando premo il pulsante "invio", mi da giustamente un errore di incompatibilità di dati, in quanto la tabella in cui devo salvare i dati e collegata ad un'altra tabella con una relazione numerica e non letterale.
Il punto è che dovrei inviare l'Id relativo a quella stringa e non la stinga stessa. come posso fare???
Vi inserisco un esempio in modo da capirci meglio..
Tabella 1 : Id; Cognome; Nome; Brano; ecc...
Query: Id; Nominativo: Tabella1!Cognome & " " & Tabella1!Nome; ecc...
Tabella 2: Id; Data; Selezione; ecc...
La Tabella1 e la Tabella2 sono correlate tra loro dal campo Id
Ora la Listbox viene popolata tamite la Query
CASO 1: Listbox popolata dal campo Nominativo
sql = "SELECT * From Query"
Do Until adoRecordset.EOF """""ERRORE""""
List1.AddItem adoRecordset.Fields(2) "Campo Nominativo... es. Paolo Rossi"
adoRecordset.MoveNext
Loop
CASO 2: Listbox popolata con il campo Id
sql = "SELECT * From Query"
Do Until adoRecordset.EOF """""Funziona""""
List1.AddItem adoRecordset.Fields(0) "Campo Id... es. 65"
adoRecordset.MoveNext
Loop
Codice per l'invio dei dati
sqlPr = "SELECT * From Tabella2"
adoRecordsetPr.Open sqlPr, adoConnectionPr, 3, 3
iNumItems = List1.SelCount
If iNumItems Then
ReDim ItemIndexes(iNumItems - 1)
SendMessage List1.hWnd, LB_GETSELITEMS, iNumItems, ItemIndexes(0)
End If
For x = 0 To iNumItems - 1
adoRecordsetPr.AddNew
adoRecordsetPr("Id") = List1.List(ItemIndexes(x)) ----qui vengono passati i valori selezionati nella Listbox --- è qui che dovrei far passare il valore 65 invece di Paolo Rossi--
adoRecordsetPr.Update
Next x
Ringrazio anticipatamente chiunque voglia darmi una mano.....Ciao