|
|
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
Всем привет. Access'2000 *.mdb Столкнулся с такой проблемой: Экспортирую содержимое таблицы в текстовый файл. В этой таблице есть поле, которое имеет тип "С плавающей точкой (4 байт)". В текстовый файл выгружается все правильно! Потом я импортирую этот текстовый файл в копию первой таблицы с другим именем и получаю в поле "С плавающей точкой (4 байт)" какой-то бред. Например: если в поле было "12", то в текстовом файле "12,00", а после импорта получаю "0,5". Если было "19", то после експорта/импорта получаю "0,7916667". В таблице есть числа "29" и "45", так при импорте Access вообще ругается: "Ошибки импотра" - говорит и в таблице пустые строчки. Для импорта и экспорта использую DoCmd.TransferText с разделителями (;). Может кто сталкивался с таким. Поможите... а? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2004, 15:14 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
В спецификации импорта и в таблице тип этого поля совпадает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2004, 15:17 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
12,00 = 0,5 Такое осчусчение, что Импорт ваше поле за время принял Может ему стоит тип поля более конкретно указывать? (при Импрорте) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2004, 15:18 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
Что интересно, если импортировать при помощи мастера, то все получается. ВС: в хелпе написано, что если использовать експорт/импорт с разделителем, то спецификацию можно не указывать, вот я и не указываю. paparome: автор Может ему стоит тип поля более конкретно указывать? (при Импрорте) А как это сделать? Я пишу: Код: plaintext Может я где-то напортачил. Ведь в 97 Accesse все это работало нормально... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2004, 15:25 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
авторВС: в хелпе написано, что если использовать експорт/импорт с разделителем, то спецификацию можно не указывать, вот я и не указываю. А вот и зря... :)) Создайте спецификацию и укажите ее имя в DoCmd.TransferText Может лучше отказаться от TransferText и выполнять импорт процедурой, используя Open#, LineInput# ..., или библиотеку FSO? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2004, 16:57 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
Действительно. Если выгружать пустой файл, то Access создает файл "export.ini". В нем прописываются типы полей таблицы. С этим файлом все импортируется правильно. Но этот файл создается автоматически только если таблица пустая. Так вот, как сказал Владимир Саныч: "...извените за глупый вопрос...". Подскажите, как создается спецификация, где она хранится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 09:32 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
Хранится в таблицах MSysIMEXSpecs MSysIMEXColumns Создается - при начале импорта у мастера ниже есть кнопочка "Дополнительно" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 09:42 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
To Alexander G: Прошу пояснить: Если я один раз при помощи мастера создам спецификацию, то эта спецификация там так и останется? Если нет, то каким образом ее програмно создавать? Дело а том, что я при импорте\експорте мастер не использую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 09:49 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
Если там, где "Дополнительно" нажать - Сохранить как, то она будет сохранена в упомянутых таблицах и ее можно использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 09:57 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
Как я уже понял, то скорее всего спецификация остается. И закачивается все правильно. Большое всем спасибо за помощь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 09:58 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
Товарищи модераторы -:)) Может имеет смысл поместить содежимое сего топика в FAQ. А то в Help'e написано одно, а в жизни вон оно как... не сразу и догадаешься... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 10:03 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
Dafкак сказал Владимир Саныч: "...извените за глупый вопрос..." Я никогда не говорю "извените". :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 13:06 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
Саныч прости... не правильно процетировал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 13:12 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
:^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 13:16 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
Благодаря спецификации мне удалось "проще" решить проблему кодировки выгружаемых данных. Т.е. Access 97 выгружает данные в текстовый файл в кодировке 866, а Access'2000 и 'XP выгружают в 1251 и соответственно пытаются загрузить в своей кодировке. Чтобы этими файлами можно было пользоваться и в 97 и 2000 и XP я использую кодировку 866, т.к. в 97 нельзя задавать кодировку импортируемых\экспортируемых файлов. Приходилось для Access'2000 и XP писать свои куски программы. А если использовать спецификацию, то код остается один для всех версий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 16:17 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
Походу возник еще один вопрос. Если я гружу данные из файла в таблицу, где есть поле "ID" c типом "Счетчик", то появляется таблица "xxx_ImportErrors". В текстовом файле этого поля нет (это же счетчик). В таблицу "xxx_ImportErrors" он фигачит записи о том, что у меня поля "ID" -"Null value in an auto-number field", но в таблице, куда я импортирую файл счетчик исправно работает, т.е. все ОК. Вопрос: как избежать появления таблицы "xxx_ImportErrors". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2004, 16:25 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
Немного поясню. До применения спецификации таблица с ошибками импорта не появлялась, а сейчас появляется. Можно как нибудь это обойти? Каждый раз после импорта не хотелось бы удалять эти таблицы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2004, 10:03 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
Вопрос решил. Я создал спецификацию экспорта и использовал ее для импорта и экспорта. В спецификацию экспорта заносятся данные о полях. Одно из полей было "счетчик", а текстовом файле такого поля естественно нет. Для импорта нужно создавать спецификацию импорта с того файла, который импортируешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2004, 10:35 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
Да. Телепаты медленно соображали... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2004, 12:35 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
:-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2004, 12:52 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
Решил отдельно сделать спецификации для експорта/импорта и столкнулся с проблемой. При экспорте одной из таблиц через запрос: Код: plaintext Появляется сообшние об ошибке '3438'. Получается, что типы даных, который выводит запрос, не совпадают с типом данных, указаных в спецификации? Так что ли? И где находится этот файл Schema.ini? У меня такого на диске компьютера нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 10:07 |
|
||
|
Преобразование строки при импорте...
|
|||
|---|---|---|---|
|
#18+
1. Похоже не совпадают 2.Не надо верить этому. Нету этого файла. Ассеss хранит спецификации в системных таблицах. Schema.ini для программ на VB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2004, 10:51 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32528404&tid=1674360]: |
0ms |
get settings: |
12ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 496ms |

| 0 / 0 |
