簡體   English   中英

將 MySQL 表導出到 .csv 文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM