Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [VB6] Combo da tabella

  1. #1

    [VB6] Combo da tabella

    Fino a d'ora ho creato combo entraendo un solo dato dalla tabella
    Quindi, ad esempio, avevo una tabella SERVIZIO, estrevo tutti i record del campo CODSERVIZIO.
    Utilizzando la combo presente nel FORM2 dei componenti è possibile creare una combo a più colonne.

    Usando il metodo di inserimento dei dati via codice si ha questa sintassi:

    CodServizio.Clear

    CodServizio.ColumnCount = 2
    CodServizio.ListWidth = "6,7 cm"
    CodServizio.ColumnWidths = "0,7 cm;6 cm"

    CodServizio.AddItem "."
    CodServizio.AddItem "C"
    CodServizio.AddItem "G"
    CodServizio.AddItem "T"
    CodServizio.AddItem "F"
    CodServizio.List(0, 1) = ""
    CodServizio.List(1, 1) = "Cane"
    CodServizio.List(2, 1) = "Gatto"
    CodServizio.List(3, 1) = "Topo"
    CodServizio.List(4, 1) = "Formica"

    Questo mi visualizza una colonna con le lettere e affianco la descrizione come si vede nell'esempio.

    Ora tale cosa la voglio fare prelevando i dati da una tabella
    Tabella: SERVIZIO
    Campo1: CodServizio
    Campo2: DescrServizio

    HO fatto la mio primo passo, ossia elencare i record del campo1 (CodServizio)

    rsRecordSet6.MoveFirst
    Do While Not rsRecordSet6.EOF
    Me.Servizio.AddItem rsRecordSet6!Servizio
    rsRecordSet6.MoveNext
    Loop
    'chiude il recordset
    rsRecordSet6.Close

  2. #2

    Continuo

    Allora eravate arrivati qui:

    rsRecordSet6.MoveFirst
    Do While Not rsRecordSet6.EOF
    Me.Servizio.AddItem rsRecordSet6!CodServizio (sopra ho sbagliato)
    rsRecordSet6.MoveNext
    Loop
    'chiude il recordset
    rsRecordSet6.Close


    E fino a qui tutto funziona....ora devo aggiungere la seconda colonna, ossia la colonna DescrServizio

    Come posso fare

    Ciao e grazieeeeee

  3. #3
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Ti sei risposto da solo, basta fare un po' di copia ed incolla.

    codice:
    Me.Servizio.Clear 
    
    Me.Servizio.ColumnCount = 2 
    Me.Servizio.ListWidth = "6,7 cm" 
    Me.Servizio.ColumnWidths = "0,7 cm;6 cm
    
    rsRecordSet6.MoveFirst 
    Do While Not rsRecordSet6.EOF 
        Me.Servizio.AddItem rsRecordSet6!CodServizio  
        Me.Servizio.List(Me.Servizio.NewIndex, 1) = rsRecordSet6!DescrServizio 
        rsRecordSet6.MoveNext 
    Loop 
    'chiude il recordset 
    rsRecordSet6.Close
    Tra parentesi se questo codice è interno al Form non è necessario
    premettere 'Me.'.

    Ciao,
    Ciao, Brainjar

  4. #4

    No

    Mi va in errore mi dice:

    Errore di run-time 438
    Poprietà o metodo non sopportati dall'oggetto

    Da cosa può dipendere

    Sai dirmi niente??

    Ciao e grazieeee

  5. #5
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Scusa, ma un combobox non ha la possibilità di creare più colonne.....

    Infatti la proprietà ColumnCount non esiste.....
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  6. #6

    Si si

    Ho risolto

    Guardando il tuo esempio...ci ho messo:


    rsRecordSet6.MoveFirst
    i = 0
    Do While Not rsRecordSet6.EOF
    Servizio.AddItem rsRecordSet6!CodServizio
    Servizio.List(i, 1) = rsRecordSet6!DescrServizio

    rsRecordSet6.MoveNext
    i = i + 1
    Loop
    'chiude il recordset
    rsRecordSet6.Close

    Ciao e grazieeeeeeee

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.