Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Excel / Programming / May 2006

Tip: Looking for answers? Try searching our database.

Pivot Refresh over ODBC

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
CinqueTerra - 24 May 2006 20:50 GMT
I have a series of workbooks containing 2 or more Pivot Tables.  Each table
refreshes from an external source over an ODBC connection.  The user is
prompted for username/password for each table refresh.  I'd like to have a
UserForm capture the username/password once and then code VBA to supply it on
each refresh.

I've found this snipet of code (thanks to this forum), but do not know how
to proceed.

Dim oODBCConnection As OdbcConnection
Dim sConnString As String = _
   "Dsn=myDsn;" & _
   "Uid=myUsername;" & _
   "Pwd=myPassword"
oODBCConnection = New Odbc.OdbcConnection(sConnString)
oODBCConnection.Open()

Any thoughts on how to do this?  Thanks in advance!!!

My current code:
For Each sht In ActiveWorkbook.Worksheets
      For i = 1 To sht.PivotTables.count
          Set pvt = sht.PivotTables(i)
                pvt.RefreshTable
      Next i
Next sht
GregR - 24 May 2006 21:32 GMT
Cinque, try this

"ODBC;DSN=XXX;Description=XXX;UID=userID;PWD=Password;APP=Microsoft
Office 2003;WSID=XXX;DATABASE=Intranet;LANGUAGE=us_english
Supply your own parameters.

Greg
CinqueTerra - 24 May 2006 23:03 GMT
Yes, Greg, I think you are right.  I'm just not clever enough to code this.

I did the following:
Debug.Print ActiveWorkbook.PivotCaches(i).Connection
Which yielded:
ODBC;DSN=XXX;UID=XXX;DBQ=XXX;ASY=OFF;

My unsucessful attempt at coding is:
ActiveWorkbook.PivotCaches(i).MakeConnection
Connection:="ODBC;DSN=XXX;UID=XXX;PWD=XXX;DBQ=XXX;ASY=OFF;"

I really appreciate any help you can give me...

> Cinque, try this
>
[quoted text clipped - 3 lines]
>
> Greg
GregR - 24 May 2006 23:58 GMT
Cinque, what I did, was turn on the macro recorder and then manually go
through all the steps you normally do to connect. This should produce a
connection string with all your defaults, except the PW. You can then
modify the connection string with your password. HTH

Greg
CinqueTerra - 25 May 2006 00:23 GMT
Thanks, Greg.  I had tried the macro recorder early on.  For some reason it
did not return the code.  I did find this code in VBA help by searching on
connection.  And it works!!!  Thanks for all your assistance!!!

               With ActiveWorkbook.PivotCaches(i)
                   .Connection = _
                       "ODBC;DSN=XXX;UID=XXX;PWD=XXX;DBQ=XXX;ASY=OFF;"
                   .Refresh
               End With

> Cinque, what I did, was turn on the macro recorder and then manually go
> through all the steps you normally do to connect. This should produce a
> connection string with all your defaults, except the PW. You can then
> modify the connection string with your password. HTH
>
> Greg
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.