|
|
|
Добавление новой записи с помощью навигатора
|
|||
|---|---|---|---|
|
#18+
Привет всем. Есть 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. Полагаю, что значение :IDCAT - пустое. Как в :IDCAT задать значение T1.ID и правильно ли я "победил" сообщение "Полю ID требуется значение"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 16:46 |
|
||
|
Добавление новой записи с помощью навигатора
|
|||
|---|---|---|---|
|
#18+
HadroranКак в :IDCAT задать значение T1.ID и правильно ли я "победил" сообщение "Полю ID требуется значение"? 1. задать ручками 2. что именно ты победил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 17:08 |
|
||
|
Добавление новой записи с помощью навигатора
|
|||
|---|---|---|---|
|
#18+
авторНа гриде с Т2 установлен навигатор. Здесь Delphi никто не знает. (С) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 19:37 |
|
||
|
Добавление новой записи с помощью навигатора
|
|||
|---|---|---|---|
|
#18+
HadroranКак в :IDCAT задать значение T1.ID видимо, для датасета с T2 не указана зависимость от датасета T1. связь эта делается через datasource. Читаем http://www.ibase.ru/ibx/ раздел Master-Detail. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 19:46 |
|
||
|
Добавление новой записи с помощью навигатора
|
|||
|---|---|---|---|
|
#18+
Hadroran, гм, про мастер-деталь не совсем в кассу, тогда дополню, что в данном случае датасет Т1 является "справочным" для столбца idcat T2. В общем, почитайте про датасеты и datasource, и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 19:48 |
|
||
|
Добавление новой записи с помощью навигатора
|
|||
|---|---|---|---|
|
#18+
Как всегда не удивлен.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 20:14 |
|
||
|
Добавление новой записи с помощью навигатора
|
|||
|---|---|---|---|
|
#18+
ЛюбезныйавторНа гриде с Т2 установлен навигатор. Здесь Delphi никто не знает. (С) Ах да... навигатор то тока в дельфях... Простите что не по адресу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 20:18 |
|
||
|
Добавление новой записи с помощью навигатора
|
|||
|---|---|---|---|
|
#18+
Тогда может кто подсказать. В коде для свойства InsertSQL Код: pascal 1. :IDCAT как можно написать, чтобы значение бралось с Т1.ID. Ну например, так (но так не работает) Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 20:21 |
|
||
|
Добавление новой записи с помощью навигатора
|
|||
|---|---|---|---|
|
#18+
Hadroran> Как всегда не удивлен.... Чему именно? 1. Топик создал не там (модераторы перенесут). 2. Это классическая связка мастер-деталь. Соответственно её техническая реализация зависит от используемой библиотеки доступа (которую ты не назвал). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 20:26 |
|
||
|
Добавление новой записи с помощью навигатора
|
|||
|---|---|---|---|
|
#18+
kdvЧитаем http://ibase.ru/ibx раздел Master-Detail.Глянул по диагонали. 1. Во-первых, в статье нет оглавления со ссылками (не помню, было ли раньше - кажется, было) - для статьи таких размеров в 2018 это даже не смешно. 2. Статья (особенно указанный раздел) устарела очень сильно, нужно дописывать, ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 20:36 |
|
||
|
Добавление новой записи с помощью навигатора
|
|||
|---|---|---|---|
|
#18+
Hadroran> :IDCAT как можно написать, чтобы значение бралось с Т1.ID. Зависит от библиотеки доступа. В FIBPlus можно использовать префикс MAS_. Ну и, конечно, во всех библиотеках можно вручную заполнять, наверное. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 20:38 |
|
||
|
Добавление новой записи с помощью навигатора
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамВо-первых, в статье нет оглавления со ссылками (не помню, было ли раньше - кажется, было) - для статьи таких размеров в 2018 это даже не смешно. не было там оглавления. ибо нефиг. читать надо все. Статья для начинающих, а не справочник с заходами на нужные темы. В конце-концов есть кнопка Ctrl-F. Гаджимурадов РустамСтатья (особенно указанный раздел) устарела очень сильно, нужно дописывать устарела в каком именно смысле? В IBX все по прежнему, ничего существенно нового (кроме юникода) с момента написания статьи не появилось. А про то что спрашивает автор топика, там и так не было. Типа, это слишком просто, чтобы спрашивать, да и не спрашивал никто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 23:28 |
|
||
|
Добавление новой записи с помощью навигатора
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, собственно, вопрос сугубо интерфейсный, и достаточно дурной. Допустим, мы видим таблицу Т2 в гриде. А как мы видим таблицу Т1? Тоже в гриде, отдельном? И что, надо встать в гриде Т1, а потом жмакать кнопку вставки в гриде Т2? Ересь какая-то. Почему-бы не сделать в поле idcat вываливающийся список значений из Т1. Как это делать - написано во всех учебниках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2018, 23:32 |
|
||
|
Добавление новой записи с помощью навигатора
|
|||
|---|---|---|---|
|
#18+
kdv... И что, надо встать в гриде Т1, а потом жмакать кнопку вставки в гриде Т2? Ересь какая-то. Почему-бы не сделать в поле idcat вываливающийся список значений из Т1... Одно другому не мешает. Если ты работаешь с элементами (Т2) конкретной категории (ссылающимися на конкретную записью таблицы T1), то вполне логично, что добавление нового элемента в T2 автоматически заполняет ключевое поле, ссылающееся на соответствующий элемент T1. Если не устраивает- меняешь (вываливается список и т.п.). Модератор: Тема перенесена из форума "Firebird, InterBase". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 00:03 |
|
||
|
Добавление новой записи с помощью навигатора
|
|||
|---|---|---|---|
|
#18+
kdv> не было там оглавления. ибо нефиг. читать надо все Узнаю брата Колю, узнаю... (с) Если на суахили на каком-нибудь сельскохозяйственном форуме Танзании кто-то напишет что-то в таком же стиле - я подумаю, что это ты там отпуск проводишь. > устарела в каком именно смысле? Раз для начинающих - надо как HowTo - связали - молодцы, а инсертим так-то и так-то (примеры для известных 2-3 способов). kdv> собственно, вопрос сугубо интерфейсный Не, GUI тут как раз второстепенен. ТС хочет вставлять через присвоение DetailDataSet.Fields + Post и спрашивает как. kdv> Ересь какая-то. Почему-бы не сделать в поле idcat kdv> вываливающийся список значений из Т1. Это а) подразумевает использование лукапов, которых многие (если не большинство) чураются (кто - из брезгливости, кто из религиозных соображений, кого производительность/удобство не устраивают, кто тупо приготовить не смог); б) редактирование в гриде, что ещё хуже, чем "а". Так что сам ты ересь. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2018, 00:20 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=120&tid=2041366]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 325ms |

| 0 / 0 |
