Hi All
I am having a problem running a piece of SQL code for a multiselect box that needs to run a query to generate a report, i think i know what the problem is but cannot get passed it and i really need to. I cannot change the field name because it is linked to another db that is for other business use. Here is the code :
Private Sub response_Click()
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim varItem As Variant
Dim strCriteria As String
Dim strSQL As String
Set db = CurrentDb()
Set qdf = db.QueryDefs("responsecodes")
If Me!response.ItemsSelected.Count > 0 Then
For Each varItem In Me!response.ItemsSelected
strCriteria = strCriteria & "MAXIMO_V_WORKORDERS_FA.WORKORDER-RESPONSIBILITY = " & Chr(34) _
& Me!response.ItemData(varItem) & Chr(34) & "OR "
Next varItem
strCriteria = Left(strCriteria, Len(strCriteria) - 3)
End If
strSQL = "SELECT * FROM MAXIMO_V_WORKORDERS_FA " & _
"WHERE " & strCriteria & ";"
qdf.SQL = strSQL
End Sub
The problem is in the
strCriteria = strCriteria & "MAXIMO_V_WORKORDERS_FA.WORKORDER-RESPONSIBILITY = " & Chr(34) _
& Me!response.ItemData(varItem) & Chr(34) & "OR "
The dash between WORKORDER and RESPONSIBILITY is the problem but that is the field name, when i run the query to hold the data of the multiselect box it hold the data but put's the following statement into the query field name, so i cannot access this in my report query.
[MAXIMO_V_WORKORDERS_FA].[WORKORDER]-[RESPONSIBILITY]
What i need is for the [MAXIMO_V_WORKORDERS_FA] to be the table name and [WORKORDER]-[RESPONSIBILITY] to be [WORKORDER-RESPONSIBILITY] to be the field name then i know it will work.
Any help would be greatly appreciated.
Paul
I am having a problem running a piece of SQL code for a multiselect box that needs to run a query to generate a report, i think i know what the problem is but cannot get passed it and i really need to. I cannot change the field name because it is linked to another db that is for other business use. Here is the code :
Private Sub response_Click()
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim varItem As Variant
Dim strCriteria As String
Dim strSQL As String
Set db = CurrentDb()
Set qdf = db.QueryDefs("responsecodes")
If Me!response.ItemsSelected.Count > 0 Then
For Each varItem In Me!response.ItemsSelected
strCriteria = strCriteria & "MAXIMO_V_WORKORDERS_FA.WORKORDER-RESPONSIBILITY = " & Chr(34) _
& Me!response.ItemData(varItem) & Chr(34) & "OR "
Next varItem
strCriteria = Left(strCriteria, Len(strCriteria) - 3)
End If
strSQL = "SELECT * FROM MAXIMO_V_WORKORDERS_FA " & _
"WHERE " & strCriteria & ";"
qdf.SQL = strSQL
End Sub
The problem is in the
strCriteria = strCriteria & "MAXIMO_V_WORKORDERS_FA.WORKORDER-RESPONSIBILITY = " & Chr(34) _
& Me!response.ItemData(varItem) & Chr(34) & "OR "
The dash between WORKORDER and RESPONSIBILITY is the problem but that is the field name, when i run the query to hold the data of the multiselect box it hold the data but put's the following statement into the query field name, so i cannot access this in my report query.
[MAXIMO_V_WORKORDERS_FA].[WORKORDER]-[RESPONSIBILITY]
What i need is for the [MAXIMO_V_WORKORDERS_FA] to be the table name and [WORKORDER]-[RESPONSIBILITY] to be [WORKORDER-RESPONSIBILITY] to be the field name then i know it will work.
Any help would be greatly appreciated.
Paul