Solved

Public recordset

Posted on 2006-07-13
10
185 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

 
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
 
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

[Webinar] Code, Load, and Grow

Managing multiple websites, servers, applications, and security on a daily basis? Join us for a webinar on May 25th to learn how to simplify administration and management of virtual hosts for IT admins, create a secure environment, and deploy code more effectively and frequently.

Question has a verified solution.

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

Introduction While answering a recent question (http://www.experts-exchange.com/Q_27402310.html) in the VB classic zone, I wrote some VB code in the (Office) VBA environment, rather than fire up my older PC.  I didn't post completely correct code o…
The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
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…

734 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