Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default programmatically refreshing data

hi folx!

i've got an Access application that calls excel to download a table of data
from an odbc source. the reason, in case you care to know, is that
particluar table has too many indexes for Access to absorb, and excel is
dropping them rather nicely so i can access the data.

here is the call:

Set oApp = CreateObject("Excel.Application")
Set oDoc = oApp.Workbooks.Open(CurrentProject.Path & "Customer.xls")
oDoc.RefreshAll
DoEvents
oDoc.Close SaveChanges:=True
DoEvents
CurrentDb.TableDefs("Customer").RefreshLink

it doesn't work. it functions, sure, but the data is not refreshed and no
errors are reported.

anybody got any clues/suggestions/solutions here?

thanks in advance!

jon


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 599
Default programmatically refreshing data

Jon

How many external data tables are in the Excel workbook? One?

It is likely that the querytable is refreshing in the background because its
BackgroundQuery property is set to True. When this happens, your code
continues to run even though the query hasn't completed its refresh. If you
only have one querytable in the Excel workbook, then change

oDoc.RefreshAll

to

oDoc.Sheets(1).QueryTables(1).Refresh False

assuming that the querytable is on the first sheet. Using the False
argument will suspend code execution until the querytable is refreshed. At
least that's how it works in Excel, I don't know if it works the same via
automation, but I suspect it does.

--
Dick Kusleika
MVP - Excel
Excel Blog - Daily Dose of Excel
www.dicks-blog.com


"Jon C. Munson II" wrote in message
...
hi folx!

i've got an Access application that calls excel to download a table of

data
from an odbc source. the reason, in case you care to know, is that
particluar table has too many indexes for Access to absorb, and excel is
dropping them rather nicely so i can access the data.

here is the call:

Set oApp = CreateObject("Excel.Application")
Set oDoc = oApp.Workbooks.Open(CurrentProject.Path & "Customer.xls")
oDoc.RefreshAll
DoEvents
oDoc.Close SaveChanges:=True
DoEvents
CurrentDb.TableDefs("Customer").RefreshLink

it doesn't work. it functions, sure, but the data is not refreshed and no
errors are reported.

anybody got any clues/suggestions/solutions here?

thanks in advance!

jon




  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default programmatically refreshing data

Suspect the backgroundquery property is set to true, so the refresh is not
completed.

Either edit the query to change it to false, or don't use refreshall. Use
the refresh command for the specific table and supply the backgroundquery
argument

oDoc.worksheets("Data").QueryTables(1).Refresh BackgroundQuery:=False

if you have multiple queries, then loop through them.

--
Regards,
Tom Ogilvy

"Jon C. Munson II" wrote in message
...
hi folx!

i've got an Access application that calls excel to download a table of

data
from an odbc source. the reason, in case you care to know, is that
particluar table has too many indexes for Access to absorb, and excel is
dropping them rather nicely so i can access the data.

here is the call:

Set oApp = CreateObject("Excel.Application")
Set oDoc = oApp.Workbooks.Open(CurrentProject.Path & "Customer.xls")
oDoc.RefreshAll
DoEvents
oDoc.Close SaveChanges:=True
DoEvents
CurrentDb.TableDefs("Customer").RefreshLink

it doesn't work. it functions, sure, but the data is not refreshed and no
errors are reported.

anybody got any clues/suggestions/solutions here?

thanks in advance!

jon




  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default programmatically refreshing data

yup, that did it...thanks much!

jon

"Dick Kusleika" wrote in message
...
Jon

How many external data tables are in the Excel workbook? One?

It is likely that the querytable is refreshing in the background because

its
BackgroundQuery property is set to True. When this happens, your code
continues to run even though the query hasn't completed its refresh. If

you
only have one querytable in the Excel workbook, then change

oDoc.RefreshAll

to

oDoc.Sheets(1).QueryTables(1).Refresh False

assuming that the querytable is on the first sheet. Using the False
argument will suspend code execution until the querytable is refreshed.

At
least that's how it works in Excel, I don't know if it works the same via
automation, but I suspect it does.

--
Dick Kusleika
MVP - Excel
Excel Blog - Daily Dose of Excel
www.dicks-blog.com


"Jon C. Munson II" wrote in message
...
hi folx!

i've got an Access application that calls excel to download a table of

data
from an odbc source. the reason, in case you care to know, is that
particluar table has too many indexes for Access to absorb, and excel is
dropping them rather nicely so i can access the data.

here is the call:

Set oApp = CreateObject("Excel.Application")
Set oDoc = oApp.Workbooks.Open(CurrentProject.Path & "Customer.xls")
oDoc.RefreshAll
DoEvents
oDoc.Close SaveChanges:=True
DoEvents
CurrentDb.TableDefs("Customer").RefreshLink

it doesn't work. it functions, sure, but the data is not refreshed and

no
errors are reported.

anybody got any clues/suggestions/solutions here?

thanks in advance!

jon






Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Need help with refreshing data Cam Excel Discussion (Misc queries) 0 April 15th 08 07:12 PM
trying to programmatically change chart data range with vb.net doofy[_2_] Charts and Charting in Excel 7 February 8th 08 02:02 PM
copying data from an unopened file programmatically maxzsim Excel Discussion (Misc queries) 2 December 1st 05 02:29 AM
Refreshing Data In Excel / VBA [email protected] Excel Discussion (Misc queries) 0 October 13th 05 10:53 AM
Help with data importing from txt file to excel programmatically SUDHENDRA Excel Programming 2 December 7th 03 02:14 PM


All times are GMT +1. The time now is 10:21 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"