尝试自动生成销售id。但我不知道为什么会出现此错误。
Set qs = New ADODB.Recordset
qs.Open "select * from DailyRecords ", db, 3, 2
With qs
If .RecordCount = 0 Then
txtsalesID.Text = "S-0001"
Else
qs.MoveLast
txtsalesID.Text = "S-" & Format(Right(qs!SalesID, 4) + 1, "0000") // this line is producing the error
End If
我甚至检查了数据库字段名称。它与SalesID相同。我尝试了很多并寻求帮助
我认为问题在于使用RecordCount
来检查记录集是否为空。RecordCount
将光标留在记录集的末尾,因此即使存在记录,也无法从记录中读取数据。您应该使用EOF
:
If .EOF Then
txtsalesID.Text = "S-0001"
Else
qs.MoveLast
txtsalesID.Text = "S-" & Format(Right(qs!SalesID, 4) + 1, "0000")
End If