0

我在 Excel 中有一个数据集,我必须将其中的一个分类部分保存到一个新的 csv 文件中。我已经使用 SQL 来选择需要保存的部分。我希望有人会指导我使用 SQL 将此选择保存到 csv。

SQL 给了我一个记录集,但我只想在万不得已的情况下循环遍历它。如果可能的话,我希望有一种更好的方法可以直接从查询本身中保存整个结果。

我正在寻找类似 Remou 在希望 VBA 在 excel 中读取非常大的 CSV 并创建 CSV 的一小部分的输出文件的解决方案。但不幸的是,我无法让它发挥作用。

4

1 回答 1

0

假设您在 Excel VBA 中,打开了一个 ADODB,其中包含连接到数据库的 Recordset 对象,并且您希望将内容保存到 CSV(从 Excel VBA 中)。

最简单的方法实际上仍然是遍历记录集中的记录。

但是,由于您已经排除了这种情况(无论出于何种原因),下一个选择是使用该Recordset.Save <StreamObject>方法。创建一个System.IO.Streamwriter对象以传递给Recordset.Save.

或者,如果您使用 Jet SQL,另一种方法是:

conDB.Execute "SELECT * INTO [Text;Database=" _
               & vsCSVFolder _
               & ";HDR=No;FMT=Delimited].[" _
               & vsCSVFileame _
               & "] FROM Attendance", _
                 DBExport, _
                 adCmdText Or adExecuteNoRecords

希望这可以帮助。

于 2013-09-24T22:09:54.200 回答