Hoi lieve mensen,
Ik zit met een probleempje namelijk:
Op een formulier wil ik dmv een listbox verschillende waardes kunnen aanduiden en het veld met zijn andere corresponderende velden uit een tabel tonen in een query. De waarden van het veld (LP_SSCC) die in deze listbox komen zijn variabel en nooit vaste waardes (textveld van 18 getallen)
Uit Tbl_Recall_Data wil ik enkel alle gegevens van bepaalde LP_SSCC's zien en niet van alle LP-SSCC's.
De listbox werkt perfect en ik kan ook meerdere selecties maken maar als de query getoond moet worden loopt het mis. Item not found in this collection.
Dit is mijn SQL statement:
De code die de listbox bewerkt:
Ziet iemand waar de fout zit aub?
Grtjs,
Amberke
Ik zit met een probleempje namelijk:
Op een formulier wil ik dmv een listbox verschillende waardes kunnen aanduiden en het veld met zijn andere corresponderende velden uit een tabel tonen in een query. De waarden van het veld (LP_SSCC) die in deze listbox komen zijn variabel en nooit vaste waardes (textveld van 18 getallen)
Uit Tbl_Recall_Data wil ik enkel alle gegevens van bepaalde LP_SSCC's zien en niet van alle LP-SSCC's.
De listbox werkt perfect en ik kan ook meerdere selecties maken maar als de query getoond moet worden loopt het mis. Item not found in this collection.
Dit is mijn SQL statement:
Code:
SELECT DISTINCT [Tbl_Recall_Data].[LP_SSCC] FROM [Tbl_Recall_Data] UNION select "ALL" FROM [Tbl_Recall_Data];
De code die de listbox bewerkt:
Code:
Option Compare Database
Private Sub CmdOpenQuery_Click()
On Error GoTo Err_CmdOpenQuery_Click
Dim myDB As DAO.Database
Dim qDef As DAO.QueryDef
Dim i As Integer
Dim strSQL As String
Dim strWhere As String
Dim strIN As String
Dim flgSelectAll As Boolean
Dim varItem As Variant
Set myDB = CurrentDb()
strSQL = "SELECT * FROM Tbl_Recall_Data "
'Build the IN string by looping through the License Plate listbox
For i = 0 To LstbLicensePlates.ListCount - 1
If LstbLicensePlates.Selected(i) Then
If LstbLicensePlates.Column(0, i) = "All" Then
flgSelectAll = True
End If
strIN = strIN & "'" & LstbLicensePlates.Column(0, i) & "',"
End If
Next i
'Create the Where string, and strip off the last comma of the IN string
strWhere = "WHERE [LP_SSCC] in (" & Left(strIN, Len(strIN) - 1) & ")"
'If "All" was selected in the listbox, don't add the WHERE condition
If Not flgSelectAll Then
strSQL = strSQL & strWhere
End If
myDB.QueryDefs.Delete "Qry_Select_Multiple_LP"
Set qDef = myDB.CreateQueryDef("Qry_Select_Multiple_LP", strSQL)
'Open the query, build using the IN clause to set the creteria
DoCmd.OpenQuery "Qry_Select_Multiple_LP", acViewNormal
'Clear listbox selection after running query
For Each varItem In Me.LstbLicensePlates.ItemsSelected
Me.LstbLicensePlates.Selected(varItem) = False
Next varItem
Exit_CmdOpenQuery_Click:
Exit Sub
Err_CmdOpenQuery_Click:
If Err.Number = 5 Then
MsgBox "You must make a selection(s) from the list", , "Selection Required !"
Resume Exit_CmdOpenQuery_Click
Else
'Write out the error and exit the sub
MsgBox Err.Description
Resume Exit_CmdOpenQuery_Click
End If
Set myDB = Nothing
Set qDef = Nothing
End Sub
Ziet iemand waar de fout zit aub?
Grtjs,
Amberke
Laatst bewerkt: