I have a query to search a table and populate a combo box with the result. It seems to be working correctly, but it is populating my combo box with the ID numbers, not the selected field data. Here is what i have so far.
I borrowed and modified the Sub and Function from another user.
Code:
Public Sub cboFieldID_Change()
Dim strSQL As String
Dim strDBPath As String
Dim RstCount As Integer
Dim strResultType As String
Dim qdf As DAO.QueryDef
'Queries to populate IDNo combobox
Select Case Me.cboFieldID.Value
Case "Work Order #"
strSQL = "SELECT RCAData.[WorkOrderNo] FROM RCAData ORDER BY RCAData.[WorkOrderNo] ASC;"
Set qdf = CurrentDb.CreateQueryDef("", strSQL)
GetrstTemp
Case "Quality #"
strSQL = "SELECT RCAData.[QualityNo] FROM RCAData ORDER BY RCAData.[QualityNo] ASC;"
Set qdf = CurrentDb.CreateQueryDef("", strSQL)
GetrstTemp
Case "Part #"
strSQL = "SELECT RCAData.[PartNo], RCAData.[WorkOrderNo] FROM RCAData ORDER BY RCAData.[PartNo] ASC;"
Set qdf = CurrentDb.CreateQueryDef("", strSQL)
GetrstTemp
Case "Status"
strSQL = "SELECT RCAData.[Status], RCAData.[WorkOrderNo] From RCAData ORDER BY RCAData.[DefectDate] ASC;"
Set qdf = CurrentDb.CreateQueryDef("", strSQL)
GetrstTemp
Case "Area/Cell"
strSQL = "SELECT RCAData.[AreaCell], RCAData.[WorkOrderNo] From RCAData ORDER BY RCAData.[DefectDate] ASC;"
Set qdf = CurrentDb.CreateQueryDef("", strSQL)
GetrstTemp
Case "Status"
strSQL = "SELECT DISTINCT RCAData.[Status], RCAData.[WorkOrderNo] FROM RCAData ORDER BY RCAData.[DefectDate] ASC;"
Set qdf = CurrentDb.CreateQueryDef("", strSQL)
GetrstTemp
Case "Area/Cell"
strSQL = "SELECT DISTINCT RCAData.[AreaCell], RCAData.[WorkOrderNo] FROM RCAData ORDER BY RCAData.[DefectDate] ASC;"
Set qdf = CurrentDb.CreateQueryDef("", strSQL)
GetrstTemp
End Select
End Sub
Function GetrstTemp(qdfTemp As QueryDef, cboFieldID As String, cboIDNo As String)
Dim rstTemp As Recordset
With qdfTemp
Set rstTemp = .OpenRecordset
With rstTemp
RstCount = rstTemp.RecordCount
If RstCount = 0 Then
msgbox ("There are no records that match you search criteria. Please try again.")
cboFieldID.Value = Null
Else
If RstCount > 0 Then
Do While Not rst.EOF
cboIDNo.AddItem (rstTemp.Fields("WorkOrderNo"))
rst.MoveNext
Loop
Else
End If
End If
End Function
Can anyone see what may be causing my problem? Thanks in advance for any assistance that you may provide.