![]() |
|
Модераторы: diadiavova, gambit |
![]()
|
|
| mxmaks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Приветствую Всех!
Помогите решить проблему, нигде не нашел информации по поиску в базе данных ... ... На форме текстбокс, кнопка и листбоксы для отображения информации из базы данных (Access mdb) ... ... При вводе слова в текстбокс и нажатии кнопки организовать поиск по всем таблицам базы данных и вывести результат на форму ... Если кто сталкивался с таким вопросом подскажите как? |
|||
|
||||
| krewin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 27.8.2009 Репутация: 1 Всего: 1 |
Поиск осуществляется с помощи запросов. примерно таких SELECT user, mail FROM db WHERE user='искомый user'
|
|||
|
||||
| mxmaks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Приветствую!
А такой запрос поможет, если таблиц много (в смысле, картотека по годам и в каждом году несколько таблиц с разными именами) ... И если можно, "пару" строчек кода ... С наилучшими пожеланиями ... |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
Поможет, если перечислить в запросе нужные таблицы. Но вообще ИМХО это изначально неправильно: на каждый год создавать новую таблицу. Логичней записывать год (или дату ввода, что там есть) в специальном поле, на которое ориентироваться при выборке. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Это однозначно неправильно и безо всяких имхов. Однотипные данные должны содержаться в одной таблице, а если понадобятся данные по конкретному году, то для этого существуют запросы. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| krewin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 27.8.2009 Репутация: 1 Всего: 1 |
mxmaks нужно знать структуру таблиц. Чтобы создать запрос. Список столбцов и таблиц ....
|
|||
|
||||
| mxmaks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Парни привет!
Может я не правильно пояснил ... Есть архив с 1964 года, надо его перевести в электронную картотеку с поиском и другими функциями ... Информация везде разная (№ групп, фамилии, имена и т.д.) , думал над систематизацией, но пока туго ... Думаю запустить каждый год отдельными таблицами, но может подскажете как можно по-другому ... Буду признателен за любой совет. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Ну как бы Данкинг уже подсказал, что все надо в одну таблицу поместить, в которую просто добавить поле(столбец) с годом и все. Разные таблицы должны описывать разные типы данных, с разным набором свойств. А вообще, прежде чем за проектирование базы браться надо какие-то основы изучить что ли. В сети полно материалов на эту тему http://www.google.ru/search?ie=utf-8&q...024&bih=618 -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| krewin |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 27.8.2009 Репутация: 1 Всего: 1 |
1964-2011 это около 46 таблиц, зачем это нужно если современный БД могут хранить строки по миллиону в одной таблице.
|
|||
|
||||
| mxmaks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
И даже больше, в каждом году по 5 -10 групп, но Access ругается если объединять одинаковым именем ...
Я правильно понял ?.. - создать одну таблицу и применять выборку по Item, а поиск по полю "Фамилия". |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
Не понял "разности": за каждый год свои какие-то данные, которых нет в других годах? Ну так а кто ограничивает в числе столбцов. Только боюсь, что для таких объёмов выбранная СУБД не подойдёт. Кстати, не понял, на что он там ругается.
Уж я не знаю, какие там у тебя поля будут. Добавлено через 1 минуту и 12 секунд Столбцы, а не поля, т.е. Попутали меня уже совсем. Это сообщение отредактировал(а) Данкинг - 15.6.2011, 20:54 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| mxmaks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Попробую описать алгоритм подробнее ...
1964г. в нем 5 групп, в группе 30 человек, в базе информация по каждому человеку. На форме 5 листбоксов и при загрузке каждая группа загружается в свой листбокс ... При выделении кого-нибудь информация из БД отображается в текстбоксах... Как-то так ... |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
Первая таблица:
year group id 1964 1 19641 1964 2 19642 1964 3 19643 1964 4 19644 1964 5 19645 1965 1 19651 1965 2 19652 1965 3 19653 1965 4 19654 1965 5 19655 Вторая таблица: id fio birthday 19641 Ульянов В.И. 22.04.1870 19642 Коба И.В. 18.12.1878 19643 Берия Л.П. 29.03.1899 19644 19645 19651 19652 19653 19654 19655 -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 8 Всего: 142 |
Если у тебя люди делятся на группы, просто возьми добавь в таблицу поле "Группа" и для каждого указывай группу, нет смысла для каждой создавать таблицу в базе. А вот как ты организуешь данные в датасете, это уже другое дело, в некоторых случаях возможно будет совсем неплохо именно разделить и для заполнения каждой таблицы датасета отправлять свой запрос. Хотя я думаю, что тоже не факт, что это понадобится. Ты можешь к одной таблице привязать несколько байндингсорсов и у каждого будет свой фильтр. Фильтровать можно и по группе и по году и как тебе заблагорассудится. Ну и собственно к этим байндингсорсам и привязывай листбоксы и текстбоксы. В конечном итоге от того, как тебе надо реализовать представление, структура базы меняться не должна. База данных проектируется по определенным правилам, одно из которых состоит в том, что однотипные данные должна содержаться в одной таблице. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| mxmaks |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 16.1.2011 Репутация: нет Всего: нет |
Парни, всем привет!
Извиняюсь, потерялся ... (железо лечил ...). Разбирался с биндингсорсом и запутался ... Если можно пару строчек кода ... жму кнопку фильтр-группа биндингсорс грузит в листбокс1 группу1 фильтр-группа биндингсорс грузит в листбокс2 группу2 . . . и т. д. И подскажите, что почитать (кроме MSDN) Всем удачи и приятных выходных! |
|||
|
||||
![]()
|
| Правила форума VB .NET | |
|
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |