我有一个带有整数变量的Sql表。
我正在使用Access前端(我知道,不是我的设计)
它上面有许多复选框,当它的Checked或True值被存储为负值时。
有没有办法让它作为1来存储?
谢谢,
史蒂夫
答案 0 :(得分:1)
您可以在表单上绑定一个隐藏的文本框。然后在用户与之交互的表单上显示一个可见的复选框。
当用户选中AfterUpdate
中的该框将1
或0
分配给隐藏文本框时,该文本框保存在数据库中:
Private Sub chkStatus_AfterUpdate()
If chkStatus Then txtMyField = 1 Else txtMyField = 0
End Sub
答案 1 :(得分:0)
您可以将SQL数据类型更改为Bit吗?如果链接的字段值为-1,如何创建计算列并将值设置为1?如果您需要对此列进行过滤,则可以将其保留,这样您甚至可以在索引中使用它。
答案 2 :(得分:0)
您是否有理由在SQL中使用integer
类型而不是bit
?在MS Access(和Visual Basic for Applications)中,True
在转换为Integer
时为-1,而不是1.
在SQL Server中,bit
数据类型允许您在比整数值更小的空间中存储true / false变量,并且MS Access前端将根据以下内容自动将正确的值存储在SQL后端中。表单和表视图中的复选框。 (是的,SQL Server的TRUE
值为1.)