powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / с помощью ADO + SQL опрашивать текстовые файлы
71 сообщений из 71, показаны все 3 страниц
с помощью ADO + SQL опрашивать текстовые файлы
    #38619577
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здравствуйте, собственно по сабжу есть ли у кого хороший пример?, спасибо
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38619611
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чуть в сторону от ВБ, но может скажете не пойму, сказано, здесь
http://www.internet-technologies.ru/articles/article_293.html#subscribeCansel
создайте три файла
index.html
data.txt
CSV.DSN
есть их текст
далее сказано
Остается отметить, что все три файла для проверки работы примера вы должны сохранить в одной директории вашего веб-сервера
А если есть на сервере не index.html, index.php, тогда в него доливать соль:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
<%
Dim sDSNFile
sDSNFile = «CSV.dsn»

Dim sScriptDir
sScriptDir = Request.ServerVariables(«SCRIPT_NAME»)
sScriptDir = StrReverse(sScriptDir)
sScriptDir = Mid(sScriptDir, InStr(1, sScriptDir, «/»))
sScriptDir = StrReverse(sScriptDir)

' Создадим DSN
Dim sPath, sDSN
sPath = Server.MapPath(sScriptDir) & ""
sDSN = «FileDSN=» & sPath & sDSNFile & _
«;DefaultDir=» & sPath & _
«;DBQ=» & sPath & «;»

' к примеру sDSN может получится таким:
' FileDSN=C:InetpubwwwrootCSV.DSN;DefaultDir=
' C:Inetpubwwwroot;DBQ=C:Inetpubwwwroot;

' Соединяемся с БД
Dim Conn, rs
Set Conn = Server.CreateObject(«ADODB.Connection»)
Conn.Open sDSN

' Получим только Name и Price
Dim sql
sql = «SELECT Name,Price FROM data.txt»

' Создадим объект recordset
set rs = conn.execute(sql)

Do WHile Not rs.EOF
Response.Write "Name: " & rs(«Name»)
Response.Write "<BR>Price: " & rs(«Price»)
Response.Write «<HR>» 
rs.MoveNext 
Loop

' Окончание работы
rs.close
set rs = nothing
conn.close
set conn = nothing
%>



так? они уживутся?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38620130
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cns="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ПапкаГдеФайл;Extended Properties='text;HDR=No;FMT=Delimited'"

234 qwerty asdfgh
207 zxcvbn lkjhgfd
120 zxcvbn lkjhgfd

select f1,f2,f3 from test.txt where f1 like '%20%'
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38620287
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv, похоже с загрузкой на веб-сервер пролетаю, так как нужно
Для выполнения asp скрипта нужно иметь windows хостинг где разрешен и настроен запуск classic asp. Расширение файла при этом должно быть asp
А у меня такого не предвидится

Вашу мысль не понял
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38620426
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я отвечал на вопрос, вынесенный в название топика. Какую строку соединения использовать, как обращаться к столбцам. Ни о каких веб-серверах не думал, ибо эта тема лежит далек-далеко за пределами моей компетенции. Но у нас есть Shocker.Pro!
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38620820
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv, ну тоже не плохо по сабжу, предположим, что в текстовике
ID,Name,Price
1,"Chairs",$40.00
2,"Table",$75.00
3,"Fork",$1.50
4,"Lamp",$15.00
5,"Rug",$35.00
тогда упор на
есть ли у кого хороший пример? и полный, как запросить столбец, строку, спасибо заранее
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38621049
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаzchvv, ну тоже не плохо по сабжу, предположим, что в текстовике
ID,Name,Price
1,"Chairs",$40.00
2,"Table",$75.00
3,"Fork",$1.50
4,"Lamp",$15.00
5,"Rug",$35.00
тогда упор на
есть ли у кого хороший пример? и полный, как запросить столбец, строку, спасибо заранее

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Public Sub test()
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    
    Set cn = New ADODB.Connection
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\111\;Extended Properties=""text;HDR=YES;FMT=Delimited"""
    
    cn.Open
        
    Set rs = New ADODB.Recordset
    rs.Open "select * from [qqq#txt]", cn

'Это просто пример обращений    к столбцам выборки. Вы можете так же менять сам запрос и тем самым получать "как запросить столбец, строку"
    Debug.Print rs.Fields("ID").Value
    Debug.Print rs.Fields("Name").Value
    Debug.Print rs.Fields("Price").Value
    
    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing
End Sub
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38622086
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKot, спасибо
важное дополнение
'нужно подключить библиотеку Microsoft ActiveX Data Object 2.x Library
а с этой строкой не совладал
Код: vbnet
1.
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=J:\111.txt\;Extended Properties=""text;HDR=YES;FMT=Delimited"""


я видимо не правильно указал место нахождения файла
Source=J:\111.txt\ - как нужно?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38622153
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я понял, что первоисточник здесь
http://www.connectionstrings.com/textfile/
как это
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\;
Extended Properties="text;HDR=Yes;FMT=Delimited";
привести в божеский вид хз
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38622488
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаHandKot, спасибо
важное дополнение
'нужно подключить библиотеку Microsoft ActiveX Data Object 2.x Library
а с этой строкой не совладал
Код: vbnet
1.
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=J:\111.txt\;Extended Properties=""text;HDR=YES;FMT=Delimited"""


я видимо не правильно указал место нахождения файла
Source=J:\111.txt\ - как нужно?

нужно указывать только директорию, где хранится файл, а не сам файл
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38622811
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKot,
упирается сегодня нечётное, и выделяет часть строки cn As ADODB.Connection
нужно указывать только директорию, где хранится файл, а не сам файл - а с какого файла он будет опрашивать ?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38622923
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
иногда надо подключать мозги иначе они могут покрыться плесенью
катастрофаупирается сегодня нечётное, и выделяет часть строки cn As ADODB.Connection

библиотека Microsoft ActiveX Data Object 2.x Library все еще подключена?

катастрофаHandKot,
нужно указывать только директорию, где хранится файл, а не сам файл - а с какого файла он будет опрашивать ?
директория - это База Данных. Файлы внутри неё - таблицы. К какой таблице обращаетесь определяется в запросе (секция FROM)
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38622959
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKot,
библиотека Microsoft ActiveX Data Object 2.x Library все еще подключена? - да!!!
К какой таблице обращаетесь определяется в запросе (секция FROM) - from [qqq#txt] - и что это значит ?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38623429
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаК какой таблице обращаетесь определяется в запросе (секция FROM) - from [qqq#txt] - и что это значит ?
файл назывался qqq.txt, почему точка заменилась на #, сказать не могу

по первой строке, тогда, надо смотреть код целиком
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38623482
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKot,
после полудня продвинулось
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Option Explicit

Public Sub test()

'Connection - соединение с базой даннных
'Command - команда DML
'Recordset - набор записей
'Stream - поток двоичных или текстовых данных
'Record -Запись
'нужно подключить библиотеку Microsoft ActiveX Data Object 2.x Library

    Dim cn As ADODB.Connection
    Set cn = New ADODB.Connection
    '"e:\" -  директория, где хранится файл
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=w:\;Extended Properties=""text;HDR=YES;FMT=Delimited"""
    'открыть соединение с базой даннных
    cn.Open
    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset
    'имя файла к которому идёт обращение "С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы"
    rs.Open "select * from [С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы#txt]", cn
    'пример обращений к столбцам выборки, можно менять сам запрос и тем самым получать столбец, строку
    Debug.Print rs.Fields("ID").Value
    Debug.Print rs.Fields("Name").Value
    Debug.Print rs.Fields("Price").Value

    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing

End Sub


но на строке
Debug.Print rs.Fields("ID").Value
получаю
Не удаётся найти объект в семействе, соответствующий требуемому имени или порядковому номеру
вроде всё понятно, что ничего не понятно
в файле w:\С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы.txt
имеется
ID,Name,Price
1,Chairs,$40.00
2,Table,$75.00
3,Fork,$1.50
4,Lamp,$15.00
5,Rug,$35.00
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38623494
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38623553
AlexShiryaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
катастрофа,

После открытия рекордсета попробуй выполнить rs.Next() (точно не помню, но по-моему так звучит).
А то ты открыл рекордсет, а на какой строке курсор не понятно.
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38623571
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexShiryaevкатастрофа,

После открытия рекордсета попробуй выполнить rs.Next() (точно не помню, но по-моему так звучит).
А то ты открыл рекордсет, а на какой строке курсор не понятно.
всю строку красным выделяет
>потому что у тебя CSV
это как Вы определили? и как сделать в текстовый?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38623664
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One http://msdn.microsoft.com/en-us/library/ms709353(v=vs.85).aspx

потому что у тебя CSV

это здесь указано:
CSV с разделителями
Поля в файле разделенных запятыми (значения, разделенные запятыми).
Формат = CSVDelimited
???
формат у меня не CSVDelimited, а Delimited
ну да в файле у меня разделено запятыми
а как правильно? кто-то может сказать?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38623875
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофа
AlexShiryaevкатастрофа,

После открытия рекордсета попробуй выполнить rs.Next() (точно не помню, но по-моему так звучит).
А то ты открыл рекордсет, а на какой строке курсор не понятно.

всю строку красным выделяет
>потому что у тебя CSV
это как Вы определили? и как сделать в текстовый?

Исходя из этого можно понять как определяется CSV и почему второй вопрос отпадет сам собой.
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38623903
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidy,
и как быть?
1 менять расширение текстового файла на CSV?
2 менять разделители в этом файле? на что?
3 менять строки в коде? на что?
что-то четвёртое......
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38623930
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаiMrTidy,
и как быть?
1 менять расширение текстового файла на CSV?
2 менять разделители в этом файле? на что?
3 менять строки в коде? на что?
что-то четвёртое......

если бы Вы удосужились почитать немного о строке подключения к текстовым файлам, а не просто открыть сайт
катастрофая понял, что первоисточник здесь
http://www.connectionstrings.com/textfile/
то там нашли бы и про разделитель и про shema.ini (первый два абзаца Delimited columns и Fixed length columns) и ...что-то четвертое
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38623938
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKot,
сделал, для себя, чтобы не забыть

текст файла w:\С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы.txt, разделить ";"
ID;Name;Price
1;Chairs;$40.00
2;Table;$75.00
3;Fork;$1.50
4;Lamp;$15.00
5;Rug;$35.00

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Option Explicit

Public Sub test()

'Connection - соединение с базой данных
'Command - команда DML
'Recordset - набор записей
'Stream - поток двоичных или текстовых данных
'Record -Запись
'нужно подключить библиотеку Microsoft ActiveX Data Object 2.x Library

    Dim cn As ADODB.Connection
    Set cn = New ADODB.Connection
    '"e:\" -  директория, где хранится файл
    'HDR = YES указывает, что первая строка содержит columnnames, а не данные, HDR = NO; свидетельствует об обратном
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=w:\;Extended Properties=""text;HDR=YES;FMT=Delimited"""
    'открыть соединение с базой данных
    cn.Open
    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset
    'имя файла к которому идёт обращение "С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы"
    rs.Open "select * from [С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы#txt]", cn
    'пример обращений к столбцам выборки, можно менять сам запрос и тем самым получать столбец, строку
    Debug.Print rs.Fields("ID").Value
    Debug.Print rs.Fields("Name").Value
    Debug.Print rs.Fields("Price").Value

    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing

End Sub



закончилось, всем спасибо
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38624074
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего не закончилось. Теперь нужно хорошо разобраться с объектом Recordset. Debug.Print rs.Fields("ID").Value явно недостаточно для продуктивной работы.
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38624218
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvvНичего не закончилось. Теперь нужно хорошо разобраться с объектом Recordset. Debug.Print rs.Fields("ID").Value явно недостаточно для продуктивной работы.
поддерживаю. Всё только началось
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38624221
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvvНичего не закончилось. Теперь нужно хорошо разобраться с объектом Recordset. Debug.Print rs.Fields("ID").Value явно недостаточно для продуктивной работы.
я же не против
rs.Fields("ID").Value - я понимаю так - значение поля с идентификатором "ID"
как взяло первую строку хз
подскажете в лоб или ссыль?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38624463
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаили ссыль?
ссыль
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38625007
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
rs.MoveFirst
For j=1 To rs.Fields.Count
  ws.Cells(1,j).Value=rs.Fields(j-1).Name
Next j
'Вывели заголовки
'Теперь выведем строки:
k=2
Do Until rs.EOF
  ws.Cells(k,1).Value=rs.Fields("ID").Value
  ws.Cells(k,2).Value=rs.Fields("Name").Value
  ws.Cells(k,3).Value=rs.Fields("Price").Value
  k=k+1
  rs.MoveNext
Loop
'Если забыть про rs.MoveNext, получится неприятная ситуация.
'Строки выводить лучше так:
ws.Cells(2,1).CopyFromRecordset rs



Желаю удачи.
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38625041
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv, ради христа дополните
Dim ws As
Set ws =
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38625062
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim ws As Worksheet
Set ws =Thisworkbook.Worksheets.Add
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38625064
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv,
это не эксель а тестовый файл
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38625069
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тестовый файл может быть TXT, CSV, DBF, XLSX и других форматов. Я показываю, как результат запроса выгрузить на лист Excel'я.
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38625076
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv,
с экселем я уже запасся примером, интересует txt
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38625104
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
указанное ниже истина?
Код: vbnet
1.
2.
 'выбрать поля [ID] и [Name] из диапазона, то есть 1 й и 2 й столбец с файла к которому идёт обращение "С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы"
    rs.Open "select [ID],[Name] from [С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы#txt]", cn


как вывести ответ?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38625166
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофауказанное ниже истина?
Код: vbnet
1.
2.
 'выбрать поля [ID] и [Name] из диапазона, то есть 1 й и 2 й столбец с файла к которому идёт обращение "С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы"
    rs.Open "select [ID],[Name] from [С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы#txt]", cn


как вывести ответ?

Почему не подходит 15931179 ?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38625286
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidy,

потому, что 15931571
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38625512
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофа,
тут ещё напасть
для своих проверок пробую вывод такой
Код: vbnet
1.
2.
3.
Debug.Print "[" & rs.Fields("ID").Value & "]"
    Debug.Print "[" & rs.Fields("Name").Value & "]"
    Debug.Print "[" & rs.Fields("Price").Value & "]"



и в файле специально сделал
ID;Name;Price;
1;Chairs ;$40.00 ;
но выводит
почему? я ведь не trim'ил? почему пробелы в конце данных деваются?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38625513
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри, но выводит
[1]
[Chairs]
[$40.00]
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38625516
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
читай дальше про schema.ini и фиксированный формат с определением типов колонок
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38625548
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,
ну да я его обходил стороной, а сейчас как я понял
в каталоге, например "e:\" - директория, где хранится файл
должен быть файл с именем
Schema.ini и его задача дать нужную инфу проге, так?
(сам придумал)
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38625571
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"на верном пути ты, мой падаван" (йода из далёкой--далёкой галактики)(с)
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626065
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,
опробовал, файл Schema.ini, его содержание
[С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы.txt]
Format=CSVDelimited
ColNameHeader=True
n=ColumnNametype [Text]
CharacterSet=ANSI
файл С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы.txt, его содержание
ID.Name.Price.
1,Chairs,$40.00,
2,Table,$75.00,
3,Fork,$1.50,
4,Lamp,$15.00,
5,Rug,$35.00,
на строке
rs.Open "select * from [С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы#txt]", cn
напоролся на мессагу
Разделитель полей, указанный в спецификации текстового файла совпадает с разделителями целой и дробной частей чисел или ограничителем текстовых полей
Одно лечим, другое калечим...
когда ещё точно не знаешь как надо
подскажите пжл как нужно
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626073
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разделители настраиваются в настрйках ОС
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626207
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One, ну туда я точно не хочу лезть, но я думал, что
'вторая запись в Schema.ini - формат файла, поля в файле разделены запятыми (значения, разделённые запятыми) - Format=CSVDelimited
я так и поставил в этом файле
что не правильно думал?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626216
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
йолки палки, вернул, сделал тот же разделитель ;
нарываюсь на туже мессагу....
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626323
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаiMrTidy,

потому, что 15931571

Не вижу логики, да Вы сами посмотрите:
катастрофаzchvv, ради христа дополните
Dim ws As
Set ws =

zchvvDim ws As Worksheet
Set ws =Thisworkbook.Worksheets.Add
катастрофаzchvv,
это не эксель а тестовый файл
zchvvТестовый файл может быть TXT, CSV, DBF, XLSX и других форматов. Я показываю, как результат запроса выгрузить на лист Excel'я.
катастрофаzchvv,
с экселем я уже запасся примером, интересует txt
Вам уже дали пример как данные можно выгрузить в Excel как перебором, так и встроенным методом. Куда Вам нужно выгрузить данные и для какой цели? Может быть ADODB не самый лучший вариант в рамках Вашей задачи.

Вот простейший пример. Рекомендую так же ознакомиться с этим .
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626351
guest12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофайолки палки, вернул, сделал тот же разделитель ;
нарываюсь на туже мессагу....
Нужно так:
Format=Delimited(;)
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626389
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest12345,
спасибо всем, все примеры я гляну
а пока в файле С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы.txt текст
ID;Name;Price;
1 ;Chairs ;$40.00 ;
2;Table;$75.00;
3;Fork;$1.50;
4;Lamp;$15.00;
5;Rug;$35.00;
в файле Schema.ini текст
[С_помощью_ADO_и_SQL_опрашивать_текстовые_файлы.txt]
Format=Delimited(;)
ColNameHeader=True
n=ColumnNametype [Text]
CharacterSet=ANSI
в интермедии
[1]
[Chairs]
[$40.00]
а я добиваюсь
[1 ]
[Chairs ]
[$40.00 ]
как это получить?

и всё же для меня Экселекский файл не есть текстовый....
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626392
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidy, спасибо
посмотрел Ваш Schema.ini
я правильно понял что как и в ВБА 'далее после апострофа это коммент?
но ведь в интермедии
которая щас увидел переводится как Немедленно также триммит
как добиться правильного отображения в файле
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626474
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One: разделители настраиваются в настрйках ОС

HKEY_LOCAL_MASHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Text
Здесь смотри Format значение Delimited()
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626502
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvvKonst_One: разделители настраиваются в настрйках ОС

HKEY_LOCAL_MASHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Text
Здесь смотри Format значение Delimited()
посмотрел там в реестре у меня стоит ;, и?
как добиться значений без трима?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626518
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаiMrTidy, спасибо
посмотрел Ваш Schema.ini
я правильно понял что как и в ВБА 'далее после апострофа это коммент?
но ведь в интермедии
которая щас увидел переводится как Немедленно также триммит
как добиться правильного отображения в файле

Нет, Вы поняли неправильно.
Intermedia - это связующее звено, посредник и к Immediate Window не имеет никакого отношения.
Отображается все правильно, хвостовые пробелы при импорте из CSV будут всегда обрезаться.
Почему Вы не отвечаете на вопросы, которые Вам задают? Какую задачу Вы пытаетесь решить?

Ваш русский сложно понять. Это не Ваш родной язык?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626543
guest12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофав интермедии
[1]
[Chairs]
[$40.00]
а я добиваюсь
[1 ]
[Chairs ]
[$40.00 ]
как это получить?

В этом случае нужно значения записывать в файл в двойных кавычках:
"1 ";"Chairs ";"$40.00 ";

Можно использовать и какой-то свой разделитель, указав его в соответствующем параметре schema.ini
'1 ';'Chairs ';'$40.00 ';
TextDelimiter='
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626558
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidy,
Ваш русский сложно понять. Это не Ваш родной язык? - нет не родной
Какую задачу Вы пытаетесь решить? - 1. знакомство с незнакомым
2. имеется текстовый файл, 100 000 строк, вроде этого
абонирую, абонирует, 1, ет
разделитель запятая
задача - много проверок
подзадача
чтобы чётко было
данные, запятая пробел и т.д.
за 1-2 секунды это сделает?

>В этом случае нужно значения записывать в файл в двойных кавычках:
>"1 ";"Chairs ";"$40.00 ";
Овчинка выделки не стоит, ещё следить, чтобы двойные кавычки правильно стояли

>Можно использовать и какой-то свой разделитель, указав его в соответствующем параметре schema.ini
>'1 ';'Chairs ';'$40.00 ';
>TextDelimiter='

ну зачем так указано у Вас разделитель ; и в то же время апостроф - вот и и гадай
раньше же сказали Format=Delimited(;), а Вы мне говорите TextDelimiter=', ну тогда хоть бы Format=Delimited(') - вот и и гадай
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626581
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофаiMrTidy,
Ваш русский сложно понять. Это не Ваш родной язык? - нет не родной
Какую задачу Вы пытаетесь решить? - 1. знакомство с незнакомым
2. имеется текстовый файл, 100 000 строк, вроде этого
абонирую, абонирует, 1, ет
разделитель запятая
задача - много проверок
подзадача
чтобы чётко было
данные, запятая пробел и т.д.
за 1-2 секунды это сделает?

>В этом случае нужно значения записывать в файл в двойных кавычках:
>"1 ";"Chairs ";"$40.00 ";
Овчинка выделки не стоит, ещё следить, чтобы двойные кавычки правильно стояли

>Можно использовать и какой-то свой разделитель, указав его в соответствующем параметре schema.ini
>'1 ';'Chairs ';'$40.00 ';
>TextDelimiter='

ну зачем так указано у Вас разделитель ; и в то же время апостроф - вот и и гадай
раньше же сказали Format=Delimited(;), а Вы мне говорите TextDelimiter=', ну тогда хоть бы Format=Delimited(') - вот и и гадай


Тогда можете считать, что Вы познакомились с незнакомым. Но задачи все же лучше решать по мере их поступления. Что касается самообразования, то сначала следует почитать руководства, пособия или книгу на интересующую тему, а потом уже обращаться за помощью. Что касается коммуникации, то важно владеть языком на уровне, который позволит другим носителям языка Вас понимать.
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626586
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidy, извините, Вы не сказали, справится с описанной задачей за 1-2 секунды?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626607
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidyОтвечая на ваш запрос: автор топика неизлечим. Советовать ему читать литературу, пытаться чему-то научить, что-то объяснять абсолютно бесполезно, он не будет ничего читать, не будет пытаться понять ваши примеры, разобраться, как что-то работает. За четыре года на форуме он не научился отличать один тип данных от другого.
Он не успокоится, пока вы не решите его задачу так, чтобы она работала "из коробки", не пытаясь разобраться в сути решения. Так что в вашей воле, либо продолжать общение до бесконечности, либо прекратить его.

катастрофазнакомство с незнакомым
Анекдот вспомнился....

Что делать, если вы пришли домой и обнаружили, что в вашей ванной моется незнакомый мужчина?

1. Убедитесь, что это ваша ванная;

2. Убедитесь, что мужчина незнакомый;

3. Познакомьтесь с ним. Теперь у вас в ванной моется знакомый мужчина!
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626660
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Спасибо за информацию! Раз такие обстоятельства, то я снимаю шляпу и откланиваюсь. Автору топика желаю удачи!
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626711
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хоть и овчинка выделки не стоит, решил опробовать
ID;Name;Price;
"1 ";"Chairs ";"$40.00 ";
2;Table;$75.00;
3;Fork;$1.50;
4;Lamp;$15.00;
5;Rug;$35.00;
получил
всё тоже самое
[1]
[Chairs]
[$40.00]
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38626766
***
Высокой страсти не имея
Для звуков жизни не щадить,
Не мог он ямба от хорея,
Как мы ни бились, отличить.
Бранил Гомера, Феокрита;
Зато читал Адама Смита
***
- А.С. Пушкин "Евгений Онегин"
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38631552
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на злобу дня, время не терял.... не секрет, что меня много где знают, но ответов
тут http://www.cyberforum.ru/vba/thread1161815.html не знают
тут http://www.programmersforum.ru/showthread.php?t=259783 не знают
на Сикуле всё знают, но не говорят ответ, ребят может скажете как добиться правильного вывода?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38637352
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здравствуйте, с днём победы!!!, светлый праздник
подскажите пожалуйста, я правильно понял в строке выборки
Код: vbnet
1.
rs.Open "Select F1 From [text1.txt]   Where F1 Like '% %'", cn, adOpenStatic, adLockReadOnly


'% %', что это речь идёт о пробеле, в коде экранирование знаками процента идёт, да?
а это два пробела '% %'", а как будет два пробела и более?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38637477
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
% - заменяет любое количество любых символов, пробелов chr(32) в том числе.
Т.о., под условие F1 Like '% %' попадают все строки, в которых в поле F1 есть ХОТЯ БЫ один пробел.
Like'ом, я полагаю, задачу не решить.
Хочу также сказать, что эта проблема с пробелами всем участникам обсуждения представляется надуманной, поэтому люди перестали реагировать. Я за несколько лет пользования SQL ни разу не заморачивался этой темой. А Вы уперлись в нее сразу же, только начав. Здесь явно что-то нечисто.
Желаю успехов в изучении SQL!
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38637494
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv,
да я понял, что проблема с пробелами надуманная, поэтому строки, вида:
взмигиваем, взмигивают, 2, ют
для простоты изменил, на:
взмигиваем,взмигивают,2,ют;
то есть имеем 4 слова
1 слово - взмигиваем
2 слово - взмигивают
3 слово - 2
4 слово - ют
и тогда одним махом в файле из 100 000 подобных строк
условие которое я делаю построчно
Код: vbnet
1.
If Left$(Первое_слово, (Len(Первое_слово) - Третье_слово)) & Четвёртое_слово <> Второе_слово Then


сможем найти?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38637595
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select * from ..... where Left(f1,Len(f1)-Val(f3)) & f4<>f2

SQL тоже работает построчно.
Мы можем об этом не думать, так как он задумывался как сверхдружественный для пользователей.
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38637600
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv, нифига себе, стоит изучать до умопомрачения, спасибо!!!!!!!!
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38637918
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аж грустно стало, вроде разобрался
прошло немного времени для вопроса
определять в каком-то из столбцов данных наличие орфографической ошибки можно?
как?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38637926
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и ещё есть какая либо возможность
проверять на повторяемость данных?, количество повторений?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38637984
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По второму вопросу:
select f2,count(f2) as kolichestvo from ... group by f2 having count(f2)>1
Результат:
f2 kolichestvo
znach1 12
znach2 2
и т.д.
По первому вопросу:
MS Word делает это. Значит, можно. Но нужно организовать инфраструктуру.
Вас опять заносит куда-то...
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38651234
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здравствуйте и ещё вопрос назрел
как узнать самую наибольшую длину данных в первом столбце
узнать что столбцов в строке менее 2, более 4?
...
Рейтинг: 0 / 0
с помощью ADO + SQL опрашивать текстовые файлы
    #38651270
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. select max(len(f1)) as maxlen from test.txt - примерно так
2. rs.fields.count - количество столбцов
...
Рейтинг: 0 / 0
71 сообщений из 71, показаны все 3 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / с помощью ADO + SQL опрашивать текстовые файлы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]