Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.09.18;
Скачать: [xml.tar.bz2];

Вниз

Проблема... Access   Найти похожие ветки 

 
Bes   (2003-08-28 05:02) [0]

вообщем есть 10~20 файлов MS Access (расширение *.mdb)...
мне нужно средством ADOQuery послать SQL запрос сразу всем этим базам данных, и получить отчет ...

я делал так, пускал цикл и менял в параметре AdoQuery1.ConnectionString поле Catalog, а потом инфу перекачивал в StringGrid
все нормально, но 1ых долго, во вторых утомительно...

Мастера! Помогите, как максимально увеличить скорость обработки запроса (или сделать его так чтоб прога не подвисала).... и попутный вопрос: можно ли из к DBGrid подключить несколько источником (DataSourcе), ну т.е. у меня есть 10 компонентов TAdoQuery и чтоб не для каждой создавать свою DBGrid а что в одну все сливалось?
спасибо!

ЗЫ: предложения поменять БД на ченить другое не поможет...не от меня зависит...


 
roottim   (2003-08-28 08:11) [1]

как помнится в акцесе есть такая штука как связь с таблицами
(кликни на список таблиц и в попапе)
вот мб если тебе создать бд и скидать туда все завязаннаые мдб
а там подключайися и делай по ним запрос...
гарантий не даю...


 
sniknik   (2003-08-28 08:22) [2]

запросы делай к внешней базе, можно сразу к 2 (вот к 10 не знаю) но даже так гораздо быстрее.
ну можно попробовать так
SELECT * FROM TableFromCurrentBase
UNION ALL
SELECT * FROM TableBase2 IN "D:\xxxxx\Base2.Mdb"
UNION ALL
....
смысл понятен

(попробуй сначала на 2-х, после добавляй остальные)
попутно решится и "попутный" вопрос.
если не получатся все 10 то все одно не используй StringGrid можно извернутся с передачей данных в 1 рекордсет, будет гораздо быстрее.


 
Bes   (2003-08-28 15:19) [3]

sniknik, а если база запаполена?


 
Hawk2   (2003-08-28 15:36) [4]

Если все таблицы одинаковой структуры почему бы их не слить в одну и работать с одной. Или каждая база очень большая?

На счет TDataSourcе если у тебя для каждого TAdoQuery он свой то можно использовать один DBGrid, просто меняешь свойство Грида которое называется тоже DataSourcе. Вот так:
DBGrid1.DataSource:=DataSource1;
потом
DBGrid1.DataSource:=DataSource2; и т.д.
А если к тебя один TDataSourcе и один TDBGrid, тогда в TDataSourcе свойству DataSet присваиваешь TAdoQuery. Вот так:
DataSource1.DataSet:=AdoQuery1;
потом
DataSource1.DataSet:=AdoQuery2; и т.д.

А использовать StringGrid для вывода данных из базы это извращение.


 
sniknik   (2003-08-28 15:46) [5]

та к которой доступ пароль 11
SELECT * FROM TableBase2 IN "" [MS Access; PWD=11;DATABASE=D:\BASE2.MDB;]
та из которой доступ в строке подключения должно быть прописано


 
sniknik   (2003-08-28 15:50) [6]

кстати, если у тебя постоянно работа с 10 таблицами то почему бы в "головной"(или главной) не сделать линки на нужные? они быстрее чем запросы с IN.


 
Bes   (2003-08-28 19:44) [7]

2 sniknik, можешь по подробнее про "головную" и линки...и если можно примерчик...

2 Hawk2, так будут выводиться только данные одного компонента, а мне нужно чтобы всех...ну тоесть чтобы DBGrid не очищалась а просто добавляла к уже имеющися записи... если я не прав, подкинь примерчик..

фенк


 
sniknik   (2003-08-28 19:57) [8]

какой примерчик? ты что. определи (для себя) какая база у тебя главная, открываеш ее аксесом, дальше "файл"->"внешние данные"->"связь с таблицами" ... после того как нажмеш кнопку тут тебя озарение и посетит. :о))



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.09.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.014 c
9-58503
MeF88
2003-03-04 11:46
2003.09.18
Камерный энгайн


4-58982
Lilo
2003-07-17 15:07
2003.09.18
GlobalDOSAlloc


3-58590
MakNik
2003-08-26 16:15
2003.09.18
Uniqueidentifier


1-58733
Dilezzz
2003-09-07 14:48
2003.09.18
Чтение из файла. В чем ошибка?


14-58911
Карлсон
2003-08-28 19:17
2003.09.18
лето подходит к концу.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский