|
импорт из .txt
|
|||
---|---|---|---|
#18+
Необходимо импортировать файлы, имеющие txt формат в таблицу базы. Тупо изменение расширения ничего не даёт. Что можно сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 13:14 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
http://computerplus.com.ua/Krivtsov.htm Скачайте и прочитайте док-файл "Access и текстовые файлы" ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 13:17 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
Примеры импорта: Создание таблицы (поля - выборочно) из C:\Файл.txt (заголовок указан в спецификации): sCnn2="[Text;DSN=Спецификация импорта;IMEX=2;HDR=No]" "SELECT Поле1, Поле10 INTO Таблица FROM Файл#txt IN 'C:\'" & sCnn2 Пополнение таблицы (поля - выборочно) из C:\Файл.txt (заголовок указывается здесь): sCnn3="[Text;DSN=Спецификация экспорта;IMEX=2;HDR=Yes]" "INSERT INTO Таблица SELECT Поле1,Поле10 FROM Файл#txt IN 'C:\'" & sCnn3 из этого документа. В моём случае таблица для импорта уже есть Пробую: Код: plaintext 1. 2. 3. 4. 5. 6.
Ошибка синтаксиса в выражении From. В чём здесь косяк? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 15:14 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
точнее: sCnn1 = "[Text;DSN=acImportDelim;IMEX=1;HDR=Yes]" SQL = "Insert into [f103]" _ & " Select *,'" & oFile.name _ & "' AS fileName,'" & sMailType & "' AS MailType,'" _ & sMailCtg & "' AS MailCtg, " & nListNum & " AS ListNum, " & sSendDate & " AS SendDate from " & oFile.name _ & " IN " & sFolderPath & " " & sCnn1 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 15:18 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
the_sid, распечатайте (debug.print SQL) переменную SQL и покажите ее здесь ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 15:22 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
вот: Insert into [f103] Select *,'102172.txt' AS fileName,'4' AS MailType,'4' AS MailCtg, 2 AS ListNum, 20110217 AS SendDate from 102172.txt IN C:\Documents and Settings\the_sid\Рабочий стол\Резерв\Новая папка\f103\ [Text;DSN=acImportDelim;IMEX=1;HDR=Yes] ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 15:34 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
the_sidвот: Insert into [f103] Select *,'102172.txt' AS fileName,'4' AS MailType,'4' AS MailCtg, 2 AS ListNum, 20110217 AS SendDate from 102172.txt IN C:\Documents and Settings\the_sid\Рабочий стол\Резерв\Новая папка\f103\ [Text;DSN=acImportDelim;IMEX=1;HDR=Yes] точка стоит в имени файла и апострофов вокруг пути - нет ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 15:37 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
the_sid, распечатайте весь модуь Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 15:45 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, кавычки Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 15:51 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, уголков конечно не надр ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 15:52 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
поправил, теперь ругается: Файл "не может быть открыт ядром базы Microsoft Jet".Файл уже открыт другим пользователем для монопольного доступа или требуется разрешение на просмотр данных ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 15:54 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
the_sidпоправил, теперь ругается: Файл "не может быть открыт ядром базы Microsoft Jet".Файл уже открыт другим пользователем для монопольного доступа или требуется разрешение на просмотр данных ну так закрой его ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 15:59 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
я его и не открывал ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 16:01 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
the_sidвот: Insert into [f103] Select *,'102172.txt' AS fileName,'4' AS MailType,'4' AS MailCtg, 2 AS ListNum, 20110217 AS SendDate from 102172.txt IN C:\Documents and Settings\the_sid\Рабочий стол\Резерв\Новая папка\f103\ [Text;DSN=acImportDelim;IMEX=1;HDR=Yes] Вместо from 102172.txt надо from 102172#txt или from [102172.txt] Про апостофы вокруг пути вам сказали. И что такое DSN=acImportDelim? Должно быть DSN=ИмяСпецификации, а acImportDelim - это из другой оперы (DoCmd.TransferText). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 16:01 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )the_sidвот: Insert into [f103] Select *,'102172.txt' AS fileName,'4' AS MailType,'4' AS MailCtg, 2 AS ListNum, 20110217 AS SendDate from 102172.txt IN C:\Documents and Settings\the_sid\Рабочий стол\Резерв\Новая папка\f103\ [Text;DSN=acImportDelim;IMEX=1;HDR=Yes] Вместо from 102172.txt надо from 102172#txt или from [102172.txt] Про апостофы вокруг пути вам сказали. И что такое DSN=acImportDelim? Должно быть DSN=ИмяСпецификации, а acImportDelim - это из другой оперы (DoCmd.TransferText). поправил, далее ругается: Инструкция Insert содержит неизвестное имя поля 'Barcode|Mass|MassRate|Payment|Value|InsrRate|AirRate|IndexTo|Region|Area|City|MailDirect|AlterDeliv|TelAddress' Поле это является первой строкой импортируемого файла, который имеет вид: Barcode|Mass|MassRate|Payment|Value|InsrRate|AirRate|IndexTo|Region|Area|City|MailDirect|AlterDeliv|TelAddress 14080835548147|1480|14160|0|89800|3592|0|196240|‘ЂЌЉ’-Џ…’…ђЃ“ђѓ||‘ЂЌЉ’-Џ…’…ђЃ“ђѓ|643|0| 14080835548154|1550|14630|0|99800|3992|0|117485|||ЊЋ‘Љ‚Ђ|643|0| 14080835548161|1550|17170|0|99800|3992|0|662971|ЉђЂ‘ЌЋџђ‘Љ€‰ Љђ.||†…‹…‡ЌЋѓЋђ‘Љ|643|0| 14080835548178|1550|15210|0|99800|3992|0|355000|‘’Ђ‚ђЋЏЋ‹њ‘Љ€‰ Љђ.||‘’Ђ‚ђЋЏЋ‹њ|643|0| 14080835548185|1550|15210|0|99800|3992|0|194223|||‘ЂЌЉ’-Џ…’…ђЃ“ђѓ|643|0| .......... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 16:11 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
неужели вручную придётся закидывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 16:18 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
the_sidпоправил, далее ругается: "Поправил"==создал сиситемный/пользоветельский DSN и указал его в парамтерах подключения для запроса ? Если да, - то поправить в этом DSN параметр "Разделитель". ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 16:26 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
СавсемГостьthe_sidпоправил, далее ругается: "Поправил"==создал сиситемный/пользоветельский DSN и указал его в парамтерах подключения для запроса ? Если да, - то поправить в этом DSN параметр "Разделитель". "поправил" - просто не указал этот параметр. Сейчас создал системный DSN с именем "MyDSN" Прописываю так "[Text;DSN=MyDSN;IMEX=1;HDR=Yes]" Пишет что не знает такой спецификации ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 16:49 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
the_sid, Код: plaintext 1. 2. 3. 4. 5. 6.
в папке sFolderPath создать текстовый файл с именем schema.ini следующего содержания Код: plaintext 1. 2. 3.
В примере указана кодировка ANSI. Вам надо указать ту, в которой сохранен Ваш файл, иначе получите кракозябры, как в Вашем посте PS: если файлов для импорта несколько, - schema.ini заполнять программно перед импортом. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 16:50 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
большое спасибо, заработало. Только проблемка перед импортом выскакивает предупреждения о том сколько записей добавить. У меня не один файл импортируется, так что это беда. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 17:05 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
Попробуйте віполнить импорт вручную (через меню). При этом вам будет предложено настроить спецификацию, в которой нужно (кроме всего прочего) указать разделитель полей "|". Сохраните ее под каким-то именем и в дальнейшем указывайте его в команде DoCmd.TransferText или в строке подключения запроса (DSN=ИмяСпецификации). СавсемГость, вы путаете DSN для ODBC драйвера и DSN в Access в строке подключения к текстовому файлу. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 17:05 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
the_sidбольшое спасибо, заработало. Только проблемка перед импортом выскакивает предупреждения о том сколько записей добавить. У меня не один файл импортируется, так что это беда. Видимо вы используете метод DoCmd.RunSQL. Вместо него выполняйте CurrentDB.Execute. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 17:15 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )СавсемГость, вы путаете DSN для ODBC...Действительно. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 17:15 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )Попробуйте віполнить импорт вручную (через меню). При этом вам будет предложено настроить спецификацию, в которой нужно (кроме всего прочего) указать разделитель полей "|". Сохраните ее под каким-то именем и в дальнейшем указывайте его в команде DoCmd.TransferText или в строке подключения запроса (DSN=ИмяСпецификации). СавсемГость, вы путаете DSN для ODBC драйвера и DSN в Access в строке подключения к текстовому файлу. Попробовал сохранить спецификацию. Проприсал её имя. Но ругается что не знает такой. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 17:42 |
|
импорт из .txt
|
|||
---|---|---|---|
#18+
the_sid, тоже пробовал "поиграться" со спецификацией импорта. Похоже, Акцесс не просматривает сохраненные спецификации импорта при таком формате запроса Код: plaintext
Вместо того, чтобы для каждого импортируемого файла создавать раздел Код: plaintext 1.
Код: plaintext
Можно для группы файлов со сходными параметрами (кодировка, наличие строки с именами полей, разделитель) создать одну спецификацию и указывать её в строке подключения, например: Код: plaintext 1. 2. 3. 4. 5. 6.
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2011, 18:45 |
|
|
start [/forum/topic.php?fid=45&msg=37224703&tid=1610050]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
others: | 295ms |
total: | 437ms |
0 / 0 |