Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.04.2010, 00:36
psyco psyco вне форума
Прохожий
 
Регистрация: 18.04.2010
Сообщения: 4
Репутация: 10
По умолчанию Вывод кода элемента а не его имени

Добрый вечер. Столкнулся с проблемой, на словах сложно обьяснить поэтому я выложу скрины:
1. Вот так таблица выглядит в Microsoft Access 2003:

5 таблиц связаны с ней отношением один ко многим. Редиктирование оформил через Мастер подстановок, и вставлял данные со связанных таблиц.
2.Теперь хочу открыть ее в делфи, и вот что получается:

Открывал с помощью DBGrid через ADOQuery:
Код:
ADOQueryDBFirm.SQL.Text:='SELECT * FROM '+Table+' ORDER BY 1';
//В переменной Table хранится имя таблицы.
То есть выводится не название того или инного элемента, а его код(счетчик) в соответствуещей связанной таблице:

Помогите, пожалуйста, разобратся с этим, заранее благодарен!
Ответить с цитированием
  #2  
Старый 18.04.2010, 01:48
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Т.е. вам надо отображать в DBGrid не код элемента, а связанное с этим кодом понятие? По аналогии с Акцесом?
Если да, то есть 2 пути.
1. Сформировать запрос который будет отображать данные как в Акцесс, но редактировать при этом не получится.
2. Настроить DBGrid на работу с выпадающими справочниками и в этом случае редактирование возможно.
Какой вариант вас устроит?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 18.04.2010, 02:03
psyco psyco вне форума
Прохожий
 
Регистрация: 18.04.2010
Сообщения: 4
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
Т.е. вам надо отображать в DBGrid не код элемента, а связанное с этим кодом понятие? По аналогии с Акцесом?
Да, что-то вроде этого. А разве Акцес изображает одно(понятие), а имеет в виду другое(код)?
Цитата:
Сообщение от Страдалецъ
1. Сформировать запрос который будет отображать данные как в Акцесс, но редактировать при этом не получится.
2. Настроить DBGrid на работу с выпадающими справочниками и в этом случае редактирование возможно.
Возможность редактирования мне нужна обьязательно. Если не ошибаюсь, то у меня подобная проблема была еще с запросами в Access, тогда я решил ее, когда переименовал поле(то ли назвал его так же как и поле связанной таблицы, из которого я передаю данные, то ли еще как-то). В книгах\интернете\справочниках не могу найти, т.к. сложно составить критерий поиска=)
Я вот думал что это какая-то мелкая проблема. Неужели всегда такое бывает?Настроить DBGrid с выпадающими справочниками имеется в виду вставить ComboBox? Но это же решения для ввода данных, а для вывода?
Ответить с цитированием
  #4  
Старый 18.04.2010, 02:18
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Цитата:
Да, что-то вроде этого. А разве Акцес изображает одно(понятие), а имеет в виду другое(код)?
Именно так и происходит когда вы говорите Акцесу использовать для поля другую таблицу. Просто вы видимо это всегда делали мастером и поэтому от вас это оказалось скрыто.

Цитата:
Настроить DBGrid с выпадающими справочниками имеется в виду вставить ComboBox? Но это же решения для ввода данных, а для вывода?
Можно и так сказать, что вы вставите комбобокс, на самом деле процесс несколько сложнее, а для DBGrid вообще странновато, но работает.
А под выводом вы что подразумеваете? Отчеты?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 18.04.2010, 02:22
psyco psyco вне форума
Прохожий
 
Регистрация: 18.04.2010
Сообщения: 4
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
А под выводом вы что подразумеваете? Отчеты?
Отображение данных в DBGrid'е для редактирование, не более. А что конкретно(из DBGrid'а) может помочь мне при этом, не подскажите?
Ответить с цитированием
  #6  
Старый 18.04.2010, 02:45
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Довольно долго расписывать сам процесс. Лучше скачайте из раздела исходники несколько примеров работы с БД. Там наверняка найдете решение.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #7  
Старый 18.04.2010, 15:24
psyco psyco вне форума
Прохожий
 
Регистрация: 18.04.2010
Сообщения: 4
Репутация: 10
По умолчанию

Мне подсказали использовать JOIN в запросе. Например есть 2 таблицы:
First
First_id
First_name

Second
Second_id
Second_name
Я составил вот такой запрос без использования join:
Код:
SELECT First_id,Second_name AS First_name
FROM [First],[Second]
WHERE First.First_name=Second.Second_id
Вот такой способ работает и меня это устраивает. Но мне придется с каждым полем проводить такие манипуляции. Не подскажите как это сделать с помощью JOIN?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:36.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter