簡體   English   中英

MS Access 2003-未綁定表單使用INSERT語句保存到表; 子窗體呢?

[英]MS Access 2003 - Unbound Form uses INSERT statement to save to table; what about subforms?

因此,我有一個未綁定的表單,可用於在單擊按鈕時將數據保存到表中。

有沒有一種方法可以讓我輸入子表單,使我可以在單擊同一按鈕的同時將數據保存到表中? 基本上,我想為用戶添加更多的輸入選項,盡管我知道執行此操作的其他方式,但我對這種方式(如果可以做到)特別好奇。

因此,可以說“父表單”是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

如果沒有完成代碼,我想您可能會看到我所追求的GOTCHA。 我嘗試了此操作,並獲得了“ Access找不到表格””“。 我想我也幾乎可以理解為什么使用這種方法,因為當我單擊將新的子表單調用到父表單的按鈕時,在sub1關閉和sub2打開時,不會保留/保存剛剛輸入的值。 我應該提到的是,上述想法並非旨在成為一種或另一種方式,而是每次都使用兩種子形式。

所以這是一個例子。 我想使用這種方法(如果可能的話)在一種形式中具有大約7種不同的子形式選擇,並能夠通過SQL語句保存到表中。

我意識到可能會有更好的方法,但是我只是想知道我是否可以出於好奇而采用這種方法。

一如既往的感謝!

您的問題在於您如何引用控件,而不是

表格!sub1.txt價格

嘗試

我!sub1.form.txt價格

您可以在此處看到有關如何引用子表單的更多示例

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM