MS Access 2003 - Несвязанная форма использует инструкцию INSERT для сохранения в таблицу;а как насчет подчиненных форм?

StackOverflow https://stackoverflow.com/questions/2406273

Вопрос

Итак, у меня есть несвязанная форма, которую я использую для сохранения данных в таблицу при нажатии кнопки.

Есть ли способ, которым я могу создать подчиненные формы для ввода, которые позволят мне сохранять данные в таблицу одним нажатием кнопки?По сути, я хочу добавить больше вариантов ввода для пользователя, и хотя я знаю другие способы сделать это, мне особенно любопытно сделать это таким образом (если это возможно).

Итак, допустим, "родительская форма" - 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

Вы можете увидеть больше примеров того, как ссылаться на вложенные формы здесь

http://www.mvps.org/access/forms/frm0031.htm

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top