Solved

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

Posted on 2008-10-10
4
315 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

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…

828 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