Ciao Khris22,
guarda che la ListBox non è adatta al lavoro che vuoi svolgere, anche il DataEnvironment è molto limitativo; a mio avviso dovresti usare una ListView e per il DB usare ADO.
Ti posto un esempio d'utilizzo della LV, nel predetto contesto:
codice:Option Explicit ' Carica la ListView per lettera iniziale della Via: Sub Ricerca() ' sLetteraRic è una variabile str caricata con la lettera iniziale ' della via (non importa se maiuscola o minuscola): If Len(sLetteraRic) > 0 Then ' Imposta Mouse Clessidra: Screen.MousePointer = 11 DoEvents ' Formatta ListView per visualizzare i dati : FrmArch.LVArchivio.ListItems.Clear Dim OggSR As New ADODB.Command Dim ConSR As New ADODB.Connection Dim RSTrc As New ADODB.Recordset Dim itmX As ListItem 'Esegue la connessione con il DataBase: With ConSR .ConnectionString = DataConnessione .CursorLocation = adUseClient 'tipo di cursore .Mode = adModeShareDenyNone 'nessuna limitazione .CommandTimeout = 15 .Open End With OggSR.ActiveConnection = ConSR OggSR.CommandType = adCmdText RSTrc.Source = "SELECT Via, NomeVia, Ncivico, Cap, Citta, Provincia FROM TblAnagImmob WHERE NomeVia Like '" & sLetteraRic & "%' Order by NomeVia " RSTrc.Open , ConSR, adOpenDynamic, adLockOptimistic ' Controlla che il DB contenga i dati da visualizzare: If RSTrc.EOF = False And RSTrc.BOF = False Then Do Until RSTrc.EOF Set itmX = LVArchivio.ListItems.Add() With RSTrc itmX.Text = .Fields("Via") itmX.SubItems(1) = .Fields("Via") itmX.SubItems(2) = .Fields("NomeVia") itmX.SubItems(3) = .Fields("Ncivico") itmX.SubItems(4) = .Fields("Cap") itmX.SubItems(5) = .Fields("Citta") itmX.SubItems(6) = .Fields("Provincia") RSTrc.MoveNext End With Loop ' Se i records sono stati caricati vengono visualizzati ' nella LV altrimenti appare il messaggio: ElseIf RSTrc.EOF = True And RSTrc.BOF = True Then LVArchivio.ListItems.Add.Text = "Ricerca completata, nessun record trovato ..." LVArchivio.ToolTipText = "Ricerca completata, nessun record trovato ..." End If ' Imposta Mouse Default: Screen.MousePointer = 0 'Chiude e cancella il recordSet: RSTrc.Close Set RSTrc = Nothing 'Chiude la connessione: ConSR.Close Set ConSR = Nothing End Sub![]()

Rispondi quotando