|
|
|
Экспорт данных из Ехля в таблицы
|
|||
|---|---|---|---|
|
#18+
1. Делаю экпорт данных из экселя в акцесс. Все работает, но... В ехселе есть столбец, который экспортируется в таблицу акса. Если я заношу в этот столбец данные исключительно текстового значения: ш0345, ПА4573, С45И98 и т.д (смешанный код), то все нормально. Но если я попытаюсь в этот столбец (ячейки) внести значения состоящие исключительно из цифр (1234, 45674 и т.д.), то при конвертации возникает ошибка несоместимости данных. У меня в аксе это поле имеет значение "текстовый", а при экспорте кто-то (толи акс, толи экс) воспринимают эти значения как числовые и не вставляет в поля (создает таблицу ошибок ввода). Можно ли как нибудь сделать, чтобы при конверте (экспорте) значения всегда были текстовыми. 2. Иногда доходит до абсурда (на мой взгляд): ввожу значение "1234тро", а при экспорте загоняется значение "1234" (отрезает "тро") или наоборот. 3. Причем изначально у меня стоит поле типа "текстовое". Если я ввел чисто цифровое значение, то после конверта у меня это поле становиться "числовым" и дальнейший экспорт "текстовых значений" дает ошибку несовместимости данных, т.к. это поле теперь стало "числовым" и наоборот. Пытался дать свойству ячеек в экселе тип "общий", "текстовой", но это спасает не надолго. Приходится опять менять свойства ячеек, как только ввел чисто цифровое значение. использую следующий код конверта DoCmd.DeleteObject acTable, "Перечень товаров" DoCmd.TransferSpreadsheet acImport, 8, "Перечень товаров", CurrentProject.Path & "\Contracts.xls", True, "Перепись!A:K" Удаляю, чтобы ... Сам не знаю за чем, просто чтобы предыдущие данные не мешали Надеюсь меня кто-нибудь да понял... Спасибо за ранеее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 00:52:53 |
|
||
|
Экспорт данных из Ехля в таблицы
|
|||
|---|---|---|---|
|
#18+
Явление знакомое. Только это не экспорт, а импорт. Попробуй специально создать несколько записей в начале файла с намеренно нечисловыми значениями. Если не поможет, то попробуй создать таблицу заранее и импортировать в существующую таблицу. Если тоже не поможет, тогда откажись от импорта одной строчкой и пиши программу через объект Excel. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 01:01:33 |
|
||
|
Экспорт данных из Ехля в таблицы
|
|||
|---|---|---|---|
|
#18+
Понял, попробывал, вроде получилось. А можно ли как нибудь программно удалить все записи в таблице минуя Recorseta, EOF и т.д., а то сейчас делаю через "3" типа кода DoCmd.OpenForm "Перечень" DoCmd.DoMenuItem acFormBar, acEditMenu, 9, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70 DoCmd.Close DoCmd.TransferSpreadsheet acImport, 8, "Перечень", CurrentProject.Path & "\Contracts.xls", True, "Ïåðåïèñü!A:K" Но идет лишнее время на удаление всех записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 01:54:42 |
|
||
|
Экспорт данных из Ехля в таблицы
|
|||
|---|---|---|---|
|
#18+
UkrainaА можно ли как нибудь программно удалить все записи в таблице минуя Recorseta, EOF и т.д. currentdb.execute "delete * from mytable" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 01:56:29 |
|
||
|
Экспорт данных из Ехля в таблицы
|
|||
|---|---|---|---|
|
#18+
Саныч! Интересный случай!? вообщем совсем запутался: В эксе есть столбец, где у меня идут те самые записи для импорта: 197 367 1000W 23W12 и т.д. Все началось снова, полное игнорирование данных типа 1000W, 23W12. Но... Стоит мне только в ручную поменять "197" на "197ц" (любой символ добавить, причем сзади), как импорт осуществляется как мне нужно, т.е. полный экспорт. Причем это нужно сделать только в первой строке (достаточное условие) У меня "197" стоит первым. Ничего не понимаю. Может это можно как-то объяснить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 03:34:19 |
|
||
|
Экспорт данных из Ехля в таблицы
|
|||
|---|---|---|---|
|
#18+
Можно. Дурость импорта в Аксесс из Ёкселя. Я в таком случае в первую строку забиваю апострофы, чтобы не в меру умный Аксесс понял, что енто текст, а не число. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 03:37:09 |
|
||
|
Экспорт данных из Ехля в таблицы
|
|||
|---|---|---|---|
|
#18+
Темный! Сработало! Спасибо всем. Просто в екселе добавил строчку с липовым товаром. Вот только теперь не знаю, как можно избавиться от этого "товара", чтобы после импорта он все-таки исчез? Для любого случая импорта будет добавляться "липовый товар" с постоянно одиноковым именем (наименование, модель). Темный! Ты посоветовал, так может быть до конца меня добьеш. У нас уже светает, через 2 часа на работу, а всю ночь потратил на решение только одной проблемы. Спасибо, доброго Утра!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2004, 04:24:12 |
|
||
|
Экспорт данных из Ехля в таблицы
|
|||
|---|---|---|---|
|
#18+
Можно ли как нибудь данные из Экса вставить в таблицу Акса минуя метод: DoCmd.TransferSpreadsheet acImport, 3 и т.д. Используя это идет проблема с типами данных, т.е. стоит подставить числовое значение в Эксель, то при следующем экспорте если стоит текстовое, то не берет, т.к. там уже прописано числовое поле (надеюсь объяснил доступно). Ведь наверняка есть метод (код) когда экспортируешь напрямую по каждой ячейке. Т.е. типа в поле «Наименование» загнать данные из ячеек с «А1» по «А10», в поле «цена» с ячейки «В1» по «В10» и т.д. Было бы идеальным, если экспорт заканчивался автоматом, если встречается пустая ячейка. Ну как реализовать предложение Владимир Саныч... и пиши программу через объект Excel. Предложение Темного работает, но иногда забываешь вставлять дополнительные строчки, что создает проблемы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2004, 20:55:45 |
|
||
|
|

start [/forum/topic.php?fid=45&gotonew=1&tid=1672838]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
5ms |
get first new msg: |
3ms |
get forum data: |
1ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 296ms |

| 0 / 0 |
