负值存储为值

时间:2014-08-20 19:14:22

标签: sql ms-access checkbox

我有一个带有整数变量的Sql表。

我正在使用Access前端(我知道,不是我的设计)

它上面有许多复选框,当它的Checked或True值被存储为负值时。

有没有办法让它作为1来存储?

谢谢,

史蒂夫

3 个答案:

答案 0 :(得分:1)

您可以在表单上绑定一个隐藏的文本框。然后在用户与之交互的表单上显示一个可见的复选框。

当用户选中AfterUpdate中的该框将10分配给隐藏文本框时,该文本框保存在数据库中:

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.)