powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ADO - Как убедиться что Execute отработал
47 сообщений из 47, показаны все 2 страниц
ADO - Как убедиться что Execute отработал
    #36551241
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторCa.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data/arhiv/" + strSur + ";Jet OLEDB:Database Password=" + MainForm.Pas + ";"

Ca.Open

'Чистим таблицу
Mconn.Execute ("DELETE arh_rep.* FROM arh_rep")

' ДОБАВЛЯЕМ ДАННЫЕ ИЗ ДРУГОГО mdb ВО временную таблицу для СОЗДАНИЯ отчетов ЗА архивныЕ ЕРИОДЫ

Ca.Execute ("INSERT INTO arh_rep IN'" + App.Path + "\Data\kvartplata.amd' SELECT Adding.* FROM Adding WHERE (((Adding.KodKv)=" + Номер + "));")
.
.
.
потом
'Открываем Рекордсет

rsLg.Open ("SELECT arh_rep.DataT AS Дата, arh_rep.NameKat AS Категория, arh_rep.KodN AS Код, arh_rep.NameN AS Начисление, arh_rep.ObPl AS Площадь, arh_rep.Propis AS Прописано, arh_rep.Tarif AS [Тариф(осн)], arh_rep.TarifI AS [Тариф(доп)], arh_rep.Shc_new AS Счетчик, IIf([arh_rep]![Tip]='-',[arh_rep]![SummaI],0) AS Начислено, IIf([arh_rep]![Tip]='+',[arh_rep]![SummaI],0) AS Оплачено, IIf([arh_rep]![Tip]='s',[arh_rep]![SummaI],0) AS Субсидии FROM arh_rep ORDER BY arh_rep.DataT, arh_rep.NameKat, arh_rep.KodN"), Mconn
СУТЬ ПРОБЛЕМЫ:
ИМХО
Пока срабатывет Ca.Execute rsLg.Open забирает данные с пустой таблицы предврительно очищенной при помощи Mconn.Execute ("DELETE arh_rep.* FROM arh_rep")
Ставил задержки в циклах, выводил ProgressBar-ы не помогает.
Если убрать предварительную очистку таблицы срабатывет после 2-3-го запуска(иногда и после первого).
Как убедиться что Ca.Execute отработал полностью и можно двигаться дальше. Или МОЖЕТ подскажите кто знает какой тип курсора надо поставить, что бы все работало по порядку?

Всем зараннее спасибо.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551250
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13
Как убедиться что Ca.Execute отработал полностью и можно двигаться дальше. Или МОЖЕТ подскажите кто знает какой тип курсора надо поставить, что бы все работало по порядку?

1) Попробуйте серверный курсор
2) А почему бы не работать с одним и тем же коннекшном?
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551287
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один конэкт "Ca" в цикле переберает кучу архивных баз т.е. Cn.Open Execute(копирует нужные данные во временную таблицу всегда открытую при помощи Mconn) потом Cn.close и новый цикл.

Изначально структура хранения данных прошлых периодов была мною задумана в отдельных файлах что бы не раздувать и не чистить базу Access. Данныеуспешно копились, и Теперь остро стоит вопрос собирать отчеты за год или 2-3.

Возможно я придумал не лучший способ но все работает заисключением описанной выше проблемы.

Не открывал исходники года два, какой курсор если не трудно напишите пожалуйста конкретно, ели нет буду читать и вспоминать все снова. )))
Спасибо.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551293
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Execute() не вернет управление до тех пор пока сервер не закончит обрабатывать команду (не важно успешно или с ошибкой).
У тебя там явно два коннекта, Ca и Mconn - не надо такое делать. Одного-единственного коннекта хватает для 99.(9)% задач. И уж явно хватит для описаной.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551309
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13какой курсор если не трудно напишите пожалуйста конкретно, ели нет буду читать и вспоминать все снова. )))

adUseServer
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551313
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо буду копать, результат напишу.
Но как можно скопирвать таблицу из одной базы mdb в другую при помощи одного коннекта?
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551319
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13Спасибо буду копать, результат напишу.
Но как можно скопирвать таблицу из одной базы mdb в другую при помощи одного коннекта?

Так вы же это и делаете с помощью одного коннекта:
Код: plaintext
INSERT INTO arh_rep IN'" + App.Path + "\Data\kvartplata.amd' SELECT 
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551325
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13Но как можно скопирвать таблицу из одной базы mdb в другую при помощи одного коннекта?

Есть еще один интересный способ, но он годится, если файлы постоянные и в одних и тех же местах. Я тоже когда-то разбивал базу на несколько файлов, а данные шарил через связанные таблицы . То есть добавлял к файлу связанную таблицу из другого файла и работал с ней, как с локальной.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551327
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точно прошу прщения, спасибо.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551330
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13Один конэкт "Ca" в цикле переберает кучу архивных баз т.е. Cn.Open Execute(копирует нужные данные во временную таблицу всегда открытую при помощи Mconn) потом Cn.close и новый цикл.В какую такую временную таблицу? Или у тебя не ADO, или у тебя волшебные временные таблицы.
Настоящие временные таблицы (или данные в них) живут только на период сессии, потом автоматически умирают. Передавать их данные между двумя разными сессиями в принципе невозможно. Иначе это уже не временные таблицы, а вполне себе стандартные.

Andrey13Изначально структура хранения данных прошлых периодов была мною задумана в отдельных файлах что бы не раздувать и не чистить базу Access. Данныеуспешно копились, и Теперь остро стоит вопрос собирать отчеты за год или 2-3.Вариантов работы с сегментированием данных два:
1) Делать все на клиенте. Клиент по очереди подключается ко всем сегментам, вытаскивает из них полусырые данные, копирует их в свои собственные массивы, потом строит итоговый отчет на основе массивов. В плюсах - полный контроль, в минусах - много работы на клиенте.
2) В базе содержащей текущий сегмент делаются прокси таблицы указывающие на сегменты со старыми данными. Клиент соответсвенно всегда работает только с одной базой и обращается к старым через прокси.
2а) Делаешь представление охватывающее все таблицы (одну реальную и все прокси) получаешь виртуальную таблицу с полной историей.
Ни один из вариантов не требует нескольких коннектов.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551385
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
В какую такую временную таблицу?
Есть основная база, в ней таблица "arh_rep" она постоянная но данные в ней временные.
Каждый раз когда необходимо собрать отчет я планирую в эту "Временную" таблицу собирать данные из скажем 12 архивных баз со схожей структурой предварительно удаляя все старые данные из "arh_rep".
потом на основании "arh_rep" собираю отчет и больше она мне не нужна пока не дается команда на сбор нового отчета.
Да таблица постоянная данные временные.

если можно то подробнее что такое прокси таблицы и как их делать?
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551391
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13если можно то подробнее что такое прокси таблицы и как их делать?

Если я правильно понял, это как раз связанные таблицы, про которые я говорил.
Новая таблица => Связь с таблицами
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551408
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl2а) Делаешь представление охватывающее все таблицы (одну реальную и все прокси)

Наверное вообще можно сделать представление типа
Код: plaintext
1.
2.
3.
4.
5.
6.
select * from .... in 'FileName1'
union all
select * from .... in 'FileName2'
union all
select * from .... in 'FileName3'
union all
select * from .... in 'FileName4'
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551410
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли программно из VB создать таблицу связанную с другой базой MDB, т.е. как? В access просто "создать таблицу" "связь с таблицами" а программно не умею. Возможно для меня это будет вариант.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551422
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо, буду работать.
только что делает "union all" для меня пока загадка.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551427
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13Большое спасибо, буду работать.
только что делает "union all" для меня пока загадка.

Попробуйте F1...


UNION "склеивает" две таблицы в одну. То есть создав представление ("запрос" по аксессовскому), вы сможете работать с двумя таблицами (даже находящимися в разных файлах), как будто это одна таблица. Только набор полей должен быть абсолютно одинаковым
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551581
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13
Код: plaintext
В какую такую временную таблицу?
Есть основная база, в ней таблица "arh_rep" она постоянная но данные в ней временные.Тогда не надо называть ее "временной". Называй ее лучше "вспомогательной". Временные таблицы это специальный тип таблиц с ограниченым сроком жизни.

Andrey13если можно то подробнее что такое прокси таблицы и как их делать?У тебя Access? Тогда "связаные" или "linked".
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551591
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProWhite Owl2а) Делаешь представление охватывающее все таблицы (одну реальную и все прокси)

Наверное вообще можно сделать представление типа
Код: plaintext
1.
2.
3.
4.
5.
6.
select * from .... in 'FileName1'
union all
select * from .... in 'FileName2'
union all
select * from .... in 'FileName3'
union all
select * from .... in 'FileName4'
Да можно.
Можно вообще сделать например так: Оставить сегментированые базы как есть. Добавить к ним "объединяющую" базу которая будет состоять целиком из прокси-таблиц и представлений объединяющих эти прокси в общие таблицы. Получится что для работы внутри сегмента данных надо будет подключяться к базе содержащей соотвествующий сегмент. А для работы с несколькими сегментами разом просто переключить клиента на объединяющую базу.

Хотя по хорошему, уходить надо с Access на нормальные базы данных способные работать с большими объемами. Многие из них и сами умеют делать прозрачное сегментирование, да еще и на разные физические устройства при нужде.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551722
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlExecute() не вернет управление до тех пор пока сервер не закончит обрабатывать команду (не важно успешно или с ошибкой).

Если у Exxecute указать что он выполняется асинхронно, то управление вернет как миленький...
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36551730
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrFWhite OwlExecute() не вернет управление до тех пор пока сервер не закончит обрабатывать команду (не важно успешно или с ошибкой).Если у Exxecute указать что он выполняется асинхронно, то управление вернет как миленький...В данном случае, это к делу не относится.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36554040
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за советы но проблема остаеться.


код тот жэ что приводил раньше.

Снова склоняюсь к мнению что
Код: plaintext
1.
ИМХО
Пока срабатывет Ca.Execute rsLg.Open забирает данные с пустой таблицы предврительно очищенной при помощи Mconn.Execute ("DELETE arh_rep.* FROM arh_rep")
После копирования данных из других баз таблица 'arh_rep'
содержит 13 записей(проверяю открывая в access.

запрос
Код: plaintext
rsLg.Open ("SELECT Year([arh_rep]![DataR]) as ГОД, Month([arh_rep]![DataR]) as Месяц, arh_rep.NameKat AS Категория, arh_rep.KodN AS Код, arh_rep.NameN AS Начисление, arh_rep.ObPl AS Площадь, arh_rep.Propis AS Прописано, arh_rep.Tarif AS [Тариф(осн)], arh_rep.TarifI AS [Тариф(доп)], arh_rep.Shc_new AS Счетчик, IIf([arh_rep]![Tip]='+',[arh_rep]![SummaI],0) AS Начислено, IIf([arh_rep]![Tip]='-',[arh_rep]![SummaI],0) AS Оплачено, IIf([arh_rep]![Tip]='s',[arh_rep]![SummaI],0) AS Субсидии FROM arh_rep ORDER BY arh_rep.DataR"), Mconn
в грид выдает только 12. Пропадает 1.

указл
Код: plaintext
adOpenKeyset, adLockOptimistic
работает стабильней.
rsLg.RecordCount дает 13.
В гридпопадает все. НО остался осадок, вдруг при работе на рабочихбазах будет сбоить т.е. терять строки, это будет очень, очень плохо.

Может кэширование диска отключить, я уже не знаю что делать.

Если есть мысли рад любому совету.
Спасибо.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36554075
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можо ли при выполнении

Код: plaintext
Ca.Execute ("INSERT INTO arh_rep IN'" + App.Path + "\Data\kvartplata.amd' SELECT Adding.* FROM Adding WHERE (((Adding.KodKv)=" + Номер + "));")

подсчитать сколько строк добавлено? тогда мог хотя бы сделать проверку по количеству записей?
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36554177
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13Спасибо всем за советы но проблема остаеться.

Так вы же ими не воспользовались
а) Один коннекшн
б) Серверный курсор

какой смысл советовать дальше?
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36554205
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13Спасибо всем за советы но проблема остаеться.
код тот жэ что приводил раньше.Ну так! Естественно, проблема останется если код не изменять.


Andrey13Снова склоняюсь к мнению что
Код: plaintext
1.
ИМХО
Пока срабатывет Ca.Execute rsLg.Open забирает данные с пустой таблицы предврительно очищенной при помощи Mconn.Execute ("DELETE arh_rep.* FROM arh_rep")
После копирования данных из других баз таблица 'arh_rep'
содержит 13 записей(проверяю открывая в access. И к какому же мнению ты склоняешься?

Тебе сколько раз говорить: Один коннект!
Ну или хотя бы транзакции закрывай.
У тебя один юзер удаляет данные, потом десяток добавляет, а потом первый пытается прочитать их.
Чтобы один юзер мог прочитать исправления сделанные в базе другим, надо чтобы этот самый другой свои исправления закоммитил. И не надейся на автокоммит! Никогда-никогда-никогда.


Andrey13Может кэширование диска отключить, я уже не знаю что делать.Использовать один коннект и прокси таблицы.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36554212
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13Можо ли при выполнении

Код: plaintext
Ca.Execute ("INSERT INTO arh_rep IN'" + App.Path + "\Data\kvartplata.amd' SELECT Adding.* FROM Adding WHERE (((Adding.KodKv)=" + Номер + "));")

подсчитать сколько строк добавлено?Да можно... Но не всегда.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555467
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное я что то не понимаю.

есть база A0- основная коннект Mconn. Я хочу добавить в нее данные из других баз.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
'чистим arh_rep
Mconn.Execute ("DELETE arh_rep.* FROM arh_rep")
'Задаем свойства FileListBox
Lic.File1.Path = App.Path + "\data\Arhiv\"
Lic.File1.Pattern = "*.amd"
'перебор имен файлов в цыкле
For j =  0  To Lic.File1.ListCount -  1 
'MsgBox (File1.List(i))
'Подключаемся к архиву и копируем из аддинг нужные записи по Filter.Nm


новый коннект открыт "Ca"
подключились к J-ой  File1.List(i) БД по списку
потом:
Ca.Execute ("INSERT INTO arh_rep IN'" + App.Path + "\Data\kvartplata.amd' SELECT Adding.* FROM Adding WHERE (((Adding.KodKv)=" + Номер + "));")
закрываем коннект "Са"

Ca.Close

next J

после всего этого строим запрос через Mconn который остается все время открытым.


Данные не все или их нет совсем.

В чем ошибка не пойму.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555489
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13В чем ошибка не пойму.

Вам уже сто раз сказали, в чем ошибка.
В том, что вы используете два коннекта, а нужно использовать ОДИН коннект - MSCONN. И через него подключаться ко всем файлам.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555491
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл добавить хотя запрос пустой или не полный в arh_rep данные присутствуют.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555504
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего я туплю, но не могу понять не как я могу скопировать данные из других баз неподключаясь к ним при помощи коннекта "Ca".
Пожалуйста, давайте по порядку.
1. Что бы скопировать данные из однорй БД1 в друю БД0(исходную) я должен ОБЯЗАТЕЛЬНО подключиться к БД1?
2. Что бы программа продолжала работать подключение к БД0 должно оставаться активным,
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555506
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13Забыл добавить хотя запрос пустой или не полный в arh_rep данные присутствуют.

Ох

Зачем вы спрашиваете совета на форуме, если не пытаетесь ими воспользоваться???????

Код: plaintext
Mconn.Execute ("INSERT INTO arh_rep SELECT Adding.* FROM Adding IN '"+Имя_файла+"' WHERE (((Adding.KodKv)=" + Номер + "));")
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555512
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13Скорее всего я туплю, но не могу понять не как я могу скопировать данные из других баз неподключаясь к ним при помощи коннекта "Ca".

Перечитайте топик, ответы уже давались
- через связанную таблицу
- через собирающее представление
- через указание имени файла в запросе

Почему у вас не вызывает вопроса ваша же собственная строка, где вы с помощью одного коннекта работаете с двумя файлами??
Код: plaintext
1.
Ca.Execute ("INSERT INTO arh_rep IN'" + App.Path + "\Data\kvartplata.amd' SELECT Adding.* FROM Adding WHERE (((Adding.KodKv)=" + Номер + "));")

Andrey13Пожалуйста, давайте по порядку.
1. Что бы скопировать данные из однорй БД1 в друю БД0(исходную) я должен ОБЯЗАТЕЛЬНО подключиться к БД1?

нет

Andrey132. Что бы программа продолжала работать подключение к БД0 должно оставаться активным,

нет
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555534
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если не указать в Execute какой коннект как VB узнает откуда брать таблицу Adding?
Код: plaintext
SELECT Adding.* FROM Adding 
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555543
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13если не указать в Execute какой коннект

А как вы в execute сможете не указать коннект? примерчик плиз
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555569
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и я о том жэ. так какой коннект должен быть в execute? к БД1(исходной) ?
если да то его надо создать. я и подключаюсь каждый раз к новой БД(J) что бы из нее забрать данные.
Вопрос в том обязательно ли закрыать при этос коннект к БД0(основной) в которой и лежит
таблица arh_rep? если нет то почему не работает?
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555578
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да к любой БД вы можете коннектиться, а к остальным обращаться через IN "+Имя_файла+"

Судя по тому, что архивов много, а базовый файл один, к нему и коннектитесь ЕДИНСТВЕННЫМ коннектом.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555581
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или будет работать и так:

Mconn.Execute ("INSERT INTO arh_rep IN'" + App.Path + "\Data\kvartplata.amd' SELECT Adding.* FROM App.Path + "\Data\Имя базы.Adding WHERE (((Adding.KodKv)=" + Номер + "));")
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555598
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13или будет работать и так:

Mconn.Execute ("INSERT INTO arh_rep IN'" + App.Path + "\Data\kvartplata.amd' SELECT Adding.* FROM App.Path + "\Data\Имя базы.Adding WHERE (((Adding.KodKv)=" + Номер + "));")

Не будет.
Я уже написал, как будет, вы ответы вообще читаете?
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555599
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда ошибка в самом запрое?
можно явно указать путь к базе в SELECT Adding.* FROM?
Только как это сделать (в смысле после имени базы . или !...) и как будет и будет ли работаь WHERE?
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555603
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13Тогда ошибка в самом запрое?
можно явно указать путь к базе в SELECT Adding.* FROM?
Только как это сделать (в смысле после имени базы . или !...) и как будет и будет ли работаь WHERE?

Перечитайте топик, вы пропускаете ответы через один
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555628
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ох

Зачем вы спрашиваете совета на форуме, если не пытаетесь ими воспользоваться???????

Код: plaintext
Mconn.Execute ("INSERT INTO arh_rep SELECT Adding.* FROM Adding IN '"+Имя_файла+"' WHERE (((Adding.KodKv)=" + Номер + "));")
[/quot]

только появился у меня на экране.
если получитсясделать так то свою ошибку понял.
Спасибо.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555659
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите пожалуйста Ваше мнение
многократное
Mconn.Execute ("DELETE arh_rep.* FROM arh_rep")
а затем добавление данных в arh_rep. Будет вызывать необходимость переодического обслуживания базы access т.е. сжаитя?
Спасибо.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555667
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13Скажите пожалуйста Ваше мнение
многократное
Mconn.Execute ("DELETE arh_rep.* FROM arh_rep")
а затем добавление данных в arh_rep. Будет вызывать необходимость переодического обслуживания базы access т.е. сжаитя?
Спасибо.

Нет

То есть база расширится до определенного объема, но потом расширяться перестанет
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555671
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы еще, кстати, подумайте, а нужно ли вообще гонять туда-сюда данные, особенно большой объем? Может просто сделать объединяющий запрос и выбирать из него? Не нужно будет ничего удалять и копировать.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555706
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пока не умею.

дайте если не сложно пример обдъеденяющего запроса. в MSDN на саете у меня не работает скролинк и виснет комп.
надо собрать данные из N-го количества баз с таблиц с одинаковой структурой. В таблицеесть одно поле ключ повторения не допускаються, а они неизбежны если соеденять таблицы.
спасибо.
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36555796
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey13пока не умею.

дайте если не сложно пример обдъеденяющего запроса. в MSDN на саете у меня не работает скролинк и виснет комп.
надо собрать данные из N-го количества баз с таблиц с одинаковой структурой. В таблицеесть одно поле ключ повторения не допускаються, а они неизбежны если соеденять таблицы.
спасибо.

Вы патологически пропускаете сообщения. Еще раз прошу перечитать топик, так как именно этот пример я давал.

С ключом - можно использовать формулы.
К примеру, если у вас не больше ста таблиц в архиве:
Код: plaintext
OldKey* 100 +N AS NewKey
Где N - номер архивной таблицы
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36558742
Фотография Andrey13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro огромное Вам спасибо, проблему решил.
Действительно достаточно одного коннекта.
Если кому поможет вот он:

Код: plaintext
Mconn.Execute ("INSERT INTO arh_rep SELECT Adding.* FROM Adding IN '" + App.Path + "\Data\arhiv\" + strSur + "' WHERE (((Adding.KodKv)=" + Номер + "));")
...
Рейтинг: 0 / 0
ADO - Как убедиться что Execute отработал
    #36558757
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жаль, что вняли совету только дойдя до второй страницы, но, тем не менее
Всегда пожалуйста
...
Рейтинг: 0 / 0
47 сообщений из 47, показаны все 2 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ADO - Как убедиться что Execute отработал
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]