PDA

View Full Version : VBA MULTICOMBOBOX VS QUERY SQL


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