|
下面是一段通过sql查询access数据表 “供方分类”表 字段“分类“下的记录数量并自动生成编号的代码,运行不成功,请各位大师帮助解决一下,问题出在什么地方。谢谢!
Sub 编号() '自动编号On Error Resume Next
Dim y$
y = HzToPy(ComboBox1, 1, "", 0, 1)
If ComboBox1 = "" Then
MsgBox "数据不完整,请输入要修改内容", vbCritical, ""
Exit Sub
End If
Call mydata
sql = " Select count(1) AS 分类记录 from 供方分类 where 分类=" & ComboBox1 & ""
RST.Open sql, CNN, adOpenKeyset, adLockOptimistic
TextBox1.Value = y & Format(RST.Fields(" 分类记录 ") + 1, "000")
Set RST = Nothing
CNN.Close
End Sub
测试了下,是0开始的。所以字段的话也可以直接用RST.FIELDS(0)
如果记录号显示不对的话,val(.Fields(0)) + 1,这个应该不会存在问题,会做自动转换的。 - Sub 编号() '自动编号On Error Resume Next
- Dim y$
- y = HzToPy(ComboBox1, 1, "", 0, 1)
- If ComboBox1 = "" Then
- MsgBox "数据不完整,请输入要修改内容", vbCritical, ""
- Exit Sub
- End If
- Call mydata
- Sql = " Select count(1) AS 分类记录 from 供方分类 where 分类='" & ComboBox1 & "'"
- With RST
- .Open Sql, CNN, adOpenKeyset, adLockOptimistic
- MsgBox .EOF
- If .EOF Then
- TextBox1.Value = y & "001"
- Else
- TextBox1.Value = y & Format(.Fields(0) + 1, "000")
- End If
- End With
-
- Set RST = Nothing
- CNN.Close
- End Sub
复制代码
|
|