Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [VB6]Combo e record

    Ciao!!
    Ho popolato un combo con un campo NOMI di una tabella access utilizzando come valore per l'indice l'ID del record.
    Vorrei in un secondo momento fornendo l'ID selezionare nella combo il nome relativo.
    Ho provato in questo modo:


    codice:
    cmbNomi.ListIndex = rs.Fields("ID")
    ma mi da errore 380:valore di proprietà non valido!!
    Come posso fare?
    Grazie in anticipo!!!

  2. #2

    Re: [VB6]Combo e record

    Originariamente inviato da queentone
    Ciao!!
    Ho popolato un combo con un campo NOMI di una tabella access utilizzando come valore per l'indice l'ID del record.
    Vorrei in un secondo momento fornendo l'ID selezionare nella combo il nome relativo.
    Ho provato in questo modo:


    codice:
    cmbNomi.ListIndex = rs.Fields("ID")
    ma mi da errore 380:valore di proprietà non valido!!
    Come posso fare?
    Grazie in anticipo!!!
    ciao.

    devi tenere presente che l'index degli item di una combo devono partire da 0.
    Quindi il primo elemento della combo deve avere Index = 0.

    per richiamare l'elemento corrispondente all'id che estrai dal db va bene il codice che hai scritto.
    Guarda l'esempio:
    codice:
    Private Sub Form_Load()
       Combo1.AddItem "uno", 0
       Combo1.AddItem "due", 1
       Combo1.AddItem "tre", 2
       Combo1.AddItem "quattro", 3
       Combo1.AddItem "cinque", 4
    End Sub
    
    Private Sub Command1_Click()
       Combo1.ListIndex = 3
    End Sub

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    357
    Puoi provare:

    codice:
    Combo1.Text = Combo1.List(rs("ID"))

    Ciao

  4. #4
    Il problema è che il campo ID non parte da 1 e contiene numeri non in stretta successione, vale a dire c'è 1432,1446,2344,2346 per esempio!

    Grazie intanto per i suggerimwnti!!

  5. #5
    puoi fare un ciclo for next x scorrerti tutta la lista.
    I database... la mia passione + o -

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    117

    Re: [VB6]Combo e record

    Originariamente inviato da queentone
    Ho popolato un combo con un campo NOMI di una tabella access utilizzando come valore per l'indice l'ID del record.
    Ciao, la scelta del combo è conveniente solo se non hai tanti elementi. Se vuoi mostrare nel combo solo i nomi, crea un altro Combo invisibile (p.es. Combo2), nel quale carichi solo gli ID.

    per trovare il listindex del nome con ID 3215:
    Combo1.Listindex=CercaInCombo(3215)

    Function CercaInCombo(DaCercare As Long) As Long
    'questa funzione ricerca all'interno dell'elenco completo
    Dim Ind
    CercaInCombo = -1
    With Combo2
    For Ind = 0 To .ListCount - 1
    If Val(.List(Ind)) = DaCercare Then
    CercaInCombo = Ind
    Exit For
    End If
    Next Ind
    End With

    End Function

  7. #7
    non c'è bisogno che crei un'altra combo invisibile.
    basta che assegni l'id all'ItemData che non è altro che una collezione di integer con lo stesso indice della lista che visualizzi... per tirartelo fuori quando selezioni un elemento basta che fai:

    codice:
    combobox1.itemdata(combobox1.listindex)
    I database... la mia passione + o -

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.