MS Access 2003 - Несвязанная форма использует инструкцию INSERT для сохранения в таблицу;а как насчет подчиненных форм?
-
18-09-2019 - |
Вопрос
Итак, у меня есть несвязанная форма, которую я использую для сохранения данных в таблицу при нажатии кнопки.
Есть ли способ, которым я могу создать подчиненные формы для ввода, которые позволят мне сохранять данные в таблицу одним нажатием кнопки?По сути, я хочу добавить больше вариантов ввода для пользователя, и хотя я знаю другие способы сделать это, мне особенно любопытно сделать это таким образом (если это возможно).
Итак, допустим, "родительская форма" - frmMain.И есть две дочерние формы "sub1" и "sub2".Просто для примера допустим, что во frmMain есть два текстовых поля:txtTitle и txtAuthor.на sub1 и sub2 есть текстовое поле, которое представляет что-то вроде цен.Идея заключается в названии и авторе книги, а затем в цене в каждом магазине (упрощенно).
Итак, я попробовал это (потому что подумал, что попробовать стоит).:
Dim db as DAO.database
Dim sql as String
sql = "INSERT INTO (Title, Author, PriceA, PriceB) VALUES ("
if not isnull(me.txtTitle) then
sql = sql & """" & me.txtTitle & ""","
Else
sql = sql & " NULL,"
End If
if not IsNull(me.txtAuthor) then
sql = sql & " """ & me.txtAuthor & ""","
else
sql = sql & " NULL,"
end if
if not IsNull (forms!sub1.txtPrice) then
sql = sql & " """ & forms!sub1.txtPrice & ""","
else
sql = sql & " NULL,"
end if
не заканчивая код, я думаю, вы можете увидеть ОШИБКУ, к которой я стремлюсь.Я попробовал это и получил сообщение "Access не может найти форму "" ".Я думаю, что я тоже могу в значительной степени понять, почему при таком подходе, потому что, когда я нажимаю кнопку, которая вызывает новую вложенную форму в родительской форме, только что введенные значения не сохраняются при закрытии sub1 и открытии sub2.Я должен упомянуть, что приведенная выше идея не предназначена для того или иного подхода, скорее обе подформы используются каждый раз.
итак, это пример.я хочу использовать этот метод (если возможно), чтобы иметь около 7 различных вариантов вложенной формы в одной форме и иметь возможность сохранять в таблицу с помощью инструкции SQL.
Я понимаю, что могут быть способы получше, но мне просто интересно, смогу ли я достичь этого с помощью такого подхода из любопытства.
Спасибо, как всегда!
Решение
Ваша проблема заключается в том, как вы ссылаетесь на элементы управления, вместо
формы!sub1.txtPrice
попробуй
я!sub1.form.txtPrice
Вы можете увидеть больше примеров того, как ссылаться на вложенные формы здесь