|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.04.2011, 22:11 | #1 |
Пользователь
Регистрация: 06.11.2010
Сообщений: 19
|
Обновление таблицы Access путем импорта данных из DBF
Здравствуйте. Нужна Ваша помощь, так как поиски информации по сети интернет положительного результата не дали.
Есть у меня файл Access, в котором я периодически обновляю существующие в ней таблицы с данными. Источники этих данных для обновления я получаю в файлах DBF: - на каждую имеющуюся таблицу отдельный файл dbf; - имена полей каждой базы DBF и соответствующей ей таблицы идентичны и неизменны. Обычный импорт через меню или командой: Код:
Такой результат не устраивает, так как все таблицы имеют много связей и полное удаление существующей таблицы и замена её новой приведет к потере связей. Таким образом, ищу помощи в написании в VB команд, при которых при нажатии кнопки на форме производилось удаление данных (строк) в существующей таблице и внесение новых строк с файла BDF. Для примера вылаживаю часть своей базы и файл DBF, который нужно импортировать. Заранее спасибо... |
10.04.2011, 22:32 | #2 | |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
Цитата:
Я предлагаю сделать связанную таблицу, и тогда будет достаточно просто заменить файл и создавать ничего не придется, ну в крайнем случае обновить данные.
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
|
10.04.2011, 22:41 | #3 |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
прилинковать можно так
Код:
при замене DBF таблица BAZ должна быть закрыта
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
10.04.2011, 23:12 | #4 |
Пользователь
Регистрация: 06.11.2010
Сообщений: 19
|
В этом то и проблема, что данные вех файлов BDF должны быть импортированы в файл Access, так как в дальнейшем этот файл мною распространяется другим пользователям на десятки разных компов.
Передавать файл Access с DBF не практично. Причем нужно, чтоб пользователи размещали DBF в прописанное место на диске. Кроме того, базы имеют сотни тысяч строк и обработка внешних DBF происходит намного медленее, чем эти записи находятся в самом Access. Пока что, я долгое время выходил их ситуации таким образом: - импортровал базы в Access в таблицы с новыми именами; - копировал все строки с новых таблиц в старые (большой недостаток, что буфер обмена ограничивается 65000 строками, из-за чего одну таблицу нужно копировать кусками). *********************************** *************** Если нельзя импортировать DBF в существующую таблицу, то можно ли какой-то командой скопировать строки одной таблицы (к примеру из новой BAZ1) в страрую - BAZ (имена колонок всех идентичны)? Последний раз редактировалось TranzitZP; 10.04.2011 в 23:15. |
10.04.2011, 23:33 | #5 | |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
Цитата:
тогда линкуйте DBF BAZ1, и делайте запрос на создание BAZ Код:
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
|
10.04.2011, 23:50 | #6 |
Пользователь
Регистрация: 06.11.2010
Сообщений: 19
|
Не фартит мне. Также думал, что этим запросом можно решить проблему, однако не тут та было
В ходе выполнения запроса автоматически должна удалиться BAZ и вместо неё создастся новая BAZ с данными BAZ1, но связи BAZ с другими таблицами мешают. |
10.04.2011, 23:53 | #7 |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
правильнее так когда таблица прилинкована
Код:
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
11.04.2011, 00:01 | #8 |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
ИТОГОВЫЙ
Код:
точно работает
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
11.04.2011, 00:20 | #9 |
Пользователь
Регистрация: 06.11.2010
Сообщений: 19
|
Вы -Шаман. Приклоняюсь. Работает четко и красиво.
Не ожидал . Огромнейшее спасибо. А то я уже начал экспериментировать с конвертацией DBF в TXT и дальнейшим импортом в существующую таблицу (грубо, но практично). Личного кошелька нет, попытаюсь через уличный терминал закинуть тебе на счет деньжат - поэкспериментирую наши украинские гривны конвертануть на рублики. Еще раз спасибо. |
11.04.2011, 00:26 | #10 | |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
Цитата:
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрос на обновление таблицы в Access | serge32 | Microsoft Office Access | 4 | 06.04.2011 07:44 |
Оптимизация импорта из DBF | Marina Andreeva | БД в Delphi | 5 | 15.05.2009 19:09 |
Испарвление Записаного макроса импорта с DBF | komar73 | Microsoft Office Excel | 8 | 24.03.2009 14:06 |
Создание билетов путем импорта из таблицы | mistx | Microsoft Office Excel | 2 | 25.02.2009 09:02 |
импорт таблицы *.dbf в ms access через ADO | ADO | БД в Delphi | 6 | 17.11.2008 15:01 |