FBAS
16-01-2015, 17:10
Salve a tutti ho un problema di questo genere.
Ho un form con due combobox. ad ognuno di questi è collegato una query su un DB SQL. Ora però avrei la necessità che la seconda query utilizzi ciò che è stato selezionato nel primo combobox come filtro.
Nel caso che riporto indipendentemente dalla societa che seleziono visualizzo tutti gli articoli mentre vorrei che nel secondo combobox fossero inseriti solo gli articoli correlati alla scelta effettuata nel primo combobox.
esempio:
Private Sub UserForm_Initialize()
'SETUP
On Error GoTo UserForm_Initialize_Err
Dim cnn As New ADODB.Connection
Dim cnn1 As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim rst1 As New ADODB.Recordset
' Connessione per primo combobox
cnn.Open "PROVIDER=SQLOLEDB;Server=PC-MIO;Database=DBMIO;User Id=ME;password=1234"
rst.Open "SELECT SOCIETA FROM ELENCO ORDER BY [SOCIETA];", _
cnn, adOpenStatic
rst.MoveFirst
'Imposta combobox1
With ComboBox1
.Clear
Do
.AddItem rst![SOCIETA]
rst.MoveNext
Loop Until rst.EOF
End With
' Connessione per secondo Combobox
cnn1.Open "PROVIDER=SQLOLEDB;Server=PC-MIO;Database=DBMIO;User Id=ME;password=1234"
rst1.Open "SELECT ITEMS FROM LIST ORDER BY [ITEMS];", _
cnn1, adOpenStatic
rst1.MoveFirst
'Imposta combobox2
With ComboBox2
.Clear
Do
.AddItem rst1![ITEMS]
rst1.MoveNext
Loop Until rst1.EOF
End With
'Chiusura dati
UserForm_Initialize_Exit:
On Error Resume Next
rst.Close
rst1.Close
cnn.Close
cnn1.Close
Set rst = Nothing
Set rst1 = Nothing
Set cnn = Nothing
Set cnn1 = Nothing
Exit Sub
' Errori
UserForm_Initialize_Err:
MsgBox Err.Number & vbCrLf & Err.Description, vbCritical, "Error!"
Resume UserForm_Initialize_Exit
End Sub
Ho un form con due combobox. ad ognuno di questi è collegato una query su un DB SQL. Ora però avrei la necessità che la seconda query utilizzi ciò che è stato selezionato nel primo combobox come filtro.
Nel caso che riporto indipendentemente dalla societa che seleziono visualizzo tutti gli articoli mentre vorrei che nel secondo combobox fossero inseriti solo gli articoli correlati alla scelta effettuata nel primo combobox.
esempio:
Private Sub UserForm_Initialize()
'SETUP
On Error GoTo UserForm_Initialize_Err
Dim cnn As New ADODB.Connection
Dim cnn1 As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim rst1 As New ADODB.Recordset
' Connessione per primo combobox
cnn.Open "PROVIDER=SQLOLEDB;Server=PC-MIO;Database=DBMIO;User Id=ME;password=1234"
rst.Open "SELECT SOCIETA FROM ELENCO ORDER BY [SOCIETA];", _
cnn, adOpenStatic
rst.MoveFirst
'Imposta combobox1
With ComboBox1
.Clear
Do
.AddItem rst![SOCIETA]
rst.MoveNext
Loop Until rst.EOF
End With
' Connessione per secondo Combobox
cnn1.Open "PROVIDER=SQLOLEDB;Server=PC-MIO;Database=DBMIO;User Id=ME;password=1234"
rst1.Open "SELECT ITEMS FROM LIST ORDER BY [ITEMS];", _
cnn1, adOpenStatic
rst1.MoveFirst
'Imposta combobox2
With ComboBox2
.Clear
Do
.AddItem rst1![ITEMS]
rst1.MoveNext
Loop Until rst1.EOF
End With
'Chiusura dati
UserForm_Initialize_Exit:
On Error Resume Next
rst.Close
rst1.Close
cnn.Close
cnn1.Close
Set rst = Nothing
Set rst1 = Nothing
Set cnn = Nothing
Set cnn1 = Nothing
Exit Sub
' Errori
UserForm_Initialize_Err:
MsgBox Err.Number & vbCrLf & Err.Description, vbCritical, "Error!"
Resume UserForm_Initialize_Exit
End Sub