Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сложности с базой данных, нужен совет по базе 
V
    Опции темы
mAh
Дата 15.4.2008, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



делаю базу для учета оборудования.для каждого оборудования  копится информация по его использаванию.что мне делать для каждого оборудования свою табличку.посоветуйте.
база в акцесе доступ   через ado.
всего около 100 видов оборудования.
нужно выбрать записи с определенной фамилией из все табличек
делал вроде работает на когда делаю выборку из  всех табличек пишет "слишком сложный запрос"
обьединял таблички с помощью union

ADOQuery1.SQL.Add('select * from kontr_'+inttostr(o));
ADOQuery1.SQL.Add('where производил="'+combobox2.Text+'"'); 
крутится в цикле пока не создаст запрос для всех таблиц.потом включаю выполнение

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

PM MAIL   Вверх
Rodman
Дата 15.4.2008, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Цитата(mAh @  15.4.2008,  18:17 Найти цитируемый пост)
"слишком сложный запрос"

такого еще не видел!

покажи свою схему... может упростим или оптимизируем!!
Цитата(mAh @  15.4.2008,  18:17 Найти цитируемый пост)
крутится в цикле пока не создаст запрос для всех таблиц.потом включаю выполнение

мне кажется перемудрил!!!

давай постепенно!

Сначала базу, потом методы обработки!
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Frees
Дата 16.4.2008, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

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



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

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


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Savek
Дата 16.4.2008, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 10.4.2006
Где: Воронеж

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



Цитата(Frees @  16.4.2008,  08:17 Найти цитируемый пост)
и в нем напиши все UNION

Все нельзя, не буду врать насчет максимума, но как раз здесь и вывалится указанная ошибка, если превысить количество объединений.  Сам пробовал  smile
Цитата(mAh @  15.4.2008,  19:17 Найти цитируемый пост)
может кто посоветует как сделать лучше или уменьшить количество таблиц.

Тебе нужно всего две связанные таблицы (в простейшем случае) главная -"Список оборудования" и подчиненная: "Использование" 
PM MAIL   Вверх
Frees
Дата 16.4.2008, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

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



Цитата(Savek @  16.4.2008,  09:25 Найти цитируемый пост)
Все нельзя, не буду врать насчет максимума, но как раз здесь и вывалится указанная ошибка

может данная ошибка вываливается на стороне ADO а на стороне Accessa будет работать... хотя я в этом не уверен не пробовал


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Vas
Дата 16.4.2008, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

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



Структуру подчиненной таблицы в студию, что-то я сомневаюсь что для каждого оборудования надо делать отдельную таблицу. Может проще сделать таблицу типа
Код

create table table1
(id number(10),
id_oborudovaniy number(10),
name_parametra varchar2(100),
value_parametra varchar2(100))

Потом выводишь все запросом, получаешь таблицу типа
Название параметра | значение параметра 



--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
mAh
Дата 16.4.2008, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



для каждого оборудования поля одинаковые там число проверки,причина- там ремонт замена детали и т.п. и фамилия проверяющего. 

в одном dbgrid у меня название оборудования- хранится в отдельной таблице , в другом dbgrid данные 
по оборудованию. че то я сомневаюсь что можно сделать меньше таблиц.
только что для каждого оборудования делать свои поля типа дата_1,то_1,фм_1,дата_2,то_2,фм_2,
но сколько можно сделать полей есть ли предел -вопрос.
если оборудования окола ста видов то полей будет 300 штук можно ли создать столько полей в акцесе. а то я пробовал в табличке создавать поля пишет нельзя более 255.но программно может больше можно не пробовал.  
информация сохраняется то каждый день
тут скрин базы.
советуйте.

Добавлено через 4 минуты и 15 секунд
если делать запрос в акцесе то количество то оборудования может изменится вот в чем дело то.


Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  1.rar 16,07 Kb
PM MAIL   Вверх
Vas
Дата 16.4.2008, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

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



Цитата(mAh @  16.4.2008,  13:12 Найти цитируемый пост)
только что для каждого оборудования делать свои поля типа дата_1,то_1,фм_1,дата_2,то_2,фм_2,

Зачем? Они же я так понял они одинаковые у каждого оборудования, просто ставь id оборудования и для него поля твои. 
А потом запрос по id оборудования и он тебе покажет все записи которые записаны с таким id. Про реляционные БД читали? Если нет то очень рекомендую почитать, лит-ры  в инете навалом. 


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
Savek
Дата 16.4.2008, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 10.4.2006
Где: Воронеж

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



Цитата(mAh @  16.4.2008,  13:12 Найти цитируемый пост)
по оборудованию. че то я сомневаюсь что можно сделать меньше таблиц.
только что для каждого оборудования делать свои поля типа дата_1,то_1,фм_1,дата_2,то_2,фм_2,


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

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


Новичок



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

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



да все понял как раньше не догадался не знаю.спасибо всем.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




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


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

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