Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-08-2005, 09:40   #1
OrcaAssassina
Senior Member
 
Iscritto dal: Feb 2003
Messaggi: 2818
[VB6] Combo da tabella a due colonne

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 il mio primo passo, ossia elencare i record del campo1 (CodServizio)


rsRecordSet6.MoveFirst
Do While Not rsRecordSet6.EOF
Me.Servizio.AddItem rsRecordSet6!CodServizio
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
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER
OrcaAssassina è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2005, 11:58   #2
pequeno
Member
 
L'Avatar di pequeno
 
Iscritto dal: Jul 2005
Città: Potenza
Messaggi: 126
Quote:
Originariamente inviato da OrcaAssassina
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 il mio primo passo, ossia elencare i record del campo1 (CodServizio)


rsRecordSet6.MoveFirst
Do While Not rsRecordSet6.EOF
Me.Servizio.AddItem rsRecordSet6!CodServizio
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


Ciao,
allora con dei semplici valori testuali puoi fare in questo modo...

Codice:
Combo.Clear

    Combo.ColumnCount = 2
    Combo.ListWidth = "6,7 cm"
    Combo.ColumnWidths = "0,7 cm;6 cm"
    
    For i = 0 To 5
        Combo.AddItem "-" & i
        Combo.List(i, 1) = "prova" & i
    Next
Utilizzando un RecordSet come nel tuo caso.. dovrebbe andare questo..

Codice:
rsDati.MoveFirst 
i = 0
While Not rsDati.EOF 
  Combo.AddItem rsDati!CodServizio
  Combo.List(i, 1) = rsDati!DescrServizio
  rsDati.MoveNext 
  i = i + 1
Wend
rsDati.Close
__________________
Un'interfaccia per domarli, un package per trovarli tutti, un riferimento per ghermirli e nel framework incatenarli."
Il Signore degli Oggetti
pequeno è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2005, 12:11   #3
OrcaAssassina
Senior Member
 
Iscritto dal: Feb 2003
Messaggi: 2818
Grande

Funziona

Solo che al posto di WEND ho messo LOOP, altrimenti mi andava in errore
__________________
AMD 3700x --- ASUS X570 CROSSHEAR VIII HERO --- 4x 8GB Corsair Vengeance RGB PRO 3600 MHz --- SSD: Samsung 980Pro 1TBb --- EVGA RTX 2070 SUPER
OrcaAssassina è offline   Rispondi citando il messaggio o parte di esso
Old 25-08-2005, 12:24   #4
pequeno
Member
 
L'Avatar di pequeno
 
Iscritto dal: Jul 2005
Città: Potenza
Messaggi: 126
Quote:
Originariamente inviato da OrcaAssassina
al posto di WEND ho messo LOOP, altrimenti mi andava in errore
Beh,
visual basic non lo uso da un pò..
in asp in while...wend funziona.. non ricordavo in vb
__________________
Un'interfaccia per domarli, un package per trovarli tutti, un riferimento per ghermirli e nel framework incatenarli."
Il Signore degli Oggetti
pequeno è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 02:14.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v