powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Добавление строки в дочернюю таблицу
4 сообщений из 4, страница 1 из 1
Добавление строки в дочернюю таблицу
    #32233773
Ми
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две таблицы - Клиенты (поля ClientID , Address.... и т.д.) и Заказы (поля Order, ClientID ....), связанные отношением один-ко-многим. Делаю две формы AddClient и AddOrder и добавляю в таблицы записи инструкцией sql INSERT INTO. Добавление в таблицу Клиенты проходит легко и непринужденно, а при добавлении в таблицу Заказы выдается ошибка. Прошу подсказать:
1. Не связано ли это с тем, что таблица дочерняя?
2. У кого есть другие идеи, как грамотно добавлять записи в дочернюю таблицу?
...
Рейтинг: 0 / 0
Добавление строки в дочернюю таблицу
    #32233778
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сам Инсерт делай в событии - Отсуствие в списке с Response = acDataErrContinue, затем обнови источник поля после Инсерта
...
Рейтинг: 0 / 0
Добавление строки в дочернюю таблицу
    #32233849
Ми
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не понял, в каком событии? Он у меня на кнопке висит.
...
Рейтинг: 0 / 0
Добавление строки в дочернюю таблицу
    #32233858
TRoUbLEs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Когда формируешь новый заказ, на событие "отсутствие в списке" предлагаю повесить следующую процедурку:

----------
Private Sub Контрагент_NotInList(NewData As String, Response As Integer)
On Error GoTo NoInList
Dim new_agent As Integer, msgtitle As String, msgdialog As Integer
Const mb_yesno = 4
Const mb_iconexclamation = 48
Const mb_defbutton1 = 0, idyes = 6, idno = 7
msgtitle = "Контрагента нет в списке"
msgdialog = mb_yesno + mb_iconexclamation + mb_defbutton1
new_agent = MsgBox("Добавить нового контрагента?", msgdialog, msgtitle)
If new_agent = idno Then
Response = DATA_ERRCONTINUE
Else
DoCmd.OpenForm "Контрагент", acNormal, , , acAdd, acDialog
Response = DATA_ERRADDED
End If
agent_exit:
Exit Sub
NoInList:
MsgBox Err.Description
Resume agent_exit

End Sub
-------------------

После этого, при вводе заказа с новым контрагентом, будет открываться формочка, куда будет вводиться контрагент и дальше можно будет его выбрать.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Добавление строки в дочернюю таблицу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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