访问& SQL链接表默认值

时间:2017-11-01 10:04:44

标签: sql-server tsql ms-access

问题:如何在SQL / Access链接表中明确获取SHOW的默认值?

情景:

  • 您在访问表中。其中一个字段标有' Collection 法&#39 ;.
  • 该字段是一个列表框,其中包含2个值,可供选择-Arrears或 预先
  • 在属性字段中,默认值为Advance
  • 在数据表视图中,默认值EXPLICITLY显示Advance for 该字段与空白单元格相对。

将Access表链接到SQL时,无法设置默认值 - Access在属性窗口中显示消息 - '无法在链接表中修改该属性'。

如果我在SQL中设置默认值,则在最终用户插入该行的记录时,它不会显式显示该值。他们要么必须单击列表框并选择值,要么他们将该字段留空并转到下一条记录,那么SQL约束将启动并显示上一条记录的默认值。

有没有办法明确显示默认值?

亲切的问候 d

1 个答案:

答案 0 :(得分:2)

不,不是真的,除非你采用一些“kluge”解决方法。

Access不会看到也不会设置像PK(身份)字段这样的服务器。在本地表中,当您开始键入时,您可以看到默认值,并且还可以看到PK键(并且在提交记录之前可以看到)。

当您使用链接表和服务器端默认值,或者说自动编号PK(SQL Server中的PK +标识列)时,在您保存记录之前,该值不可用。

您当然可以通过使用访问表单解决此问题,因为直接在Access中编辑表是个坏主意。但是,这意味着您在Access窗体控件中设置控件默认值,而不是在表中。

最后但并非最不重要的是,如果这是一个表单,那么您可以关闭表单的allow添加,并在名为“add new”的表单上放置一个按钮。代码将添加记录,然后将表单设置为该新记录 - 这将显示默认值。 (但如果用户当时退出表单而没有做任何事情或想要添加记录,则会导致创建记录)。因此,这可能会在您的应用程序中导致大量“额外”空白记录。

因此默认服务器端和PK /身份值的默认值不会显示NOR ARE,直到您提交(保存)相关记录为止。

在数据输入期间,您还可以按F9刷新当前记录(如果记录是脏的,这只会起作用 - 所以f9只有在你已经在行中完成“某些”数据输入时才有效。注意ctrl- s保存当前记录也有效(并且只有在有问题的行变脏之后才会再次使用)。

所以用户可以点击ctrl-s,但真的是为了减少折磨,你最好使用一个表格 - 甚至是一张看起来像桌子来处理这个问题的数据表。