Solved

Crystal report question

Posted on 2000-02-28
22
298 Views
Last Modified: 2013-12-25
I use CR to print a report that show a range of records and the condition is that SomeDate is in arange of user given date range.
i'm usin CR shipping with VB5.
The way i'm using now is like this,
i'm using a query with CR without specifing the range in the CR design time, and at run time from VB code i add before using the CR.Activate
i add GroupSelectionFormula = something but i could not find how to correctly write the Formula using range of dates...

any one can help.

0
Comment
Question by:dyancer
  • 7
  • 7
  • 2
  • +6
22 Comments
 
LVL 43

Expert Comment

by:TimCottee
ID: 2565044
Use something like

CR.GroupSelectionFormula = "{Table.Date} >= Date (" & strStartYear & "," & strStartMonth & "," & strStartDay & ") and {Table.Date} <= Date (" & strEndYear & "," & strEndMonth & "," & strEndDay & ")"

Will give you a string such as
{Table.Date} >= Date (2000,01 ,01) and {Table.Date} <= Date (2000,02,29)
0
 
LVL 1

Expert Comment

by:lly
ID: 2565078
Hi dyancer,

Try adding some parameters into your query for your date range.  So that when you call CR, and assign the values for each parameters.  And hopefully it should work.

0
 
LVL 1

Author Comment

by:dyancer
ID: 2567745
To TimCottee ,
Indeed, the user input is a string formatted as a date, before activating the CR.activate i popup an input dialog where the user asked to input to date, name them FromDate,ToDate
the input is a string "1/1/2000" ,"3/1/2000"
so how to use these values in the example you show in your comment.

0
 
LVL 43

Expert Comment

by:TimCottee
ID: 2567987
When your popup is closed, add this segment before the line I gave you before. It will convert the string date to a date field then chop up the date parts to use in the groupselectionformula line.

Dim dteDate As Date
Dim strStartDay As String
Dim strStartMonth As String
Dim strStartYear As String
Dim strEndDay As String
Dim strEndMonth As String
Dim strEndYear As String
dteDate = CDate(FromDate)
strStartDay = Day(dteDate)
strStartMonth = Month(dteDate)
strStartYear = Year(dteDate)
dteDate = CDate(ToDate)
strEndDay = Day(dteDate)
strEndMonth = Month(dteDate)
strEndYear = Year(dteDate)


0
 

Expert Comment

by:Drazen
ID: 2568246
Try with this!!

CR.GroupSelectionFormula = "{Table.Date} in Date("& Format(strStartDate, "yyyy,mm,dd") &")
to Date("& Format(strEndDate, "yyyy,mm,dd") &")"
 

0
 
LVL 1

Author Comment

by:dyancer
ID: 2577008
Drazen..
Sorry for the delay...
I'll check your answer and give u a feedback later , * i believe not before sunday..*

thanx
dyancer.
0
 

Expert Comment

by:mh_14
ID: 2578606
Hey Dyancer I'm exactly using dynamic range of date in my report.If all above suggestion doesn't work,let me know I will paste my code for you
Thanx
0
 
LVL 1

Author Comment

by:dyancer
ID: 2584502
Drozen,
Thank you for your code, I adopt your way though it's very limited because i need to enter specific Date coding either "mm,dd,yyyy" or any other variation the user can think of...
Now i do no longer get the message from CR telling "Formola error" but instead i get another runtime error saying "Unable to connect: Incorrect log parameters"
My Report based on a simple SQL with no input parameters...

Any Idea..?


0
 
LVL 1

Author Comment

by:dyancer
ID: 2584504
mh_14 ,
the question is open again...
i'll appreciate any help...

thanx in advance
0
 
LVL 1

Author Comment

by:dyancer
ID: 2594763

the question is open again...
0
 
LVL 1

Expert Comment

by:mathies
ID: 2753066
Use something like

CR.GroupSelectionFormula = "{Table.Date} >= Date (" & strStartYear & "," & strStartMonth & "," & strStartDay & ") and {Table.Date} <= Date (" & strEndYear & "," & strEndMonth & "," & strEndDay & ")"

Will give you a string such as
{Table.Date} >= Date (2000,01 ,01) and {Table.Date} <= Date (2000,02,29)
0
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 
LVL 1

Author Comment

by:dyancer
ID: 2754332
Oppps,
i forget all about this question, I figured  out how to deal with the problem a month a go....

but, heres your points....
0
 
LVL 43

Expert Comment

by:TimCottee
ID: 2754876
mathies, that is a precise copy of my original answer, please convert your answer to a comment or dyancer please reject this answer and choose a comment to accept as such.
0
 
LVL 1

Author Comment

by:dyancer
ID: 2755470
ok ppl,
I'm out for a vacation tell sunday,
in the meanwhile time you both should agree on one of you to get the points,


0
 
LVL 43

Expert Comment

by:TimCottee
ID: 2755599
Whilst I would like to have the points, they are not really at issue, the point is that it is against the EE guidelines to blatantly attempt to steal points in this manner. Should mathies not withdraw his/her answer within a reasonable time then I will refer this matter to customer services for resolution.
0
 
LVL 43

Expert Comment

by:TimCottee
ID: 2768818
I am posting a Q in the customer services section in order for the powers that be to bring this question to a resolution.
0
 
LVL 43

Expert Comment

by:TimCottee
ID: 2768833
0
 
LVL 5

Expert Comment

by:ianB
ID: 2769267
I am rejecting mathies answer to this question because it is a exact copy of TimCottee's answer.

Ian
Community Support @ Experts Exchange
0
 
LVL 43

Accepted Solution

by:
TimCottee earned 200 total points
ID: 2787670
dyancer:

As there seems to be no response from you on this question I am proposing my original solution and additional comments as an answer.
0
 

Expert Comment

by:ananddarshan
ID: 2879989
Which Database are you using?
0
 
LVL 3

Expert Comment

by:darinw
ID: 3683792
Answer accepted
0
 
LVL 3

Expert Comment

by:darinw
ID: 3683794
Accepting the proposed answer and moving question to PAQ for the missing dyancer.

darinw
Customer Service
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

705 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

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now