[英]Exporting MySQL table to .csv file
這是我接觸 VBA 的第一天。 我正在嘗試使用 VBA 中的 MySQL 查詢在 MS Access 中導出 .csv 文件。 我曾嘗試使用此代碼:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim sql As String
Set db = CurrentDb
sql = "SELECT wo_id FROM WorkOrder"
Set rs = db.OpenRecordset(sql)
DoCmd.TransferText acExportDelim, , "rs", "C:\export.csv", True
rs.Close
Set rs = Nothing
這給了我:
運行時錯誤“3011”:
Microsoft Office Access 數據庫引擎找不到對象“rs”。 確保該對象存在並且您正確拼寫了它的名稱和路徑名
更多信息
我有一個名為 WorkOrder 的 MySQL 表(我想從這里提取數據)。
我錯過了什么?
您只能使用DoCmd.TransferText
導出 MS-Access 對象(表或查詢)。 如果您有一個名為qryOutput
的查詢,您可以將其導出:
DoCmd.TransferText acExportDelim, , "qryOutput", "C:\export.csv", True
您可以在運行時創建查詢(使用db.CreateQueryDef
),將其導出並刪除。
如果您正在使用 MySQL,也許直接從命令行導出數據更容易:
c:\> mysql -h YourHost -u YourUser -pYourPassword dbYourDatabase -e"SELECT wo_id FROM WorkOrder" > c:\export.txt
這將使用您的查詢結果(包括標題)創建一個制表符分隔的文本文件。
在類 Unix 的命令行上,您可以使用sed
將此輸出即時轉換為逗號分隔的文本文件:
$ mysql [connectionParameters] -e"select..." | sed 's/\t/,/g' > export.csv
我不知道是否有任何純 Windows 命令行實用程序可以執行此操作。 我將Cygwin用於此類事情。 如果要使用它,請務必使用 Cygwin 安裝程序安裝sed
。
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.