访问表单保存功能

时间:2015-01-06 15:59:07

标签: forms vba ms-access

所以我收到了客户的请求,我想知道是否有这样的东西可用。

基本上有一个名为Order的表单。

加载此表单后,用户将输入与此订单相关的所有必要信息,并将其提交至数据库,以便跟踪和过期状态,付款,与订单相关的支票号码等。

他提到他遇到了几个案例,他们将同一产品的几批货物合同交给同一客户,并且可能需要在第一个订单中输入的信息被复制为10个不同的订单。

是否有某种方法可以保存并复制他们输入的内容到表单中,以便在想要再次输入时重新加载?

当然,日期信息需要在再次提交之前进行编辑。

但是我怎么能实现这个功能呢? VB是否能够“监听”表单内容并将其重新粘贴回相应的字段/值中?

我对VB不太熟悉,所以在这个领域的任何帮助都将不胜感激。

附件是他用来输入记录的表格图片。我认为我的方法是在Add New Order按钮下面添加几个按钮。

也许第一个可以获取记录数据,第二个也许可以将值映射回来 Form

1 个答案:

答案 0 :(得分:1)

所以我终于理解了你想要的东西,并且,有一种方法可以解决这个问题。

在您的评论中,您说您想要检索最后创建的记录,您甚至可以发布可用于检索它的查询。因此,让我们使用该查询来提取您的值并将其放入您的表单中。

假设你有一个命令按钮[cmd_fill_default]。在onClick事件中,您应该写下这样的内容:

sub cmd_fill_default_onClick()
    dim db as DAO.Database, rs as DAO.RecordSet
    dim strSQL as String

    Set db = currentdb() ' Connect to your current database
    ' Retrieve the last record
    strSQL = "select top 1 a.* from your_table as a order by [CP_Ref] desc"
    set rs = db.openRecordset(strSQL, dbOpenDynaset, dbReadOnly)
    ' Move to the first (and only) row in the record set
    rs.moveFirst

    ' Now, you must fill each control (text box, combo box, check box, etcetera)
    ' with the retrieved values.
    ' I don't know how your controls are called, but it would be something 
    ' like this:
    txt_something.value = rs![something]
    txt_another_thing.value = rs![another_thing]
    ' and so on

    ' Once you're done, remember to close everything
    rs.close
    db.close
end sub

现在您的控件将填充数据,并且它们将是可编辑的。

希望这有帮助