Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [vb6] list con id

  1. #1

    [vb6] list con id

    Salve ragazzi,
    ho fatto una ricerca ma non ho trovato quello che mi serviva!
    Allora: con l'istruzione

    lista.AddItem (rs("nome"))

    in un ciclo while, riempio una lista con dei dati prelevati da un database. Per passare il valore di un valore della lista ad un controllo uso:

    var = lista.

    Ma se io volessi dare a var non il valore che viene visualizzato nella lista (nome) bensì il suo id corrispondete del db, come faccio?
    Il problema credo che sia nel memorizzare nella lista anche l'id prelevato dal db (rs("id")), ma come faccio? E poi come lo recupero?

    Grazie, ciao

  2. #2
    Non ho capito bene quello che chiedi. Ma se vuoi visualizzare più campi nella listbox questo è il codice. Se vuoi sapere altro chiedi.
    Nella tabella di esempio "Lista" ci sono tre campi: ID, Nome Cognome.

    Private Sub Command1_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Set db = OpenDatabase("Percorso del database")
    Set rs = db.OpenRecordset("Lista")
    rs.MoveFirst
    Do Until rs.EOF
    List1.AddItem rs(0) & " " & rs(1) & " " & rs(2)
    rs.MoveNext
    Loop
    End Sub
    Giorgio
    L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, e poi ti spiega la lezione. (Oscar Wilde)

  3. #3
    Ciao,
    non ti conviene usare una ListView per i tuoi scopi?
    Puoi riempire ciascuna colonna con i campi che desideri e puoi recuperare qualsiasi valore cliccando su di una riga specifica.

    Fammi sapere.

    Giulio C. - Roma

  4. #4
    Grazie ad entrambi per le risposte, ma nn ho risolto ancora!
    Es. Nel database ho una serie di CD che ha un tiolo ed un id.
    La lista però deve mostrare all'utente solo i titoli e non l'id. L'id serve a me perchè devo fare un'altra query in cui mi serve sapere l'id del titolo cliccato dall'utente. In pratica l'id deve esserci ma l'utente non lo deve vedere!!
    Come posso fare?
    Grazie

  5. #5
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, se l'ID è di tipo numerico, puoi fare una cosa del genere:
    codice:
    Private Sub PopolaLista()
       Do While not rs.eof
          Lista.AddItem rs("nome") 
          Lista.ItemData(Lista.NewIndex) = rs("id")
          rs.movenext
       loop
    End Sub
    per recuperare il valore della voce selezionata in elenco:
    codice:
    Private Function RecuperaId() as long
       RecuperaId=Lista.ItemData(Lista.ListIndex)
    End Function
    Jupy

  6. #6
    Originariamente inviato da Jupy64
    Ciao, se l'ID è di tipo numerico, puoi fare una cosa del genere:
    codice:
    Private Sub PopolaLista()
       Do While not rs.eof
          Lista.AddItem rs("nome") 
          Lista.ItemData(Lista.NewIndex) = rs("id")
          rs.movenext
       loop
    End Sub
    per recuperare il valore della voce selezionata in elenco:
    codice:
    Private Function RecuperaId() as long
       RecuperaId=Lista.ItemData(Lista.ListIndex)
    End Function
    Ok, proverò così.Grazie

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 © 2025 vBulletin Solutions, Inc. All rights reserved.