|
|
|
Изменение типа поля на нужное в процессе импорта
|
|||
|---|---|---|---|
|
#18+
Искал по форуму, но как-то все не то, что нужно. Что делается: Импортируется excel док в таблицу. В таблице Access есть поле №Накладной (тип текстовый). В таблице Excel есть поле №Накладной, в котором все данные могут быть разными. Если первым в Excel идет накладная с номером "1234", то при импорте (TransferSpread...) Access, глядя на данные в столбце №Накладной, присваивает тип поля - числовой. Таким образом, идущие ниже данные, отличные от подобного типа, в таблицу не импортируются. пример: первым идет № типа: 12345, следующим- ФГ-34/56. Как сделать так, чтобы еще в процессе обработки (импорта) тип импортируемого поля определялся как текстовый, независимо от того, что идет первым, и таким макаром и вносился в таблицу Access? Можно, конечно, в исходной таблице всегда иметь первой записью что-то вроде АПП-454/66, но наверное существует и другой вариант? Всем заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2003, 16:04 |
|
||
|
Изменение типа поля на нужное в процессе импорта
|
|||
|---|---|---|---|
|
#18+
Сам регулярно с этим сталкиваюсь. Возможные решения следующие:\r 1. Как ты сам уже написал, добавлять первую строку с соотв. данными - если надо по быстрому перекинуть, то я иногда и сам так делаю :)\r 2. Переделать программно/вручную таблицу после импорта (с конвертацией всего что в них)\r 3. Отказаться от xls файла -> сохранить как txt с табуляцией и воспользоваться: DoCmd.TransferText acImportDelim, "MyImport", NameTable, FileToOpen\r \r Вариант 3 наиболее гибкий, но к сожалению и к DoCmd.TransferText тоже есть некоторые претензии, которые выражаются в том, что при несовпадении импортируемых данных с типом поля Access будет выдаст в итог предупреждающее сообщение (можно программно подавить) и создаст таблицу - Ошибки импорта (никак нельзя отменить). Потом конечно ее можно программно удалить, алгоритм задавания имени этой таблицы простой, после импорта можно ее просто найти и удалить, чтобы не болталась.\r \r 4 Как вариант, я сейчас дорабатываю классную функцию Владимир Саныча, которая является аналогом DoCmd.TransferText, только тут уже ты сам хозяин барин, вот ссылка где меня Саныч отбрадовал этой функцией: /topic/47857&hl= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2003, 16:30 |
|
||
|
|

start [/forum/topic.php?fid=45&tid=1679015]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 371ms |

| 0 / 0 |
