|
|
|||||||||
|
|||||||||
|
|||||||||
| |
|||
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
|
Here is my problem. I want to run a query based off of dates that the user inputs from combo boxes off the form. I also allow them to choose if they want to search before, after or between dates. Based on what they choose the combo box will be enabled and they choose the date. All of that is working fine. However, when the code comes to the select query, I get the dialog box after running the query asking for the dates again. I check the variable that is supposed to store the date and it is correct. Thank you in advance. here is my code all of the variables excluding valu, db and qdf are strings:
Set db = CurrentDb() Set qdf = db.QueryDefs("qryDate") valu = Frame14.Value 'Int. Value gained from option group strSQl = "SELECT * FROM [ImportedData] WHERE " Select Case valu Case 1 'Before is selected date1 = Combo1.Value date2 = Combo2.Value date3 = Combo3.Value combodate1 = "#" + date1 + Chr(47) + date2 + Chr(47)_ +date3 + "#" DateSQL = "CRDATE <combodate1;" Case 2 'After is Selected date1 = Combo1.Value date2 = Combo2.Value date3 = Combo3.Value combodate1 = "#" + date1 + Chr(47) + date2 + Chr(47)_ + date3 + "#" DateSQL = "CRDATE >combodate1;" Case 3 'Between is selected date1 = Combo1.Value date2 = Combo2.Value date3 = Combo3.Value date4 = Combo4.Value date5 = Combo5.Value date6 = Combo6.Value combodate1 = "#" + date1 + Chr(47) + date2 + Chr(47)_ + date3 + "#" combodate2 = "#" + date4 + Chr(47) + date5 + Chr(47)_ + date6 + "#" DateSQL = "BETWEEN" + combodate1 + "AND" _ + combodate2 + Chr(59) End Select totalSQL = strSQl + DateSQL qdf.SQL = totalSQL DoCmd.OpenQuery "qryDate" theguz |
|
#2
|
|||
|
|||
|
Never mind I figured it out. I had () around combodate1 in my string statements. Duhhhh
![]() |
|
#3
|
|||
|
|||
|
Unless it was just a typo error...you need to fix this part as well
Old DateSQL = "BETWEEN" + combodate1 + "AND" + combodate2 + Chr(59) To DateSQL = " CRDATE BETWEEN " + combodate1 + "AND " + combodate2 Added Note: You might want to be careful about using the "+" verses the "&" in your strings. If any of the variables or text values can be a number or interpreted as a number it will try to perform an addition function. Example If IsNull(txtMyText) Then strMyString = "This textbox text is " & txtMyText + chr(13) + chr(10) & " This should be on another line" Will yield: This textbox text is This should be on another line Because the Null gets propagated through the expression (where the + signs are) the entire expression becomes Null The above example will also fail if the value in txtMyText can be interpreted as a number. Just a recommendation. Last edited by lwells : July 14th, 2005 at 05:51 PM. Reason: Added additional info |
![]() |
| Viewing: Dev Articles Community Forums > Databases > Microsoft Access Development > Run query based off of dates |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|