Vba DoCMD.RunSQL(更新表增加值位置)
我希望有人能帮助解决这个问题。 我在Access数据库MdB中使用下面的VBA代码 但是现在我需要知道如何用1,2,3,4,5更新列Pos, 现在,列Pos zero的默认值为 示例结果: 我现在使用当前脚本,但我不知道如何为每条记录添加+1值Vba DoCMD.RunSQL(更新表增加值位置),vba,ms-access,Vba,Ms Access,我希望有人能帮助解决这个问题。 我在Access数据库MdB中使用下面的VBA代码 但是现在我需要知道如何用1,2,3,4,5更新列Pos, 现在,列Pos zero的默认值为 示例结果: 我现在使用当前脚本,但我不知道如何为每条记录添加+1值 Public Sub DoSQL() Dim SQL As String ' Here i want + 1 for the pos in every next record.... SQL = "UP
Public Sub DoSQL()
Dim SQL As String
' Here i want + 1 for the pos in every next record....
SQL = "UPDATE TABLE SET Pos = 1 WHERE Box = 'UPDATE'"
DoCmd.RunSQL SQL
End Sub
尝试以下表达式:
SQL = "UPDATE TABLE SET Pos = Pos + 1 WHERE Box = 'UPDATE'"
如果所有Pos均为零,请尝试以下操作:
SQL = "UPDATE TABLE SET Pos = Id WHERE Box = 'UPDATE'"
如果Id不是顺序的,您可以使用此处描述的方法之一:。谢谢您的反馈。当我使用“Pos+1”时,所有选择记录(更新)得到值1。但我需要每个记录的每个Pos增加1 2 3 4。有办法解决这个问题吗?谢谢,所以Pos仅为零。尝试一些替代方案-请看扩展答案。哦,对不起;我没有id号为的列(类型错误)。。我只有Pos列和box列。Pos=Id不适用于我,因为我没有Id列。然后简单的方法是将字段
Id
添加为自动编号字段,然后运行更新查询。或者,如果您不删除记录,请将Id
重命名为Pos
。感谢您的反馈;但我无法使用“自动编号”字段,因为我选择了带有“where Box”列的记录。唯一的选项是所选的记录id。是否有方法将记录id用作pos的值?当我运行UPDATESQL语句时,我有记录1 t/m4。