powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Добавление новой записи с помощью навигатора
15 сообщений из 15, страница 1 из 1
Добавление новой записи с помощью навигатора
    #39580592
Hadroran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем.
Есть 2 зависимые таблицы. (Т1 - категория товара и Т2 - товар)
Т1 состоит из полей ID (не пустое) и CATNAME - компонент IBTable
Т2 состоит из полей ID(не пустое), IDCAT(не пустое) и ITEMNAME - компонент IBDataSet
В СУБД созданы первичные ключи Т1.ID и Т2.ID а также вторичный ключ на связь Т1.ID и Т2.IDCAT
На гриде с Т2 установлен навигатор.
Вопрос в следующем.
Например в таблице Т1 мы встали на запись с ID = 3
При нажатии кнопки "добавить запись" на навигаторе на гриде таблицы Т2 вводим значения. После попытки поста появляется сообщение "Полю ID требуется значение". Вроде есть триггер на инкремент перед вставкой.
Ну ладно. Убираем галочку "не пустое" с поля T2.ID.
Следующее сообщение после попытки поста - "Полю IDCAT требуется значение".
В свойстве T2.InsertSQL имеем запрос
Код: pascal
1.
INSERT INTO T2 (IDCAT, ITEMNAME) VALUES (:IDCAT, :ITEMNAME)


Полагаю, что значение :IDCAT - пустое.
Как в :IDCAT задать значение T1.ID и правильно ли я "победил" сообщение "Полю ID требуется значение"?
...
Рейтинг: 0 / 0
Добавление новой записи с помощью навигатора
    #39580600
Tactical Nuclear Penguin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HadroranКак в :IDCAT задать значение T1.ID и правильно ли я "победил" сообщение "Полю ID требуется значение"?

1. задать ручками
2. что именно ты победил?
...
Рейтинг: 0 / 0
Добавление новой записи с помощью навигатора
    #39580651
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНа гриде с Т2 установлен навигатор.
Здесь Delphi никто не знает. (С)
...
Рейтинг: 0 / 0
Добавление новой записи с помощью навигатора
    #39580654
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HadroranКак в :IDCAT задать значение T1.ID
видимо, для датасета с T2 не указана зависимость от датасета T1.
связь эта делается через datasource. Читаем
http://www.ibase.ru/ibx/
раздел Master-Detail.
...
Рейтинг: 0 / 0
Добавление новой записи с помощью навигатора
    #39580657
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hadroran,

гм, про мастер-деталь не совсем в кассу, тогда дополню, что в данном случае датасет Т1 является "справочным" для столбца idcat T2. В общем, почитайте про датасеты и datasource, и т.д.
...
Рейтинг: 0 / 0
Добавление новой записи с помощью навигатора
    #39580667
Hadroran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как всегда не удивлен....
...
Рейтинг: 0 / 0
Добавление новой записи с помощью навигатора
    #39580668
Hadroran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЛюбезныйавторНа гриде с Т2 установлен навигатор.
Здесь Delphi никто не знает. (С)

Ах да... навигатор то тока в дельфях... Простите что не по адресу.
...
Рейтинг: 0 / 0
Добавление новой записи с помощью навигатора
    #39580670
Hadroran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда может кто подсказать. В коде для свойства InsertSQL
Код: pascal
1.
INSERT INTO T2 (IDCAT, ITEMNAME) VALUES (:IDCAT, :ITEMNAME)


:IDCAT как можно написать, чтобы значение бралось с Т1.ID.
Ну например, так (но так не работает)
Код: pascal
1.
INSERT INTO T2 (IDCAT, ITEMNAME) VALUES (:"T1"."ID", :ITEMNAME)
...
Рейтинг: 0 / 0
Добавление новой записи с помощью навигатора
    #39580673
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hadroran> Как всегда не удивлен....

Чему именно?

1. Топик создал не там (модераторы перенесут).
2. Это классическая связка мастер-деталь.
Соответственно её техническая реализация
зависит от используемой библиотеки доступа
(которую ты не назвал).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Добавление новой записи с помощью навигатора
    #39580676
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvЧитаем http://ibase.ru/ibx раздел Master-Detail.Глянул по диагонали.

1. Во-первых, в статье нет оглавления со ссылками
(не помню, было ли раньше - кажется, было) - для
статьи таких размеров в 2018 это даже не смешно.

2. Статья (особенно указанный раздел) устарела
очень сильно, нужно дописывать, ИМХО.
...
Рейтинг: 0 / 0
Добавление новой записи с помощью навигатора
    #39580677
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hadroran> :IDCAT как можно написать, чтобы значение бралось с Т1.ID.

Зависит от библиотеки доступа. В FIBPlus можно использовать префикс MAS_.
Ну и, конечно, во всех библиотеках можно вручную заполнять, наверное.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Добавление новой записи с помощью навигатора
    #39580744
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамВо-первых, в статье нет оглавления со ссылками
(не помню, было ли раньше - кажется, было) - для
статьи таких размеров в 2018 это даже не смешно.
не было там оглавления. ибо нефиг. читать надо все. Статья для начинающих, а не справочник с заходами на нужные темы.
В конце-концов есть кнопка Ctrl-F.

Гаджимурадов РустамСтатья (особенно указанный раздел) устарела
очень сильно, нужно дописывать
устарела в каком именно смысле? В IBX все по прежнему, ничего существенно нового (кроме юникода) с момента написания статьи не появилось.
А про то что спрашивает автор топика, там и так не было. Типа, это слишком просто, чтобы спрашивать, да и не спрашивал никто.
...
Рейтинг: 0 / 0
Добавление новой записи с помощью навигатора
    #39580747
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

собственно, вопрос сугубо интерфейсный, и достаточно дурной. Допустим, мы видим таблицу Т2 в гриде.
А как мы видим таблицу Т1? Тоже в гриде, отдельном? И что, надо встать в гриде Т1, а потом жмакать кнопку вставки в гриде Т2?
Ересь какая-то. Почему-бы не сделать в поле idcat вываливающийся список значений из Т1. Как это делать - написано во всех учебниках.
...
Рейтинг: 0 / 0
Добавление новой записи с помощью навигатора
    #39580755
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv... И что, надо встать в гриде Т1, а потом жмакать кнопку вставки в гриде Т2?
Ересь какая-то. Почему-бы не сделать в поле idcat вываливающийся список значений из Т1...
Одно другому не мешает. Если ты работаешь с элементами (Т2) конкретной категории (ссылающимися на конкретную записью таблицы T1), то вполне логично, что добавление нового элемента в T2 автоматически заполняет ключевое поле, ссылающееся на соответствующий элемент T1. Если не устраивает- меняешь (вываливается список и т.п.).

Модератор: Тема перенесена из форума "Firebird, InterBase".
...
Рейтинг: 0 / 0
Добавление новой записи с помощью навигатора
    #39580758
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> не было там оглавления. ибо нефиг. читать надо все

Узнаю брата Колю, узнаю... (с) Если на суахили на каком-нибудь
сельскохозяйственном форуме Танзании кто-то напишет что-то
в таком же стиле - я подумаю, что это ты там отпуск проводишь.

> устарела в каком именно смысле?

Раз для начинающих - надо как HowTo - связали - молодцы, а
инсертим так-то и так-то (примеры для известных 2-3 способов).

kdv> собственно, вопрос сугубо интерфейсный

Не, GUI тут как раз второстепенен. ТС хочет вставлять
через присвоение DetailDataSet.Fields + Post и спрашивает как.

kdv> Ересь какая-то. Почему-бы не сделать в поле idcat
kdv> вываливающийся список значений из Т1.

Это а) подразумевает использование лукапов, которых многие
(если не большинство) чураются (кто - из брезгливости, кто из
религиозных соображений, кого производительность/удобство
не устраивают, кто тупо приготовить не смог); б) редактирование
в гриде, что ещё хуже, чем "а". Так что сам ты ересь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Добавление новой записи с помощью навигатора
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]