powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Стою перед выбором Ms Access XP или VB6
25 сообщений из 25, страница 1 из 1
Стою перед выбором Ms Access XP или VB6
    #32341794
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Моя задача разработать базу данных агенства брачных объявлений.
Работать с программой будет один человек. В базе будет до 50000 записей.
Надо еще предусмотреть хранение фотографий.
На разработку дали 2,5 месяца.

Сейчас стою перед выбором на чем разрабатывать.
Либо на Ms Access XP + DAO 3.51 либо на VB6 + ADO
Хотя мне кажется VB6 +DAO тоже неплохая связка.
Главное в программе - это высокое быстродействие (при поиске например)
Хотел бы спросить, по производительности что повыше DAO или ADO ?В Access много удобных вещей , которые нужны чисто для БД.
Хорошо знаком с DAO, а c ADO не очень.

Мне кажется на VB6 будет побольше проблем. Но заказчик хочет, чтобы интерфейс программы был красивым и привлекательным.

В основном программа решает задачу хранения и поиска нужной информации.

Я думаю для хранения данных можно использовать базу Ms Access (если останавлюсь на VB6 ).

Ребята , подскажите . Буду рад за любой совет.
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32341866
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делай на том, что лучше знаешь.
АДО лучше (удобней) использовать при многопользовательской работе (по моему мнению!), а на локальной бд - пофиг.
И вообще, производительность будет зависить от граммотного построения стурктуры БД и кода.
Библиотеки доступа особой роли играть не будут /в данном случае/
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32341895
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Senin Viktor

Спасибо.Очень важное замечание.Возьму VB6+DAO.

Еще вопрос у меня есть.

Как осуществить грамотно поиск в поле базы данных по слову?
Ну т.е. будет у меня поля типа memo и в нем будет например информация о увлечениях и хобби клиента. Ну может быть несколько предложений.
Например пользователь набирает слово "Животные" и программа вываливает ему кучу записей где в определенном поле встречается это слово.

Это поиск сложный, но вот как раз то он и нужен .

Как здесь поступить грамотней?
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32341923
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я бы предложил так: завести дочернюю таблицу и хранить в ней все слова (кроме так наз. стоп-слов, по которым поиск не делается из-за их большой частотности) из полей Memo основной таблицы. Например:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Основная таблица:
RecordID Field1          Field2
 13        я живу в париже я увлекаюсь рыбалкой

Дочерняя таблица:
RecordID FieldName Word
 13        Field1    живу
 13        Field1    париже
 13        Field2    увлекаюсь
 13        Field2    рыбалкой

В дочерней таблице делаются индексы.

Кроме того, есть отдельная проблема - составление всех форм слова. Чтобы при заданном слове рыбалка составлялся примерно такой селект:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
... where Word =  "рыбалка" 
or Word =  "рыбалки" 
or Word =  "рыбалке" 
or Word =  "рыбалку" 
or Word =  "рыбалкой" 
or Word =  "рыбалкою" 
or Word =  "рыбалок" 
or Word =  "рыбалкам" 
or Word =  "рыбалками" 
or Word =  "рыбалках" 
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32341971
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Владимиру Санычу
Интересно очень.

А как пользователь базы будет информацию вводить?
Ну т.е он берет и вводит в поле несколько предложений? А программа берет и расчленяет приложение на отдельные фразы и закидывает расчлененное предложение в несколько записей подчиннённой таблицы ? Иль не так я понял?

Просто с таким видом поиска не встречался, а сейчас заказчик дал понять что он будет основным.

Владимир Саныч

И поиск будет производиться в подчиненной таблице по фразе? Так?
И найдя скажем слово выйдем на индекс основной таблицы ? Мне эта идея очень нравится! Здорово!

ТОлько вот в базе будут записи тысячей клиентов,если просто предположить что предложения в мемо полях будут короткими, то записей в подчиненной таблиц будет в несколько раз больше.Намного больше.

Подтвердите пожалуйста то, что я правильно понял ваш важный совет.
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32341976
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Как осуществить грамотно поиск в поле базы данных по слову?

Грамотного поиска по Мемо-полям не будет.
Если расматривать увлечения, то проще завести таблицу с наименованиями увлечений, и заполнять анкету только из этого списка (есно, первое время список надо будет постоянно пополнять, но это быстро закончиться - ибо все увлечения будут сводиться к "секс, нарокотики и рокн-н-рол" :)
Тогда нужная выборка будет строиться элементарно и самым быстрым образом.
Но если, такая схема не подойдет (а это очень печально с точки зрения теории БД), то остаються извраты, типа предложенного Санычем, (можно еще парочку придумать для оптимизации поиска в Мемо-полях).
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32341983
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
авторА как пользователь базы будет информацию вводить?
Ну т.е он берет и вводит в поле несколько предложений? А программа берет и расчленяет приложение на отдельные фразы и закидывает расчлененное предложение в несколько записей подчиннённой таблицы ? Иль не так я понял?
Да, все верно. Только не на отдельные фразы, а на отдельные слова.

авторИ поиск будет производиться в подчиненной таблице по фразе? Так?
И найдя скажем слово выйдем на индекс основной таблицы ?
Да, только не по фразе, а по слову.

авторТОлько вот в базе будут записи тысячей клиентов,если просто предположить что предложения в мемо полях будут короткими, то записей в подчиненной таблиц будет в несколько раз больше.Намного больше.
Но общий объем данных увеличивается всего в 2 раза. Каждая фраза хранится дважды: и в самом Memo (для показа на экране), и в расчлененном виде во второй таблице (для поиска).
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32341984
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eternal писалТОлько вот в базе будут записи тысячей клиентов,если просто предположить что предложения в мемо полях будут короткими, то записей в подчиненной таблиц будет в несколько раз больше.Намного больше.
Тю
В русском языке не так уж много слов
Одна таблица - с объявлениями, вторая таблица - со словами, причем не всеми словами русского языка, а только теми, которые встречаются в объявлениях. Связь многие-ко-многим - еще один таблиц.
Вспомогательная таблица с расчлененкой фразы поиска.
При наличии связей и индексов поиск летать будет.
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32341987
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А совет Виктора тоже полезен. Сделать для заполнения как можно больше полей в виде кодов с комбобоксами, а не только в виде свободного текста.
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32341993
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
И совет Лоха тоже к месту. Вместо хранения слов хранить их коды, соответствующие кодам слов в третьей таблице (словаре). Правда, все равно будет много слов, которые в словаре не найдутся (например, все слова, написанные с ошибками), и их придется хранить так, как я предложил.
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32342014
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Senin Victor

Ясно. Поговорю сегодня с заказчиком. Действительно наделать полей со списками и оттуда чтобы пользователь выбирал.Ну а если нет нужного увлечения/ хобби , то дать возможность пользователю определять их в отдельной таблице.

А если заказчик пошлет и скажет так не пойдет?
Ладно поговорю об этом вопросе с ним.

2 Лоху Позорному

При каком количестве записей MS Access начинает "загибаться/тормозить"?
(при использовании индексов имею ввиду)
Я например замечал тормоза при 200 000 записей.
Понятно , что зависит от типа действий с записями , но все таки?
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32342034
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Саныч
Зато после расчленения можно будет
а) привести слова к одной форме (падежу)
б) выкинуть мусор типа предлогов

2 Eternal
При каком количестве записей MS Access начинает "загибаться/тормозить"?
(при использовании индексов имею ввиду)

Ну возьми и проверь.
1. Берешь одну табличку, забиваешь ее идентификаторами от 1-го до хера (например до 500000). Называешь табличку "объявления"
2. Берешь вторую табличку, забиваешь ее идентификаторами от 1 до например 1000. Называешь табличку "ключевые слова"
3. Берешь 3-ю табличку, забиваешь ее случайными пересечениями из расчета например 10 ключевых слов на одно объявление. Называешь таблицу "связь многие-ко-многим"
4. Между этими тремя таблицами строишь связи.
5. Берешь 4-ю табличку, кидаешь в нее пяток идентификаторов из второй. Называешь табличку "расчлененная фраза для поиска"
6. Смотришь насколько быстро выполняется джойн между этими четырмя таблицами в зависимости от значения "до хера" из п.1.
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32342061
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за замечания. Для себя сделал несколько полезных выводов.

По поводу интерфейса. Все равно думаю на Ms Access сделать быстрей можно и с меньшими усилиями чем на VB6. И вопрос отсюда.

Я знаю , что возможно скрыть родительское окно MS Access, но можно ли сделать так , чтобы форма занимала полный экран? Есть такая API функция?

И вот еще в базе должны торчать фотографии клиентов. Я понимаю , что хранить их в поле OLE не целесообразно. Размер базы увеличится до неприличия. Как же лучше поступить?
Хранить графические файлы в отдельном каталоге и привязывать их к соответсвующим записям? Как осуществить привязку в таком случае?
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32342069
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хранить графические файлы в отдельном каталоге и привязывать их к соответсвующим записям? Как осуществить привязку в таком случае?

открой учебную базу Борей, там есть над чем поучится :) и в частности про фотки ....
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32342070
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Артист
Смотрел я "Борей". Там можно выбрать файл графический , а в поле БД хранится путь к нему.
Можно использовать вариант оттуда, но может другие есть варианты.
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32342075
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Лох:

Привести слова к одной форме не получится. Слово простой может оказаться:

формой глагола простоять,

существительным (простой оборудования),

прилагательным (простой как три копейки).

Поэтому лучше делать наоборот: хранить все слова так, как они введены, а при поиске проверять как можно больше возможностей.
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32342082
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
авторЯ знаю , что возможно скрыть родительское окно MS Access, но можно ли сделать так , чтобы форма занимала полный экран? Есть такая API функция?
Private Sub Form_Open()
DoCmd.Maximize
End Sub

авторИ вот еще в базе должны торчать фотографии клиентов. Я понимаю , что хранить их в поле OLE не целесообразно. Размер базы увеличится до неприличия. Как же лучше поступить?
Хранить только название файла (и путь).
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32342090
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Саныч
>Сделать для заполнения как можно больше полей в виде кодов с комбобоксами, а не только в виде свободного текста.
2 Eternal
> Действительно наделать полей со списками и оттуда чтобы пользователь выбирал.

Не надо много полей со списками - надо 1 подчиненую форму в котором 1 поле-со-списком :)
Таким же макаром сделать отбор нужных качеств кандидата

>Ну а если нет нужного увлечения/ хобби , то дать возможность пользователю определять их в отдельной таблице.

Не в другой, а той же где храняться все хобби. С проверками на частичное совпадение фразы с уже введеными (в инете есть алгорит, реализующий не четкое сравнение - ссылку не найду, но где0то на сайтах по Акесу /в т.ч./)
Нужно, что бы исключить оффографиические ошибки и созвучные слова. Правда остаются слова-синонимы (кошка, киска, мурка) - как с ними быть? Пока только ручная правка редактора (Саныч, ты же редактор? Бери халтуру! )
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32342102
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я не редактор, я корректор. Будучи корректором и программистом одновременно, понимаю, насколько опасно полагаться на программы типа спеллеров, переводчиков и т.д.\r
\r
Вот пример:\r
\r
/topic/29283#177550
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32342104
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделать в слове оффографиические сразу 3 ошибки?
Вы уж простите мне мою безграммотность. :)
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32342107
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Там не 3, там 2. И обе являются описками. Неграмотность - это там, где ты углядел 3-ю.
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32342108
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Senin Victor

так этот алгоритм ищет по первым словам предложения или по вхождению слова в любом месте предложения? Надо поискать мне ! Это интересно.

2 Владимиру Санычу

Есть. Форма на столе в полную мощь закрасовалась. Но при сворачивании она не поступает на панель задач , а торчат кнопки на поверхности рабочего стола. Но это думаю не устранить. MDI все таки.
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32342170
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё как поступает , ты ж не настроил

из главного окна базы Tools->Options->View->Windows in Taskbar галку поставь
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32342203
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Саныч
>Там не 3, там 2. И обе являются описками. Неграмотность - это там, где ты углядел 3-ю.

оффографиические

оРффографиические

Две описки, 1 ошибка :)

2Eternal
>так этот алгоритм ищет по первым словам предложения или по вхождению слова в любом месте предложения?

Не помню на счет предложений (но любое предложение можно разбить на слова).
Алгоритм считает слова Вася,Ва з я, В о ся равными друг другу (как и Вадя) (если, есно, выставить соответствующие настройки степени сравнения)
...
Рейтинг: 0 / 0
Стою перед выбором Ms Access XP или VB6
    #32342386
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А я "р" и "ф" посчитал за одну. :^)
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Стою перед выбором Ms Access XP или VB6
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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