Как получить указанный c столбец из CSV в Recordset ADO - PullRequest
0 голосов
/ 24 апреля 2020

Я использую CSV с именем как Data1.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, т. е. (имя; age) я хочу только имя.

Может ли кто-нибудь помочь с этим ...

Заранее спасибо

1 Ответ

0 голосов
/ 24 апреля 2020

CSV означает «Значения, разделенные запятыми», поэтому обычно допустимым разделителем для формата CSV является запятая.

Существует несколько вариантов для вас:

  1. Использование запятая (,) вместо точки с запятой (;) в файле CSV для разделения полей.

  2. См. https://www.connectionstrings.com/textfile/ в разделе «Microsoft Jet OLE DB 4.0». В разделе «Столбцы с разделителями» есть определенная запись в вашем реестре, которую можно изменить, чтобы указать разделитель.

  3. На той же странице выше, в разделе «. NET txtReader». для текстовых файлов », вы можете использовать. NET txtReader в качестве механизма подключения ADODB и указать типы столбцов и разделитель.

Удачи:)

...