1

Access DB を開く VBscript があり、テーブルの 1 つからクエリを作成してからテーブルをエクスポートする必要があります。DBでは小数点以下10桁程度ですが、エクスポートすると2桁しかないため、数値列をフォーマットする必要があるため、クエリを作成する必要があります。10個すべてが必要です。このAccess DBを制御するのではなく、ダウンロードしますソースにこのクエリを作成するよう依頼することはできません。

以下のエラーは、「ADODB.Command: 引数が間違った型であるか、許容範囲外であるか、互いに競合しています。私は何が欠けていますか?

Dim oAccess
Set oAccess = CreateObject("Access.Application")

oAccess.OpenCurrentDatabase("dbfile here")

Dim oQry
Set oQry = CreateObject("ADODB.Command")

oQry.ActiveConnection = oAccess.CurrentProject.Connection
oQry.CommandType = 1
oQry.CommandText = "create view qryTable as select * from table"
oQry.Execute

Set oQry = Nothing
Set oAccess = Nothing
4

1 に答える 1

2

文字.ActiveConnection列値を指定するとうまくいきます。

oQry.ActiveConnection = oAccess.CurrentProject.Connection.ConnectionString

その文字列のプロバイダーが「Jet.OLEDB」であり、64ビットWindowsを使用している場合は、スクリプトを32ビットモードで実行する必要があることに注意してください。cscript.exefromのバージョンを使用しました\Windows\SysWOW64

ただし、Accessアプリケーションインスタンスを開いてからを作成して実行する理由がわかりませんADODB.CommandCurrentProject.Connectionおそらくそれは、アプリケーションを最初から作成する必要がないように、アプリケーションを再利用する試みでした。

理由が何であれ、とにかくAccessインスタンスがある場合は、は必要ありませんADODB.Command.Executeからのメソッドを使用するだけCurrentProject.Connectionです。

Dim oAccess, sSql

Set oAccess = CreateObject("Access.Application")
oAccess.OpenCurrentDatabase("dbfile here")

sSql = "create view qryTable as select * from [table]"
oAccess.CurrentProject.Connection.Execute sSql

Set oAccess = Nothing
于 2013-01-30T18:15:23.530 に答える