Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191

    [VB6]Confronto record db access e items listbox...

    Ciao a tutti, ho un db access in cui ho memorizzato dei record...In una form ho una listbox in cui ho degli items...Io dovrei fare una cosa del genere: dovrei confrontare i record del db access con gli items della listbox, e aggiungere quelli in comune in un'altra listbox...Cioè, se per esempio "Mario Rossi" appare sia nel db che nella listbox lo aggiungo nella seconda listbox, se invece Mario Rossi non appare in tutte e due allora non lo aggiungo...
    Non so se mi sono spiegato benissimo, spero capiate...Come potrei fare?

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Non è difficile, devi semplicemente fare un ciclo, in pseudo-linguaggio è più o meno così:

    1) Per ogni Item del Listbox
    2) .... cerco nella tabella il valore dell'Item
    3) .... se esiste
    4) ........ lo copio nel secondo ListBox
    5) .... altrimenti, non faccio niente
    6) Leggo il prossimo Item


  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191
    Ciao, il problemino stà proprio qua, cioè come faccio a fare la ricerca nel database?...Utilizzo ADO e già tempo fa non sono riuscito a fare la funzione di ricerca...Potresti aiutarmi?

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da Zlatan8.
    Ciao, il problemino stà proprio qua, cioè come faccio a fare la ricerca nel database?...Utilizzo ADO e già tempo fa non sono riuscito a fare la funzione di ricerca...Potresti aiutarmi?
    Oddio, queste sono proprio le basi di programmazione nella gestione di un database, comunque:

    codice:
    Dim rs as adodb.recordset
    Dim i as long
    For i = 0 to list1.listcount - 1
        if rs.state <> adstateclosed then rs.close
        Set rs = CN.Execute("select <campo> from <tabella> where <campo> = " & list1.List(i))
        If Not rs.eof then
            Rem Il valore esiste, lo aggiungi al ListBox2
        End If
    Next i
    Occhio che ho scritto al volo, quindi controllo eventuali errori di battitura.



    P.S.
    Ti suggerisco di scaricarti i miei progetti di esempio, potrebbero tornarti utili:

    ProvaLogin
    http://nuke.vbcorner.net/Progetti/VB...3/Default.aspx

    ADO, Parametri ed affini
    http://nuke.vbcorner.net/Articoli/VB...5/Default.aspx

    ADO DataProject 2
    http://nuke.vbcorner.net/Progetti/VB...8/Default.aspx

    Progetti vari: DataGrid_FilterSearch
    http://nuke.vbcorner.net/Progetti/VB...9/Default.aspx

    ed anche:

    =============
    Guide per SQL e ADO
    http://nuke.vbcorner.net/Articoli/VB...4/Default.aspx
    =============

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191
    Gia Gibra, scusa la palese ignoranza, ma dove c'è scritto Rem il valore......., cosa dovrei metterci?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Sai aggiungere un valore in una listbox?

    Devi aggiungere il valore appena utilizzato per la select, nella List2 ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191
    Metto list2.additem e poi non so cosa mettere dopo...

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Il valore che avevi cercato, no?

    list1.List(i))
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191
    L'ho messo cos', ma mi aggiunge tutti gli item che ho nella list1, non solo quelli in comune col db...Come posso risolvere?

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191
    Se metto l'istruzione in un command mi da questo errore:

    Errore di sintassi (operatore mancante) nell'espressione della quesry 'Mio Campo = Mio record'.

    Il codcie che ho messo è questo:

    Private Sub Command1_Click()
    cn.Open
    Dim i As Long
    For i = 0 To List1.ListCount - 1
    If rs.State <> adStateClosed Then rs.Close
    Set rs = cn.Execute("select Contact from tblUser where Contact = " & List1.List(i))
    If Not rs.EOF Then
    List2.AddItem List1.List(i)
    End If
    Next i

    End Sub

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.