SQL Server触发器+MS Access窗体



我的应用程序是链接到SQL Server数据库的前端MS Access应用程序。

我在MS Access中有一个用于Orders表的表单,还有一个子表单用于Orderslines

OrdersLines表中,有一个触发器用于计算总和(Quantity x unit price(及更多。

";有趣的";在MS Access中,当我创建新订单时,我不能修改Orders表,因为数据库和Access的数据不相同。

因此,当我在创建新订单的过程之后在MS Access中运行me.requery时,me.requery会将我发送到一个新记录。

当我修改此命令时,不会发生这种情况。

我尝试了很多方法,但我无法用新命令来保持当前记录。

任何想法都将受到的欢迎

尼科

解决此问题的最简单方法是向每个SQL Server表添加一个TimeStamp字段。

Microsoft Access可以通过TimeStamp字段跟踪SQL中记录的更改,并且它将自动从SQL Server中重新查询数据;数据已被另一用户"修改";消息

您添加的字段可以有任何您想要的名称(我使用名称tsJET,因为在这种情况下,此字段专门帮助JET/ACE引擎跟踪更改(,并且字段的类型是TimeStamp。您不必在任何查询或表单中包含此字段,它只需存在于表中即可。

请确保在将此字段添加到SQL Server表之后刷新表链接;参见";表的结构更改。

注意:不能修改"时间戳"字段中的数据。SQL Server会自动处理此问题。

最新更新