如何重置表单(绑定加入查询)

时间:2011-10-07 06:00:10

标签: ms-access vba

在我的Access 2010数据库中,我有两个表:clients(包含列:client_id,name)和orders(包含列:order_id,client_id,description)。我有一个名为orders_with_clients的查询,它连接客户端及其订单(例如“select orders.client_id,orders.description,clients.name from orders join clients on orders.client_id = clients.client_id”)。我可以插入此查询。我可以通过两种方式插入其中:

  1. 我可以提供client_id和description(类似于“插入到orders_with_clients(client_id,description)中的值(3,'三对袜子')”) - 在这种情况下,Access在订单表中创建一个新行连接(通过外键)与来自客户表的现有行。

  2. 我可以提供名称和描述(类似于“插入到order_with_clients(名称,描述)中的值('Zenon','三对袜子')”) - 在这种情况下Access在客户端创建一个新行表,然后在订单表中连接一个新行(通过外键)与这个新客户端。

  3. 我有一个与查询orders_with_clients绑定的表单。它有三个字段:client_id(它可能是组合框或文本字段 - 我不关心),名称和描述(两个文本字段)。当然,用户在任何时候只使用其中两个字段:client_id和description或名称和描述。

    字段client_id由某些VBA代码根据其他一些形式发生的事件进行控制(设置)。我的意思是,当某些事件发生时,我的VBA代码将client_id字段设置为某个值。我还希望有时VBA代码将此表单重置为清除空状态 - 包括设置client_id字段以清除新的空状态。这就是我遇到问题的地方。我试图做“fieldname.value = 0”和“fieldname.value = null”,但Access说这里放置null是错误的。我还试图做类似“formname.requery”的事情,但它导致当前状态被保存到数据库。

    我该怎么做?

1 个答案:

答案 0 :(得分:0)

这是一个绑定表单,希望客户端ID绑定到一个关键字段,你不想改变它。

之后,这完全取决于你想做什么。您是否希望使用表单进行数据输入?在这种情况下,使用新参数打开表单。你想用不同的身份证打开吗?然后重新打开表单或设置记录源。