Solved

Public recordset

Posted on 2006-07-13
10
182 Views
Last Modified: 2010-04-30
inside one function I have a recordset that opens and I want to be able to use the same recordset with another function how can I do that?
0
Comment
Question by:thenone
  • 5
  • 5
10 Comments
 
LVL 35

Expert Comment

by:Raynard7
ID: 17105300
The best way would be to pass it to the other function

ie
function1() as string
dim x as ADODB.recordset
function2(x)
end function

function2(useThatRecordset as ADODB.recordset)
'do stuff with the recordset that was passed to it
end function

alternativley

you could dim the recordset at the start of the module (making it available to all functions inside that module)
the first function could set that recordset = to something
but not close it

the second function would then have access to the same recordset.
0
 
LVL 8

Author Comment

by:thenone
ID: 17105311
well the thing is I have a function that rs.open"Select * from table limit 2"

well when I loop through the function i think it doesn't limit to the 2 records.
0
 
LVL 35

Expert Comment

by:Raynard7
ID: 17105333
What database are you querying - not all recognise limit; ie MS Access - others; like oracle use rownum <= 2 to limit it to 2 records.
If you want to limit it to two records you could do

rs.open "select * from ..."
rs.movefirst
if (rs.eof <> rs.bof) then
dim counter as long
counter = 1
do while not rs.eof
  .......
  rs.movenext
  counter = counter + 1
  if counter > 2 then exit do
loop
0
 
LVL 8

Author Comment

by:thenone
ID: 17105359
I am using mysql 5.0 which does recognize limit I can do a regular query and it returns 2.
0
 
LVL 35

Expert Comment

by:Raynard7
ID: 17105380
Limit definitley should be working - it may return 1 row if that is all there is but limit will definitley restrict it to 2 rows
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 8

Author Comment

by:thenone
ID: 17105396
Thats what I have done but it seems like its going past that.For every recordset.movenext do I need to increment a counter to get end of
0
 
LVL 35

Expert Comment

by:Raynard7
ID: 17105426
Yes; else you will go too far - ie record 3;
also note my code above needs an end if at the end
0
 
LVL 8

Author Comment

by:thenone
ID: 17105433
ok I figured it out finally after two days yeah!!!! One last question and I will post points.If I do a recordset move like this how can I dsipaly what record I am on in a label?
0
 
LVL 35

Accepted Solution

by:
Raynard7 earned 500 total points
ID: 17105482
Reference the label name
ie
Me.label1 = rs!FieldName
0
 
LVL 8

Author Comment

by:thenone
ID: 17105541
so label.caption = rs!fieldname
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
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…
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…

863 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

20 Experts available now in Live!

Get 1:1 Help Now