ciao, ho un casino di combobox da popolare sempre allo stesso modo.
é possibile fare una funzione che prenda come argomenti
-la query (es: "select * from tabella")
-la combobox (es: myCombo1)
-il field da mostrare (es: "campo1")
la funzione poi fa la query, fa il ciclo e riempie la combo. infine restituisce la combobox riempita.
ecco cosa ho fatto:
codice:
Public Function fillCombo(q As String, ByVal cmb As ComboBox, field As String) As ComboBox
Dim rst As ADODB.Recordset
Set rst = Me.exeQuery(q) 'questa funzione é dentro alla classe che si occupa del db
If Not rst.EOF Then rst.MoveFirst
Do While Not rst.EOF
cmb.AddItem (EOF!cause_fra) 'chiaramente dovrebbe essere il campo. ma presumo che non posso mettere una string. intanto é solo per prova
rst.MoveNext
Loop
fillCombo = cmb 'restituisce la combobox
End Function
ed ecco come intendo richiamarla... ma non va
codice:
Dim qTest2 As String
qTest2 = "select * from cause"
Set cmbTest2 = db.fillCombo(qTest2, cmbTest2, "cause_fra") 'db é una mia classe
cmbTest2.Refresh
mi aiutate a farla funzionare? (sempre se si puo)