PDA

View Full Version : [VB6] riempimento combobox


fux_vr
18-04-2005, 11:19
che sintassi uso per non avere elementi duplicati da una colonna di una tabella di un database per poi associalo a una combobox??

la sintassi SQL della mai query è : select distinct nomecampo from tabella
ma come l' associo alla combobox

Della17
18-04-2005, 11:26
beh apri il tuo bel record set con la query che hai scritto che mi sembra giusta,magari filtra ancora un po i dati con un bel WHERE, e poi ti segli il capo che hai bisogno e lo associ ad un nuovo elemento del combo, nn mi ricordo piu la sintassi essatta, se hai tempo di aspettare stasera ti riporto il codice che ora nn ho sotto mano.
Il riempimento del combo lo puoi fare nel form load con una sub o funzione apposta, se no boh vedi tu come richiamarla.

salut

fux_vr
18-04-2005, 11:45
ho fatto questo codice

Dim Indice As Integer
Indice = 0
Dim DBChiusura As Database 'dichiaro il db
Dim RS As Recordset 'dichiaro il recordset
Set DBChiusura = OpenDatabase("C:\Chiusura")
Set RS = DBChiusura.OpenRecordset("chiusura", dbOpenTable)
RS.MoveFirst 'punta al primo recod
Do While RS.EOF = False
Cassa.List(Indice) = RS!NomeCampoDB
Indice = Indice + 1
RS.MoveNext
Loop

ma mi da errore sul DB mi dice formato DB non riconosciuto perche??

Della17
18-04-2005, 11:50
beh la prima cosa che mi viene in mente è l'estensione del file..che nn la vedo..però boh magari nn quello, io di solito usavo un modo diverso per collegarmi ai db.

Stasera mi reinstallo visual studio e ci do un occhio e ti do anche il codice

se no sicuro qui c'è un sacco di gente che ti sa aiutare ;)

fux_vr
18-04-2005, 13:43
avete il link per aggiornare la libreria delle DAO??

Brigante
18-04-2005, 14:58
ho fatto questo codice

Dim Indice As Integer
Indice = 0
Dim DBChiusura As Database 'dichiaro il db
Dim RS As Recordset 'dichiaro il recordset
Set DBChiusura = OpenDatabase("C:\Chiusura")
Set RS = DBChiusura.OpenRecordset("chiusura", dbOpenTable)
RS.MoveFirst 'punta al primo recod
Do While RS.EOF = False
Cassa.List(Indice) = RS!NomeCampoDB
Indice = Indice + 1
RS.MoveNext
Loop

ma mi da errore sul DB mi dice formato DB non riconosciuto perche??

1) Metti l'estensione del file del database (.mdb?);
2) Per popolare la ComboBox utlizza il metodo AddItem;
3) Utilizza ADO, non DAO.
;)