繁体   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