• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 730
  • Last Modified:

Send parameter to VB Data Report (VB 6.0)

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
hernaezia
Asked:
hernaezia
  • 3
  • 3
  • 3
1 Solution
 
Michael_DCommented:
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
 
hernaeziaAuthor Commented:
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
 
hernaeziaAuthor Commented:
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
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
x50FadeCommented:
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
 
Michael_DCommented:
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
 
x50FadeCommented:
As I said...hehe
0
 
Michael_DCommented:
I gave full solution and x50Fade helped as well.
I think split will be fair.
0
 
x50FadeCommented:
I agree
0
 
hernaeziaAuthor Commented:
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

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 3
  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now