【问题标题】:How to get specific column from csv in Recordset ADO如何从 Recordset ADO 中的 csv 获取特定列
【发布时间】:2020-04-24 05:42:29
【问题描述】:

我正在使用名为 Data1.csv 的 csv,其数据如下所示。

Name;Age
Datta;20
Suraj;30
Raman;20
Sujit;35

我只想要列名称中的记录,即

Datta
Suraj
Raman
Sujit

我使用下面的代码只从名称字段中获取记录

Set cN = CreateObject("ADODB.Connection")
Set RS = CreateObject("ADODB.Recordset")
cN.Open ("Provider=Microsoft.Jet.OLEDB.4.0;" & _
               "Data Source=E:\VBScript Exersize;" & _
               "Extended Properties=""text; HDR=Yes; FMT=Delimited; IMEX=1;""")

RS.Open "select [Name] from Data1.csv", cN   'Got error here
For Each itm In RS.getrows
    MsgBox itm
Next

错误:没有为一个或多个必需参数指定值

问题是当我处理 csv 时,列字段只考虑 1,即(姓名;年龄)我只想要“姓名”。

有人可以帮忙吗...

提前致谢

【问题讨论】:

标签: vba csv connection ado recordset


【解决方案1】:

CSV 代表“逗号分隔值”,因此通常 CSV 格式的有效分隔符是逗号。

您有多种选择:

  1. 在 CSV 文件中使用逗号 (,) 而不是分号 (;) 来分隔字段。

  2. 请参阅https://www.connectionstrings.com/textfile/,在“Microsoft Jet OLE DB 4.0”“分隔列”部分下,您可以更改注册表中的特定条目以指定分隔符。

    李>
  3. 在上述同一页面的“.NET txtReader for Text Files”部分下,您可以使用 .NET txtReader 作为 ADODB 连接引擎并指定列类型和分隔符。

祝你好运:)

【讨论】:

    猜你喜欢
    • 2022-12-05
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    • 2020-05-17
    • 1970-01-01
    相关资源
    最近更新 更多