Ureader.com  
Microsoft software help and Community
   home   |   control panel login   |   archive   |  
 
Access
3rdpartyusrgrp
access
activexcontrol
adp.sqlserver
commandbarsui
conversion
dataaccess.pages
developers.toolkitode
devtoolkits
externaldata
forms
formscoding
gettingstarted
internet
interopoledde
macros
modulescoding
modulesdaovba
modulesdaovba.ado
multiuser
odbcclientsvr
queries
replication
reports
security
setupconfig
tablesdbdesign
  
 
date: Fri, 18 Jul 2008 16:45:39 GMT,    group: microsoft.public.access.devtoolkits        back       


Connect string doesn't update after transferspreadsheet   
I have the following lines of code:

This line deletes the link to an excel workbook. I presumed that any vestige
of it's tabledef.connect string would be gone as well.
 DropTable lclName

This line recreates the same local name but links it (successfully: I checked
the data) to a workbook with a different name and in a different directory:

DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, lclName, fName,
True, rngName

but, at this point, in trying to edit the connect string to IMEX 1, the
connect string returns the old workbook name and path and the function craps
out (3044, Not a valid path):

SetIMEX2 1, lclName

Here's the function:

Function SetIMEX2(nVal As Integer, strTbl As String)
'Changing the IMEX value from 2 to 1 will allow clean records from a linked
Excel file,
'provided the registry key (Hkey_Local_Machine/Software/Microsoft/Jet/4.
0/Engines/Excel/)
'TypeGuessRows is set to 0.

Dim tdf As TableDef

Set tdf = DBEngine(0)(0).TableDefs(strTbl)
tdf.Connect = Replace(tdf.Connect, "IMEX=2", "IMEX=" & nVal)
-------------here's where it craps out
tdf.RefreshLink

End Function

So I tried to edit the connect string with the following line, but it has no
effect. The tdf.connect string still reflects the path and filename of the
dropped table.
            
dbLocal.TableDefs(lclName).Connect = "Excel 8.0;HDR=YES;IMEX=1;DATABASE=" &
strXLDir & .Fields("WkbkName")

How is this even possible? And how do I get around it?

-- 
Message posted via http://www.accessmonster.com
date: Fri, 18 Jul 2008 16:45:39 GMT   author:   ragtopcaddy via AccessMonster.com u9289@uwe

Re: Connect string doesn't update after transferspreadsheet   
OK. I solved the problem. The problem was in the SetIMEX2 function.

I changed:

Set tdf = DBEngine(0)(0).TableDefs(strTbl)

to:

Set tdf = dbLocal.TableDefs(strTbl)

and everything worked fine.

Perhaps one of you geniuses out there can elucidate as to why DBEngine(0)(0)
would keep reporting the old connect string from the dropped link table,
while dbLocal (CurrentDB) would correctly be reporting the new path and
filename.

ragtopcaddy wrote:
>I have the following lines of code:
>
>This line deletes the link to an excel workbook. I presumed that any vestige
>of it's tabledef.connect string would be gone as well.
> DropTable lclName
>
>This line recreates the same local name but links it (successfully: I checked
>the data) to a workbook with a different name and in a different directory:
>
>DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, lclName, fName,
>True, rngName
>
>but, at this point, in trying to edit the connect string to IMEX 1, the
>connect string returns the old workbook name and path and the function craps
>out (3044, Not a valid path):
>
>SetIMEX2 1, lclName
>
>Here's the function:
>
>Function (nVal As Integer, strTbl As String)
>'Changing the IMEX value from 2 to 1 will allow clean records from a linked
>Excel file,
>'provided the registry key (Hkey_Local_Machine/Software/Microsoft/Jet/4.
>0/Engines/Excel/)
>'TypeGuessRows is set to 0.
>
>Dim tdf As TableDef
>
>Set tdf = DBEngine(0)(0).TableDefs(strTbl)
>tdf.Connect = Replace(tdf.Connect, "IMEX=2", "IMEX=" & nVal)
>-------------here's where it craps out
>tdf.RefreshLink
>
>End Function
>
>So I tried to edit the connect string with the following line, but it has no
>effect. The tdf.connect string still reflects the path and filename of the
>dropped table.
>            
>dbLocal.TableDefs(lclName).Connect = "Excel 8.0;HDR=YES;IMEX=1;DATABASE=" &
>strXLDir & .Fields("WkbkName")
>
>How is this even possible? And how do I get around it?

-- 
Bill Reed

"If you can't laugh at yourself, laugh at somebody else"

Message posted via http://www.accessmonster.com
date: Fri, 18 Jul 2008 17:13:29 GMT   author:   ragtopcaddy via AccessMonster.com u9289@uwe

Google
 
Web ureader.com


    COPYRIGHT 2007, YARDI TECHNOLOGY LIMITED, ALL RIGHT RESERVE  |   contact us