Solved

Send parameter to VB Data Report (VB 6.0)

Posted on 2004-09-08
10
723 Views
Last Modified: 2012-06-21
I'm developing a simple system which uses VB for the interface + data report and MS ACCESS as the database.  I have created an interface for searching purpose and manage to create a data report from VB.  My problem is that...i'm suppose to send a parameter from the searching screen as to filter the result data in the data report.... i do not know how...  

This will be the database query:
SELECT     ItemName
FROM         dbo.tblmstExpenses
WHERE     (MONTH(ReceiveDate) = @date)


The Questions will be:
1.  Can anybody help me to integrate the Searching Interface with the Data Report by sending a parameter from the Searching Screen.  

2.  Do I have to add-in any References or Components...

3.  Help me with the steps and syntax please....

Thank You





0
Comment
Question by:hernaezia
  • 3
  • 3
  • 3
10 Comments
 
LVL 13

Expert Comment

by:Michael_D
ID: 12012016
You can use ADO.

'create Connection Object
Dim cn As New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<yourMDBfile.mdb>
cn.Open
Dim rs As New ADODB.Recordset

Dim sSql as string
sSql= "SELECT     ItemName " & _
"FROM         dbo.tblmstExpenses " & _
"WHERE     (MONTH(ReceiveDate) = " & txtMonth.text ' or whatever your criteria from

'open recordset
rs.Open sSql, cn, adOpenStatic, adLockOptimistic, adCmdText

Set DataReport1.DataSource = rs

'then bind your data reports fields with  rs fields
With DataReport1.Sections("section1")
    .Controls("col1").DataField = "ItemName"
End With

DataReport1.Show


I hope this help.
regards,

Michael
0
 

Author Comment

by:hernaezia
ID: 12012613
Michael, it seems like i'm a bit confused with this portion

With DataReport1.Sections("section1")
    .Controls("col1").DataField = "ItemName"
End With

can you please explain a bit this protion....becoz it seems that i do not understand the sections and controls part...
0
 

Author Comment

by:hernaezia
ID: 12012626
Michael, do i have to declare the ("section1") and ("col1") part somewhere in the coding,
when i generate my coding, this message appears "The Object ''Section1 " was not found".
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 2

Accepted Solution

by:
x50Fade earned 250 total points
ID: 12014715
All that you need to do is to access the controls on the datareport..which works a littlebit different from accessing controls on a differetn form.

With DataReport1.Sections("section1")
    .Controls("col1").DataField = "ItemName"
End With


The Section1 is the section where the control(label) is that you want to access...your's might be section 2 or 5, just check on your datareport.

theControls("Col1") means the actual control that you want to access, your's might be lblItemName or whatever....

Hope this helps
0
 
LVL 13

Expert Comment

by:Michael_D
ID: 12015781
Ok, looks like x50Fade's answer covers everything.
but anyway...

Section1 is default Details section on Data Report. you can rename it as any other control. So check what name you have for Details Section ( it should be like "Details (theActualName)" ).
put RptTextBox Controls on Detail Section. There  will appear your report's data. Rename those controls if you wish. That name comes instead of "col1" in my example.
 
0
 
LVL 2

Expert Comment

by:x50Fade
ID: 12016070
As I said...hehe
0
 
LVL 13

Expert Comment

by:Michael_D
ID: 12562540
I gave full solution and x50Fade helped as well.
I think split will be fair.
0
 
LVL 2

Expert Comment

by:x50Fade
ID: 12562873
I agree
0
 

Author Comment

by:hernaezia
ID: 12622039
i'm sorry guys im out of town for 2 weeks..n i didnt get a chance to login to this site..sorry guyss n thankss alot...
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

There are many ways to remove duplicate entries in an SQL or Access database. Most make you temporarily insert an ID field, make a temp table and copy data back and forth, and/or are slow. Here is an easy way in VB6 using ADO to remove duplicate row…
I’ve seen a number of people looking for examples of how to access web services from VB6.  I’ve been using a test harness I built in VB6 (using many resources I found online) that I use for small projects to work out how to communicate with web serv…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

680 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