|
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 98
|
||||||
DBGrid с двумя таблицами06.10.2016, 19:57. Показов 2967. Ответов 41
Метки нет (Все метки)
в MS SQL созданы две таблицы.
как в 1 DBGrid закинуть определенные поля из двух таблиц? в дальнейшем эти таблицы будут изменятся(добавление. удаление записей) (представление которое можно создать и использовать ..этот вариант уже попробовал ... но с добавлением данных проблемы .якобы нельзя добавлять в такие таблицы из-за того что может повлиять на изменение записей в используемых таблицах)
0
|
||||||
| 06.10.2016, 19:57 | |
|
Ответы с готовыми решениями:
41
Запрос с двумя таблицами DBgrid связь между таблицами
|
|
86 / 86 / 24
Регистрация: 27.02.2010
Сообщений: 397
|
|
| 09.10.2016, 19:08 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 98
|
|||||||||||
| 09.10.2016, 22:23 [ТС] | |||||||||||
|
kwinto, сейчас новый вопрос )
как в запросе select ! в части where присвоить idOwnerУ результат из ComboBox.ItemIndex
а если данных больше 10 шт? .. примерная форма ! в первой мы выбираем ИМЯ-фамилию и т.д и в дальнейшем выводится в лабел что будем редактировать.. и т.д
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 98
|
||||||
| 09.10.2016, 22:32 [ТС] | ||||||
|
и правильно ли будет выглядеть запрос на обновление данных?
AdoQuery1.Parameters.ParamByName('Data1' ).Value:=Edit1.Text; берем из -Ввод данных
0
|
||||||
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
||||||
| 09.10.2016, 23:08 | ||||||
|
Для этого нужно использовать DBLookupCombobox (пожалуй, второй и последний компонент, который имеет префикс DB и который можно использовать в любом проекте).
1. Разместить на форме отдельный ADOTable с привязкой через свой DataSource к нужной таблице. 2. В своействе ListSource DBLookupCombobox указать этот DataSource (свойство DataSource компонента не трогать). 3. В свойстве ListField указать поле из связанной таблицы которое будет отображаться для пользователя (допустим, имя). 4. В свойстве KeyField указать поле-идентификатор (ID). 5. При запуске не забыть открыть ADOTable (ADOTable1.Open). Чтобы узнать значение ID, выбранного пользователем из выпадающего списка пункта используют свойство KeyValue. Например.
1
|
||||||
|
97 / 97 / 25
Регистрация: 25.04.2016
Сообщений: 525
|
||
| 09.10.2016, 23:19 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 98
|
|
| 09.10.2016, 23:33 [ТС] | |
|
Скандербег, попробую! спасибо!Скандербег, сделал.. вставил ..но свойства KeyValue не могу найти! я как понимаю это свойства аналогично Items
0
|
|
|
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 98
|
|
| 09.10.2016, 23:34 [ТС] | |
|
Скандербег, и не активный он (..
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 09.10.2016, 23:42 | |
|
KeyValue свойство не публичное и его не видно в инспекторе объектов.
Чтобы активизировать нужно чтобы DataSet (ADOTable) с ним связанный был открыт (был активным), пункт 5 из моей инструкции. А зачем на форме идентификатор? Добавлено через 7 минут Сейчас не мешало бы выложить проект с базой. Помощь будет более эффективной.
0
|
|
|
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 98
|
|
| 09.10.2016, 23:43 [ТС] | |
|
Скандербег, Мы выбираем что редактировать 1 комбо в нем - фамилия имя отчество . данные авто и т.д
индентификатором мы уточняем .. у кого редактируем .. а через обычный комбобокс можно это сделать?
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 09.10.2016, 23:44 | |
|
Можно и через обычный, но через DBLookupCombobox проще и без ненужной писанины.
0
|
|
|
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 98
|
|
| 09.10.2016, 23:44 [ТС] | |
|
Скандербег, пожалуйста) правда бред еще ну да ладно)
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|||
| 09.10.2016, 23:47 | |||
|
Значение идентификаторов не должны мешать пользователю, т.к. он все равно их не может ни редактировать, ни как либо использовать. Добавлено через 1 минуту Если БД откроется, то посмотрю в части лукапа чего не так.
0
|
|||
|
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 98
|
|
| 09.10.2016, 23:48 [ТС] | |
|
Скандербег, ну ...в общем я уже запутался . проект кинул... а щас запускаю и ошибки...чтоб его!
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 09.10.2016, 23:55 | |
|
Любопытно узнать, что предполагается редактировать на форме 3?
0
|
|
|
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 98
|
|
| 09.10.2016, 23:58 [ТС] | |
|
Скандербег, Форма 3 это как мульти редактор .. редактируем поля из таблиц Owners и Cars
в комбобоксе 1 естественно выбираем что редактировать -Имя фамилия ... Модель авто и т.д если имя и фамилия то запрос идет на таблицу Owners а если модель авто или гос номер то идем в cars мне бы сейчас эту часть разобрать .. дальше будет практически все по аналогии сам запрос на обновление еще не успел вставить в делфи
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 10.10.2016, 00:05 | |
|
Но так не делают. Для владельца и авто нужны отдельные формы, т.к. по определению у них разные структуры данных,
а, следовательно, и состав компонентов для ввода данных тоже разный. Комбобокс (лукапКомбобокс) требуется в текущей ситуации только для редактирования данных по автомобилям (табл. cars), где нужно будет выбрать соответствующего владельца.
0
|
|
|
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 98
|
|
| 10.10.2016, 00:08 [ТС] | |
|
Скандербег, так я хотел через условие... использователь отдельные АДОквери....блин.............можешь внести свою идею в проект?
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 10.10.2016, 00:15 | |
|
Идею я уже озвучил: для каждой таблицы своя форма для добавления данных и их редактирования.
Отдельные ADOQuery здесь ни при чем. Нужно иметь один который будет добавлять данные в разные таблицы. Его размещают (равно как и общий компонент ADOConnection) на специальной форме, которую зовут DataNodule. Удобна тем, что при разработке проекта есть куда положить не визуальные компоненты для разных нужд и общего достояния.
0
|
|
|
0 / 0 / 0
Регистрация: 13.04.2014
Сообщений: 98
|
|
| 10.10.2016, 00:17 [ТС] | |
|
Скандербег, хорошо..но ... как данные комбобокса вставить в запрос? не db...и т.д
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|||||||||||
| 10.10.2016, 00:36 | |||||||||||
|
Упорство достойное другого применения.
1. Надо выбрать данные из таблицы (через ADOTable, к примеру). 2. В цикле while not ADOTable.Eof do ... вставить данные: имя для выбора и идентификтор
А при использование DBLookupComboBox'а только нужно взять значение свойства KeyValue, а выше приведенная писанина не требуется. Добавлено через 4 минуты И лукапкомбобокс не активен, разумеется, потому что не выполнены как нужно инструкции, приведенные в посте #24.
0
|
|||||||||||
| 10.10.2016, 00:36 | |
|
Помогаю со студенческими работами здесь
40
Создание запроса с двумя таблицами
Зависимость между двумя таблицами ADOQuery Как создать связь между двумя таблицами Вопрос про связь между двумя таблицами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
в-строка - входное арифметическое выражение в инфиксной(обычной). . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|