![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
I have a form with the following code on Click that calls a procedure passing a date data type value. The field in the table is a date/time data type. What is causing the type mismatch when it reaches the line (Set rstVehID = dbsVehID.OpenRecordset())? GStartDate and GEndDate are declared as public variables. Thanks. Private Sub cmdSelectSTDate_Click() Dim datDateSelected As Date cboSTDATERange.SetFocus If IsNull(cboSTDATERange) = False Then datDateSelected = cboSTDATERange.Value Call ProcGetVehID(datDateSelected) Else MsgBox ("Please select a Date from the Drop Box, then click the [Select Date] button") cboSTDATERange.SetFocus End If End Sub Private Sub ProcGetVehID(ByVal datDateSelected As Date) 'Dim strEndDate As String Dim dbsVehID As Database Dim qdfVehID As QueryDef Dim rstVehID As Recordset 'Dim fld As Field Dim sqlVehID As String If datDateSelected = Null Then GoTo err_ProcGetVehID End If If IsNull(datDateSelected) = False Then GStartDate = datDateSelected GEndDate = DateAdd("d", 6, datDateSelected) Set dbsVehID = CurrentDb Set qdfVehID = dbsVehID.QueryDefs("qryGetVehID") qdfVehID.SQL = "SELECT VehicleID FROM ChargeLog WHERE STDATE BETWEEN #" & GStartDate & "# AND " & "#" & GEndDate & "#" Set rstVehID = dbsVehID.OpenRecordset() End If If Not rstVehID.EOF Or Not rstVehID.BOF Then cboVehicleID.SetFocus 'cboVehicleID.Visible 'cboVehicleID.RowSource = rstVehID cboVehicleID = rstVehID Else Exit Sub End If rstVehID.Close dbsVehID.Close Set rstVehID = Nothing Set dbsVehID = Nothing err_ProcGetVehID: Exit Sub end sub |
#3
| |||
| |||
|
|
I have a form with the following code on Click that calls a procedure passing a date data type value. The field in the table is a date/time data type. What is causing the type mismatch when it reaches the line (Set rstVehID = dbsVehID.OpenRecordset())? GStartDate and GEndDate are declared as public variables. Thanks. Private Sub cmdSelectSTDate_Click() Dim datDateSelected As Date cboSTDATERange.SetFocus If IsNull(cboSTDATERange) = False Then datDateSelected = cboSTDATERange.Value Call ProcGetVehID(datDateSelected) Else MsgBox ("Please select a Date from the Drop Box, then click the [Select Date] button") cboSTDATERange.SetFocus End If End Sub Private Sub ProcGetVehID(ByVal datDateSelected As Date) 'Dim strEndDate As String Dim dbsVehID As Database Dim qdfVehID As QueryDef Dim rstVehID As Recordset 'Dim fld As Field Dim sqlVehID As String If datDateSelected = Null Then GoTo err_ProcGetVehID End If If IsNull(datDateSelected) = False Then GStartDate = datDateSelected GEndDate = DateAdd("d", 6, datDateSelected) Set dbsVehID = CurrentDb Set qdfVehID = dbsVehID.QueryDefs("qryGetVehID") qdfVehID.SQL = "SELECT VehicleID FROM ChargeLog WHERE STDATE BETWEEN #" & GStartDate & "# AND " & "#" & GEndDate & "#" Set rstVehID = dbsVehID.OpenRecordset() End If If Not rstVehID.EOF Or Not rstVehID.BOF Then cboVehicleID.SetFocus 'cboVehicleID.Visible 'cboVehicleID.RowSource = rstVehID cboVehicleID = rstVehID Else Exit Sub End If rstVehID.Close dbsVehID.Close Set rstVehID = Nothing Set dbsVehID = Nothing err_ProcGetVehID: Exit Sub end sub |
#4
| |||
| |||
|
|
I think your problem is caused by your setting the variable datdateselected = cboSTDATERange.Value I don't think you need the .value, also you should be able to pass the field as the parameter and not have to set a variable for that i.e. Call ProcGetVehID(cboSTDATERange) I hope this helps Philippa mark <ms (AT) nospam (DOT) comcast.net> wrote I have a form with the following code on Click that calls a procedure passing a date data type value. The field in the table is a date/time data type. What is causing the type mismatch when it reaches the line (Set rstVehID = dbsVehID.OpenRecordset())? GStartDate and GEndDate are declared as public variables. Thanks. Private Sub cmdSelectSTDate_Click() Dim datDateSelected As Date cboSTDATERange.SetFocus If IsNull(cboSTDATERange) = False Then datDateSelected = cboSTDATERange.Value Call ProcGetVehID(datDateSelected) Else MsgBox ("Please select a Date from the Drop Box, then click the [Select Date] button") cboSTDATERange.SetFocus End If End Sub Private Sub ProcGetVehID(ByVal datDateSelected As Date) 'Dim strEndDate As String Dim dbsVehID As Database Dim qdfVehID As QueryDef Dim rstVehID As Recordset 'Dim fld As Field Dim sqlVehID As String If datDateSelected = Null Then GoTo err_ProcGetVehID End If If IsNull(datDateSelected) = False Then GStartDate = datDateSelected GEndDate = DateAdd("d", 6, datDateSelected) Set dbsVehID = CurrentDb Set qdfVehID = dbsVehID.QueryDefs("qryGetVehID") qdfVehID.SQL = "SELECT VehicleID FROM ChargeLog WHERE STDATE BETWEEN #" & GStartDate & "# AND " & "#" & GEndDate & "#" Set rstVehID = dbsVehID.OpenRecordset() End If If Not rstVehID.EOF Or Not rstVehID.BOF Then cboVehicleID.SetFocus 'cboVehicleID.Visible 'cboVehicleID.RowSource = rstVehID cboVehicleID = rstVehID Else Exit Sub End If rstVehID.Close dbsVehID.Close Set rstVehID = Nothing Set dbsVehID = Nothing err_ProcGetVehID: Exit Sub end sub |
![]() |
| Thread Tools | |
| Display Modes | |
| |