Solved

VBA query times out, ignores connection timeout setting

Posted on 2007-03-17
5
2,227 Views
Last Modified: 2012-06-27
I have a VBA form that is timing out accessing a MS SQL server view. I have two button on this form. On runs a report preview a la the standard wizard setup. The other run code in the form where I open the view and loop through the rows outputting a text transaction file.

The view takes about 1:14 minutes to run. Under File --> Connection --> advanced, I set the timeout to 120 seconds and that took care of the report preview. However, the query coded in my VBA form times out after 30 seconds, regardless of what I set the connection timeout to. Whats up? Here's my query call:

    Dim rs As New ADODB.Recordset

    rs.Open "select * from _vwPaActuaryActive", GetADoConnectString("PA"), adOpenForwardOnly, adLockReadOnly, adCmdText

0
Comment
Question by:jmarkfoley
  • 3
  • 2
5 Comments
 
LVL 11

Expert Comment

by:andrewbleakley
ID: 18742508
The time you have set is the connection timeout (the time after which it assumes the SQL server is not present if it receives no response). You will need to use an ADODB.Command object and set it's CommandTimeout property as below.

Dim cn as New ADODB.Connection
Dim cmd as New ADODB.Command
Dim rs As New ADODB.Recordset
cn.Open( GetADoConnectString("PA") )
cmd.ActiveConnection = cn
cmd.CommandType = adCmdText
cmd.CommandTimeout = 120
cmd.CommandText = "select * from _vwPaActuaryActive"
rs = cmd.Execute
rs.Close()
0
 
LVL 1

Author Comment

by:jmarkfoley
ID: 18742627
Compiling your example gives me: "Invalid use of property" on the line: rs= cmd.Execute

suggestions?
0
 
LVL 11

Accepted Solution

by:
andrewbleakley earned 500 total points
ID: 18742654
Sorry
Set rs = cmd.Execute
I don't have a VB IDE on this machine

0
 
LVL 1

Author Comment

by:jmarkfoley
ID: 18742769
That did it! Thanks. One of these days I'm going to have to read up on 'set'. Once upon a time, there wasn't a difference between 'a = b' and 'set a = b'.

0
 
LVL 11

Expert Comment

by:andrewbleakley
ID: 18742855
a = b assigns a VALUE to a variable
set a = b assigns an OBJECT to a variable
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

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

I originally created this report in Crystal Reports 2008 where there is an option to underlay sections. I initially came across the problem in Access Reports where I was unable to run my border lines down through the entire page as I was using the P…
A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
Familiarize people with the process of utilizing SQL Server stored procedures from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Micr…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

813 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

9 Experts available now in Live!

Get 1:1 Help Now