Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 出入境及;SQL链接表默认值_Sql Server_Tsql_Ms Access - Fatal编程技术网

Sql server 出入境及;SQL链接表默认值

Sql server 出入境及;SQL链接表默认值,sql-server,tsql,ms-access,Sql Server,Tsql,Ms Access,问题:如何显式获取要在SQL/Access链接表中显示的默认值 情景: 您在一个访问表中。其中一个字段标记为“集合” 方法' 该字段是一个列表框,有两个值可供选择-欠款或 前进 在properties字段中,默认值为Advance 在数据表视图中,默认值显式显示 与空白单元格相对的字段 将Access表链接到SQL时,不能设置默认值-Access会在“属性”窗口中显示一条消息-“无法在链接表中修改属性” 如果我在SQL中设置默认值,当最终用户插入该行的记录时,它不会显式显示该值。他们必须单击

问题:如何显式获取要在SQL/Access链接表中显示的默认值

情景:

  • 您在一个访问表中。其中一个字段标记为“集合” 方法'
  • 该字段是一个列表框,有两个值可供选择-欠款或 前进
  • 在properties字段中,默认值为Advance
  • 在数据表视图中,默认值显式显示 与空白单元格相对的字段
将Access表链接到SQL时,不能设置默认值-Access会在“属性”窗口中显示一条消息-“无法在链接表中修改属性”

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

是否有明确显示默认值的方法

问候
D

不,除非你采取了一些“kluge”变通办法,否则不会

Access将不会看到或设置服务器内容,例如PK(标识)字段。在本地表中,当您开始键入时,可以看到默认值,也可以看到PK键(在提交记录之前)

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

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

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

因此,在提交(保存)相关记录之前,不会显示或设置默认服务器端和PK/identity值

在数据输入过程中,您还可以点击F9刷新当前记录(这仅在记录变脏时有效–因此,F9仅在您已向行中输入“某些”数据时有效。请注意,保存当前记录的ctrl-s也有效(并且仅在相关行变脏后有效)

因此,用户可以按ctrl-s键,但实际上,为了减少折磨,最好使用一个表单,甚至是一个看起来像表格的数据表来处理这个问题。

这不是表单(目前无论如何)非常感谢您的丰富和有益的解释。由于除非您提交记录,否则值不会显示,所以我们选择在SQL中使字段为NULL,从而强制用户从链接表中的空白字段中进行选择,该缺省值在记录之前是在本地表中显示的默认值。提名。