1

クエリが作成されたアクセス データベースがあります。このクエリを毎晩実行して、タブ区切りの csv ファイルにエクスポートできるように、自動化する必要があります。アクセス内からクエリを csv ファイルにエクスポートすることはできません。私の質問は、特定のテーブルを選択したり、mdb ファイルで SQL クエリを実行したり、csv ファイルにエクスポートしたりできるツールはありますか?

4

3 に答える 3

3

VBScript は、Jet エンジンと非常にうまく連携します。ただし、「アクセス内からクエリを csv ファイルにエクスポートすることはできません」と言う理由がわかりません。

 Sub TransferCSV()

    DoCmd.TransferText acExportDelim, , "PutNameOfQueryHere", "C:\PutPathAnd\FilenameHere.csv", True

 End Sub

VBAの通常の方法です。

編集: コマンド ラインから VBScript ファイル (.vbs) を実行することができます。タブ区切りファイルを出力する VBScript のサンプルを次に示します。

db = "C:\Docs\LTD.mdb"
TextExportFile = "C:\Docs\Exp.txt"

Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open _
   "Provider = Microsoft.Jet.OLEDB.4.0; " & _
   "Data Source =" & db

strSQL = "SELECT * FROM tblMembers"

rs.Open strSQL, cn, 3, 3

Set fs = CreateObject("Scripting.FileSystemObject")

Set f = fs.CreateTextFile(TextExportFile, True)

a = rs.GetString

f.WriteLine a

f.Close
于 2008-11-11T13:44:43.020 に答える
3

実際には、Access 内からクエリを csv ファイルにエクスポートできます。

これは、TransferText メソッドを使用してマクロで行うことができます。

大きい:

   Name = ExportQuery
   Action = TransferText
   Transfer Type = Export Delimited
   Table Name = [name of your Access query]
   File Name = [path of output file]
   Has Field Names = [Yes or No, as desired]

次のように、コマンド ラインからマクロを実行できます。

"[your MS Office path]\msaccess.exe" [your databse].mdb /excl /X ExportQuery /runtime

マクロで TransferText に問題があるので、これを試してください:

1) 「ExportQuery」という名前のモジュールを作成します。このモジュールでは、「ExportQuery」という関数を作成します。

Function ExportQuery()
    DoCmd.TransferText acExportDelim, , "[your query]", "[output file].csv"
End Function

2) RunExportQuery という名前のマクロを作成します。

Action = RunCode
Function Name = ExportQuery ()
于 2008-11-11T14:06:47.937 に答える
-1

SQL Server Integration Services は、あなたが話している変換を行うことができます。パッケージを自動化して実行するために SQL Server は必要ないため、名前に惑わされないでください。

http://msdn.microsoft.com/en-us/library/ms141026.aspx

于 2008-11-11T13:45:44.500 に答える