VB程序错误:“当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制”
Public Sub JZ() '定义结账函数newcnn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=CYGLXT;Data Source=DA64A01A064B44A"
SQL1 = "update 点单临时表 set 结账日期='" + Trim(rq.text) + "',是否结账='是' where 单据号='" + Trim(labdjh.Caption) + "'"
newcnn.Execute SQL1
SQL2 = "insert 日点单信息表(房台编号,房台类别,商品编号,商品名称,单位,数量,单价,金额,点单日期,结账日期,服务员编号,服务员姓名,状态,单据号,是否结账,备注) select 房台编号,房台类别,商品编号,商品名称,单位,数量,单价,金额,点单日期,结账日期,服务员编号,服务员姓名,状态,单据号,是否结账,备注 from 点单临时表 where 单据号='" + Trim(labdjh.Caption) + "'"
newcnn.Execute SQL2
SQL3 = "delete 点单临时表 where 是否结账='是'and 单据号='" +_
Trim(labdjh.Caption) + "'"
newcnn.Execute SQL3
SQL4 = "update 房间台号信息表 set 状态='空闲' where 编号='" + _
Label4(0).Caption + "'"
newcnn.Execute SQL4
newcnn.Close '关闭连接
End Sub
Private Sub Comnoagio_Click() '不打折结账
If Frame10.Visible = False Then
mystr = MsgBox("确认不打折结账吗?", vbYesNo)
If mystr = vbYes Then
rs1.Open "select * from 日结账表 order by 结账单据号",cnn,adOpenKeyset, adLockOptimistic
rs1.AddNew
rs1.Fields("结账单据号") = labdjh.Caption
rs1.Fields("房台编号") = Label4(0).Caption
rs1.Fields("日期") = Now
rs1.Fields("结款金额") = Val(Labyfje.Caption)
rs1.Fields("结款人") = Trim(Labxm.Caption)
rs1.Fields("结款方式") = "现金"
rs1.Fields("结款说明") = "现金结款" & Val(Labyfje.Caption) & "元"
rs1.Update
rs1.Close
Call JZ '调用函数
MsgBox ("结账完毕!")
Call main_qtgl_mdgl.list_change '调用函数
main_qtgl_mdgl.Enabled = True
Unload Me
End If
End If
End Sub
--------------------编程问答-------------------- rs1.Open "select * from 日结账表 order by 结账单据号",cnn,adOpenKeyset, adLockOptimistic
这里的cnn是哪里赋值的? --------------------编程问答-------------------- 另外,你把adOpenKeyset换成adOpenForwardOnly试试。
还有,.CursorLocation = adUseClient --------------------编程问答--------------------
在公共模块里赋的值
--------------------编程问答-------------------- 哥们!不行呀! --------------------编程问答-------------------- 你把CNN的赋值语句写出来看看 --------------------编程问答-------------------- 把“order by 结账单据号”删掉就ok了!
谢谢大家!
补充:VB , 网络编程