问题:如何在SQL / Access链接表中明确获取SHOW的默认值?
情景:
将Access表链接到SQL时,无法设置默认值 - Access在属性窗口中显示消息 - '无法在链接表中修改该属性'。
如果我在SQL中设置默认值,则在最终用户插入该行的记录时,它不会显式显示该值。他们要么必须单击列表框并选择值,要么他们将该字段留空并转到下一条记录,那么SQL约束将启动并显示上一条记录的默认值。
有没有办法明确显示默认值?
亲切的问候 d
答案 0 :(得分:2)
不,不是真的,除非你采用一些“kluge”解决方法。
Access不会看到也不会设置像PK(身份)字段这样的服务器。在本地表中,当您开始键入时,您可以看到默认值,并且还可以看到PK键(并且在提交记录之前可以看到)。
当您使用链接表和服务器端默认值,或者说自动编号PK(SQL Server中的PK +标识列)时,在您保存记录之前,该值不可用。
您当然可以通过使用访问表单解决此问题,因为直接在Access中编辑表是个坏主意。但是,这意味着您在Access窗体控件中设置控件默认值,而不是在表中。
最后但并非最不重要的是,如果这是一个表单,那么您可以关闭表单的allow添加,并在名为“add new”的表单上放置一个按钮。代码将添加记录,然后将表单设置为该新记录 - 这将显示默认值。 (但如果用户当时退出表单而没有做任何事情或想要添加记录,则会导致创建记录)。因此,这可能会在您的应用程序中导致大量“额外”空白记录。
因此默认服务器端和PK /身份值的默认值不会显示NOR ARE,直到您提交(保存)相关记录为止。
在数据输入期间,您还可以按F9刷新当前记录(如果记录是脏的,这只会起作用 - 所以f9只有在你已经在行中完成“某些”数据输入时才有效。注意ctrl- s保存当前记录也有效(并且只有在有问题的行变脏之后才会再次使用)。
所以用户可以点击ctrl-s,但真的是为了减少折磨,你最好使用一个表格 - 甚至是一张看起来像桌子来处理这个问题的数据表。