Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations derfloh on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Failed getting rowset(s) error

Status
Not open for further replies.

JimPaum

Programmer
Apr 12, 2001
5
US
I am developing a program to QA data in Access databases. There are 8 tables in a database. The program, which I inherited, is using ADO (and DAO in one place, I believe). Each time the program runs, I create a temporary Access database (with 17 tables, one for each of the data tables being QA'd and 9 'referential integrity checks between several of the tables) to hold the messages that the program generates (if the temporary database already exists, I delete before recreating it). Once the QA is done, reports are displayed using the data stored in the temporary database (one report for each table). After the reports are viewed, the program deletes the temporary database and ends. Using the PDW, I created a CD for distributing the program. The program was installed on a laptop (64 Mb RAM, 17 Gb free HD space) and when it goes to display the reports, I get the error message: "Failed getting rowset(s) from current data source" for each report. I close each message (17 of them) and when I exit the program, I get the message "Run-time error '3704' - Operation is not allowed when the object is closed" I believe this is occurring when I attempt to close the connection to the temporary database. I have checked MS's Knowledge Base and there is no mention of the 'failed getting rowset' error. Any ideas? Is there a way to tell if a connection exists?

Program works fine on my development machine, and any machine where VB has/had been installed (home and on another machine at work where VB had been installed, but has since been uninstalled), leading me to believe that something is not set quite right, for example, in the references.

I should also mention that I got "Error '430' when I first installed this application on the laptop, but a subsequent install took care (??) of that error. Error '430' is popping up on another (desktop) machine where I've installed the program, though, and I have not gotten around that problem. I've checked MS Knowledge Base for Error 430 and have tried to figure out all they have on it, but being slow to learn and a newbie and inheriting a program, I have a hard time digesting the information there.

Any suggestions are appreciated

Jim
 
Hi,

"Run-time error '3704' - Operation is not allowed when the object is closed"

is typically an errormessage you get when performing an execute command on a closed connection or when performing an Open statement on a recordset and providing a closed connection as the active connection.

Also, which provider do you use for the connection? I know that if you want to connect to access 2000 databases you need Microsoft.Jet.OLEDB.4.0.

Hope it helps

Jordi Reineman
 
Jordi,

I am using Microsoft.Jet.OLEDB.4.0. I found out early on that 3.51 would not allow me to connect to an Access 2000 database. Is there a way to check if the connection is open or closed?

Note, too that if I run the executable on my local machine without starting VB (I am using 6.0 Enterprise (SP4) for development), the program works without error.

Thanks,
Jim
 
Yes you can, check the State property of the connection. Hmmmm, sounds to me that you're having problems with ado. Wich version of ADO do you use?

I gather you've included mdac_typ.exe in your setup? Check if it is installed correctly. Also check which version of mdac includes Microsoft.Jet.OLEDB.4.0.

Hope it helps!

Jordi Reineman
 
Jordi,

MS ADO 2.5 library is checked off in the project references (as is the DAO 3.51 Object library to work with the temporary database - remember, I inherited most of this code). I have included mdac_typ.exe (version 2.5) in the setup (which includes Jet 4.0, if I read things correctly). I guess it gets set cup correctly. I've even extracted it out of the cab file and ran it on the target machine (hope THAT wasn't a mistake).

Of interest, I got desperate and I installed VB 6.0 Professional edition SP 3 on the target machine, made one quick run of the program through the VB IDE, then uninstalled VB. Now the program works fine (for now) on the target machine (which is running Win95). I guess this means I really don't have a good handle on what files and connections and references are needed for a proper installation on a target machine. I installed the program on another Win95 (desktop) machine and am getting Error 430. I may compare the laptop installed files and desktop installed files to see what the differences are. Maybe I'll learn something that way.

Jim
 
I'm glad it works now, but still....

Installing mdac on the computer shouldn't harm and I'm even glad you did, because now it seems like there's nothing wrong with that!

I'm running out of suggestions here.
I gather you've included the vb-runtime in the setup?
You could always call the servicedesk of MS, but that (of course)... $$

Good luck!

Jordi Reineman
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top