Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2012, 11:05   #1
BelkaLet4ik
Пользователь
 
Аватар для BelkaLet4ik
 
Регистрация: 16.01.2012
Сообщений: 17
По умолчанию Access и Delphi слишком много запросов к БД

Здравствуйте!!!
Не нашла подобных тем, хотя, возможно, просто не досмотрела, так что если что извините и направте на путь истинный)

А проблема собственно следующая: есть база аксеса в 350 метров(заказчик подогнал) и Excel файл, в котором есть фамилии и еще некоторая информация всего 2300 записей. Необходимо найти в БД совпадения с ФИО из списка.

Значит, первоначально считываю все ФИО и даты рождения в динамический массив, чтобы спокойно закрыть Excel и не вешать приложение сразу. Затем начинаю состовлять запрос к БД и вот тут-то начинается весь трабл... с учетом того, что оооооочень долго все это дело ищется (записей в БД около 800 000), прога зависает где-то через несколько минут.
Ну, подождала с полчаса, потом забила....Это не работа для программы. Память жрет около 28800КБ, а вот проц грузится на 100%...

Помогите, люди добрые, как мидифицировать эту лабуду???
Может многопоточно попытаться, но так как никогда таким не занималась, нужны волшебные ссылки и помощь
Я бы изменила Мир... но Бог не дает Мне исходники...
BelkaLet4ik вне форума Ответить с цитированием
Старый 17.01.2012, 11:13   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Вариант 1. Создать в Access временную таблицу, записать туда данные из Excel и запросом работать с двумя таблицами
Вариант 2. Выгрузить в Query нужную инфу из Access и программного искать совпадающие значения
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.01.2012, 11:17   #3
BelkaLet4ik
Пользователь
 
Аватар для BelkaLet4ik
 
Регистрация: 16.01.2012
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Вариант 1. Создать в Access временную таблицу, записать туда данные из Excel и запросом работать с двумя таблицами
Вариант 2. Выгрузить в Query нужную инфу из Access и программного искать совпадающие значения

Пробовала второй вариант...Query тоже как-то взял и повесился.....
Там же перебор получается, а значит все 800 000 строк перелопатить надо, их не подгрузишь
А по поводу временной таблицы можно чуть поподробнее? Как Excel перегнать в Access? Просто не работала с Access-ом, как-то все больше с SQL ))
Я бы изменила Мир... но Бог не дает Мне исходники...
BelkaLet4ik вне форума Ответить с цитированием
Старый 17.01.2012, 11:19   #4
BelkaLet4ik
Пользователь
 
Аватар для BelkaLet4ik
 
Регистрация: 16.01.2012
Сообщений: 17
По умолчанию

Еще надо, чтобы в Excel дописывалась новая информация, взятая из второй таблицы, а также при совпадении строка выделялась каким-то цветом... Это, если не ошибаюсь все-таки в Access-е не ришить
Я бы изменила Мир... но Бог не дает Мне исходники...
BelkaLet4ik вне форума Ответить с цитированием
Старый 17.01.2012, 11:20   #5
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от BelkaLet4ik Посмотреть сообщение
Пробовала второй вариант...Query тоже как-то взял и повесился.....
Там же перебор получается, а значит все 800 000 строк перелопатить надо, их не подгрузишь
А по поводу временной таблицы можно чуть поподробнее? Как Excel перегнать в Access? Просто не работала с Access-ом, как-то все больше с SQL ))
Просто создай в Access'е таблицу с такими же полями, как и в Excel и туда скопируй!
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 17.01.2012, 11:24   #6
BelkaLet4ik
Пользователь
 
Аватар для BelkaLet4ik
 
Регистрация: 16.01.2012
Сообщений: 17
По умолчанию

Цитата:
Сообщение от ByAlex Посмотреть сообщение
Просто создай в Access'е таблицу с такими же полями, как и в Excel и туда скопируй!
А Я -то думала там типа View есть
Ну, видите, получается, что все-таки нужно Delphi включать в работу
Я бы изменила Мир... но Бог не дает Мне исходники...
BelkaLet4ik вне форума Ответить с цитированием
Старый 17.01.2012, 11:24   #7
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от BelkaLet4ik Посмотреть сообщение
Еще надо, чтобы в Excel дописывалась новая информация, взятая из второй таблицы, а также при совпадении строка выделялась каким-то цветом... Это, если не ошибаюсь все-таки в Access-е не ришить
Правильно! В Excel'е это сделать не сложно.
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 17.01.2012, 11:25   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Для начала смотрите и еще поищите
http://forum.developing.ru/showthrea...6%D1%83-Access
http://office.microsoft.com/ru-ru/ex...010096300.aspx
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.01.2012, 11:27   #9
BelkaLet4ik
Пользователь
 
Аватар для BelkaLet4ik
 
Регистрация: 16.01.2012
Сообщений: 17
По умолчанию

Цитата:
Сообщение от ByAlex Посмотреть сообщение
Правильно! В Excel'е это сделать не сложно.
Это у Меня отрабатывается отлично
Во всяком случае пока
Просто получается как, заказчику нужна 1 большая кнопка "Работать" по нажатии на которую оппа и все сделалось Он не будет выгружать excel в access, запускать запрос, потом еще и прогу запускать))
Согласитесь, не каждый из экономистов вообще знает, что такое Access.
Так что все-таки есть смысл делать программно полностью все
Я бы изменила Мир... но Бог не дает Мне исходники...
BelkaLet4ik вне форума Ответить с цитированием
Старый 17.01.2012, 11:30   #10
BelkaLet4ik
Пользователь
 
Аватар для BelkaLet4ik
 
Регистрация: 16.01.2012
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Спасибо Сейчас окунусь в изучение
Я бы изменила Мир... но Бог не дает Мне исходники...
BelkaLet4ik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
facebook хочет слишком много знать pu4koff Свободное общение 15 28.11.2011 13:48
Вложенные функции или слишком много условий OgE®_M@G Microsoft Office Excel 4 03.11.2011 07:35
Много SQL запросов что компьютер подвисает!! Football_lady SQL, базы данных 4 28.11.2009 13:05
Слишком много актуальных параметров... extrimportal Общие вопросы Delphi 7 22.04.2009 22:41
Проблема: Слишком много различных форматов Стася Microsoft Office Excel 3 25.04.2007 08:25