Модераторы: diadiavova, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> поиск в БД Acces, Поиск в БД и вывод результата поиска 
:(
    Опции темы
mxmaks
Дата 12.6.2011, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 16.1.2011

Репутация: нет
Всего: нет



Приветствую Всех!
Помогите решить проблему, нигде не нашел информации по поиску в базе данных ...
... На форме текстбокс, кнопка и листбоксы для отображения информации из базы данных (Access mdb) ...
... При вводе слова в текстбокс и нажатии кнопки организовать поиск по всем таблицам базы данных и вывести результат на форму ...
Если кто сталкивался с таким вопросом подскажите как?
PM MAIL   Вверх
krewin
Дата 12.6.2011, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 27.8.2009

Репутация: 1
Всего: 1



Поиск осуществляется с помощи запросов. примерно таких SELECT user, mail FROM db WHERE user='искомый user'
PM MAIL   Вверх
mxmaks
Дата 14.6.2011, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 16.1.2011

Репутация: нет
Всего: нет



Приветствую!
А такой запрос поможет, если таблиц много (в смысле, картотека по годам и в каждом году несколько таблиц с разными именами) ...
И если можно, "пару" строчек кода ...
С наилучшими пожеланиями ...
PM MAIL   Вверх
Данкинг
Дата 14.6.2011, 22:44 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 1
Всего: 130



Цитата(mxmaks @  14.6.2011,  23:01 Найти цитируемый пост)
А такой запрос поможет, если таблиц много

Поможет, если перечислить в запросе нужные таблицы. Но вообще ИМХО это изначально неправильно: на каждый год создавать новую таблицу. Логичней записывать год (или дату ввода, что там есть) в специальном поле, на которое ориентироваться при выборке.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
diadiavova
Дата 14.6.2011, 22:49 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Цитата(Данкинг @  14.6.2011,  23:44 Найти цитируемый пост)
Но вообще ИМХО это изначально неправильно: на каждый год создавать новую таблицу

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


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
krewin
Дата 15.6.2011, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 27.8.2009

Репутация: 1
Всего: 1



mxmaks нужно знать структуру таблиц. Чтобы создать запрос. Список столбцов и таблиц ....
PM MAIL   Вверх
mxmaks
Дата 15.6.2011, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 16.1.2011

Репутация: нет
Всего: нет



Парни привет!
Может я не правильно пояснил ... 
Есть архив с 1964 года, надо его перевести в электронную картотеку с поиском и другими функциями ...
Информация везде разная (№ групп, фамилии, имена и т.д.) , думал над систематизацией, но пока туго ...
Думаю запустить каждый год отдельными таблицами, но может подскажете как можно по-другому ...
Буду признателен за любой совет.
PM MAIL   Вверх
diadiavova
Дата 15.6.2011, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Цитата(mxmaks @  15.6.2011,  20:18 Найти цитируемый пост)
Думаю запустить каждый год отдельными таблицами, но может подскажете как можно по-другому ...

Ну как бы Данкинг уже подсказал, что все надо в одну таблицу поместить, в которую просто добавить поле(столбец) с годом и все. Разные таблицы должны описывать разные типы данных, с разным набором свойств.
А вообще, прежде чем за проектирование базы браться надо какие-то основы изучить что ли. В сети полно материалов на эту тему
http://www.google.ru/search?ie=utf-8&q...024&bih=618


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
krewin
Дата 15.6.2011, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 27.8.2009

Репутация: 1
Всего: 1



1964-2011 это около 46 таблиц, зачем это нужно если современный БД могут хранить строки по миллиону в одной таблице. 

  
PM MAIL   Вверх
mxmaks
Дата 15.6.2011, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 16.1.2011

Репутация: нет
Всего: нет



И даже больше, в каждом году по 5 -10 групп, но Access ругается если объединять одинаковым именем ...
Я правильно понял ?.. - создать одну таблицу и применять выборку по Item, а поиск по полю "Фамилия".
PM MAIL   Вверх
Данкинг
Дата 15.6.2011, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 1
Всего: 130



Цитата(mxmaks @  15.6.2011,  20:18 Найти цитируемый пост)
Информация везде разная (№ групп, фамилии, имена и т.д.) ,

Не понял "разности": за каждый год свои какие-то данные, которых нет в других годах? Ну так а кто ограничивает в числе столбцов.
Цитата(mxmaks @  15.6.2011,  21:26 Найти цитируемый пост)
но Access ругается если объединять одинаковым именем ...

Только боюсь, что для таких объёмов выбранная СУБД не подойдёт. Кстати, не понял, на что он там ругается.
Цитата(mxmaks @  15.6.2011,  21:26 Найти цитируемый пост)
создать одну таблицу и применять выборку по Item, а поиск по полю "Фамилия". 

Уж я не знаю, какие там у тебя поля будут.

Добавлено через 1 минуту и 12 секунд
Столбцы, а не поля, т.е. Попутали меня уже совсем. smile 

Это сообщение отредактировал(а) Данкинг - 15.6.2011, 20:54


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
mxmaks
Дата 15.6.2011, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 16.1.2011

Репутация: нет
Всего: нет



Попробую описать алгоритм подробнее ...
1964г. в нем 5 групп, в группе 30 человек, в базе информация по каждому человеку.
На форме 5 листбоксов и при загрузке каждая группа загружается в свой листбокс ...
При выделении кого-нибудь информация из БД отображается в текстбоксах... Как-то так ...
PM MAIL   Вверх
Данкинг
Дата 15.6.2011, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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.
PM MAIL WWW   Вверх
diadiavova
Дата 16.6.2011, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Цитата(mxmaks @  15.6.2011,  22:24 Найти цитируемый пост)
1964г. в нем 5 групп, в группе 30 человек, в базе информация по каждому человеку.
На форме 5 листбоксов и при загрузке каждая группа загружается в свой листбокс ...
При выделении кого-нибудь информация из БД отображается в текстбоксах... Как-то так ... 

Если у тебя люди делятся на группы, просто возьми добавь в таблицу поле "Группа" и для каждого указывай группу, нет смысла для каждой создавать таблицу в базе. А вот как ты организуешь данные в датасете, это уже другое дело, в некоторых случаях возможно будет совсем неплохо именно разделить и для заполнения каждой таблицы датасета отправлять свой запрос. Хотя я думаю, что тоже не факт, что это понадобится. Ты можешь к одной таблице привязать несколько байндингсорсов и у каждого будет свой фильтр. Фильтровать можно и по группе и по году и как тебе заблагорассудится. Ну и собственно к этим байндингсорсам и привязывай листбоксы и текстбоксы.

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


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
mxmaks
Дата 25.6.2011, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 16.1.2011

Репутация: нет
Всего: нет



Парни, всем привет!
Извиняюсь, потерялся ... (железо лечил ...).
Разбирался с биндингсорсом и запутался ...
Если можно пару строчек кода ...

жму кнопку
фильтр-группа
биндингсорс грузит в листбокс1 группу1
фильтр-группа
биндингсорс грузит в листбокс2 группу2
. . . и т. д.

И подскажите, что почитать (кроме MSDN)

Всем удачи и приятных выходных!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0536 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.