Solved

Need Between.. And to work with criteria from dialog box

Posted on 2008-10-10
4
301 Views
Last Modified: 2012-05-05
I am putting together a report that will list calls received for a one week period.  I created a dialog box so that the user can input the start date.  In my query in the DATE field I tried to put the following criteria, but its not working.

Between [Forms]![frmWklyDialog]![StartDate] And [Forms]![frmWklyDialog]![StartDate]+7

I need it to pull records dated between whatever they enter in for the start date and the start date plus seven days.

Thanks
0
Comment
Question by:MissB618
4 Comments
 
LVL 7

Expert Comment

by:rheitzman
ID: 22691339
You can use a Where clause on the OpenReport method. The sample below adds one month. You can use "ww" for a week or "d" for days. See help for DateAdd().
Private Sub Command0_Click()
On Error GoTo Err_Command0_Click
    Dim stDocName As String
    Dim stWhere As String
 
    stDocName = "Report1"
    stWhere = "Last_Update_Date BETWEEN #" & Me.txtStartDate _
        & "# AND #" & DateAdd("m", 1, Me.txtStartDate) & "#"
    DoCmd.OpenReport stDocName, acPreview, , stWhere
 
Exit_Command0_Click:
    Exit Sub
 
Err_Command0_Click:
    MsgBox err.Description
    Resume Exit_Command0_Click
End Sub

Open in new window

0
 
LVL 120

Accepted Solution

by:
Rey Obrero (Capricorn1) earned 500 total points
ID: 22691518
if your ( DATE field ) is DateTime data type

Between cdate([Forms]![frmWklyDialog]![StartDate]) And cdate([Forms]![frmWklyDialog]![StartDate])+7
0
 
LVL 44

Expert Comment

by:GRayL
ID: 22692619
In a control source in a dialog box, you cannot enter a query.  Please be very specific about what you are tryin to do.
0
 
LVL 26

Expert Comment

by:dannywareham
ID: 22694075
I would change the code only slightly to ensure that you get date entries (cos if you don't your query will fail):
Private Sub Command0_Click()
On Error GoTo Err_Command0_Click
    Dim stDocName As String
    Dim stWhere As String
    Dim myStartDate as String
 
myStartDate = nz(Me.txtStartDate,"Empty")
 
If Not IsDate(myStartDate) then
    Msgbox "You must enter a date for the start",vbokonly,"Error"
    Me.txtStartDate.Setfocus
End if
 
    stDocName = "Report1"
    stWhere = "Last_Update_Date BETWEEN #" & format(myStartDate,"dd-mmm-yyyy") & "# AND #" & DateAdd("m", 1, format(myStartDate,"dd-mmm-yyyy")) & "#"
    DoCmd.OpenReport stDocName, acPreview, , stWhere
 
Exit_Command0_Click:
    Exit Sub
 
Err_Command0_Click:
    MsgBox err.Description
    Resume Exit_Command0_Click
End Sub

Open in new window

0

Featured Post

Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Occasionally there is a need to clean table columns, especially if you have inherited legacy data. There are obviously many ways to accomplish that, including elaborate UPDATE queries with anywhere from one to numerous REPLACE functions (even within…
This collection of functions covers all the normal rounding methods of just about any numeric value.
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question