As far as I am aware, you have to provide InsertDatabase with a file name
(and it will almost certainly have to be a file you can reach on a local
device or via Windows networking, not an Internet URL) in the Datasource
parameter, regardless of whether or not the connection string provides
everything you need to connect to your data source.
In this case, the only thing that is likely to work is to create a file dsn
for your data source, let's call it
"c:\mydsns\ibdsn1.dsn"
and use, something like:
oDataSource = "c:\mydsns\ibdsn1.dsn"
oLogin = "FILEDSN=" & oDataSource & ";PWD=CA;UID=RO"
oSQL = "SELECT CLIENTS.CL_KEY, CLIENTS.CL_NAME " & _
" WHERE CLIENTS.CL_KEY='" & code & "'"
Selection.Range.InsertDatabase _
LinkToSource:=False, _
Connection:=oLogin, _
SQLStatement:=oSQL, _
DataSource:=oDataSource, _
IncludeFields:=False
Since file DSNs are plain text files, they are reasonably easy to create "on
the fly" should you need to do so, but if you end up doing that, it's very
important that the driver name in the DSN matches the driver name on the
machine where the code is running.
No, I don't think this stuff is properly documented anywhere, and of course
that means there could well be a way to do it without a file DSN...
Peter Jamieson
> Hi there
>
[quoted text clipped - 24 lines]
> Selection.Range.InsertDatabase LinkToSource:=False, Connection:=oLogin, _
> SQLStatement:=oSQL, IncludeFields:=False