51代码网ORACLEMYSQLSQL SERVER其它数据库java/jspasp/asp.netC/C++/VC++APP应用其它语言服务器应用
您现在的位置: 51代码网 >> 其它数据库 >> 文章正文

access运行时错误'-2147168242(8004d00e)' 没有活动事务

更新时间:2013-6-15:  来源:51代码网

access运行时错误'-2147168242(8004d00e)' 没有活动事务

提示:运行时错误'-2147168242(8004d00e)' 没有活动事务

如果把下面的事务处理语句去掉,程序能正确的执行
代码如下:

Sub save_barcode()
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset
   cnn.ConnectionString = "Provider=SQLOLEDB;" _
        & "server=127.0.0.1;" _
        & "User ID=sa;" _
        & "Password =qwe;" _
        & "DNS=d;" _
        & "Initial Catalog =c"
   cnn.Open
  
If MsgBox(StrConv("是否打印?", vbWide), _
        vbQuestion + vbYesNo) = vbYes Then
       
On Error GoTo err_proc
cnn.BeginTrans

sql = "select * from Tb_BarCode_save where left(bar_code,len(bar_code)-4)='" & str_Barcode & "'"

rs.Open sql, cnn, 3, 2
   If rs.RecordCount = 0 Then
         rs.AddNew
         rs.Fields.Item(1).Value = Trim(str_Barcode) & "0001"
         rs.Fields.Item(2).Value = Trim(str_pack_number)
         rs.Fields.Item(3).Value = Trim(str_tex_index)
         rs.Fields.Item(4).Value = Trim(str_tex_employee_id)
         rs.Fields.Item(7).Value = Trim(str_tex_order_no)
         rs.Fields.Item(8).Value = str_print_time
         rs.Fields.Item(9).Value = Trim(str_tex_mcode)
         rs.Fields.Item(10).Value = Trim(str_tex_custums_code)
         rs.Fields.Item(11).Value = Trim(str_print_man)
         rs.Update
         rs.Close
    Else
      sql = "select Max(right(bar_code,4)) from Tb_BarCode_save where left
            (bar_code,len(bar_code)-4)='" & str_Barcode & "'"
        rs1.Open sql, cnn, 3, 2
        strID = Format(CStr(CInt(rs1(0)) + 1), "0000")
         rs.AddNew
         rs.Fields.Item(1).Value = Trim(str_Barcode) & strID
         rs.Fields.Item(2).Value = Trim(str_pack_number)
         rs.Fields.Item(3).Value = Trim(str_tex_index)
         rs.Fields.Item(4).Value = Trim(str_tex_employee_id)
         rs.Fields.Item(7).Value = Trim(str_tex_order_no)
         rs.Fields.Item(8).Value = str_print_time
         rs.Fields.Item(9).Value = Trim(str_tex_mcode)
         rs.Fields.Item(10).Value = Trim(str_tex_custums_code)
         rs.Fields.Item(11).Value = Trim(str_print_man)
         rs.Update   
          rs1.Close
         rs.Close     
     End If
cnn.CommitTrans'---------------
    MsgBox "success"
  Else
     MsgBox "failure"
End If

err_proc:
      cnn.RollbackTrans
      MsgBox "出现错误保存失败!,请重新操作", 48, "提示"
      Exit Sub
Set rs = Nothing
Set rs1 = Nothing
cnn.Close
Set cnn = Nothing
End Sub
你把 rs1.Close
          rs.Close      去掉,再提交

你把 rs1.Close
          rs.Close      去掉,VB编程习惯的问题,需要用到exit sub否则程序仍然会继续执行。

Sub save_barcode()
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset
   cnn.ConnectionString = "Provider=SQLOLEDB;" _
        & "server=127.0.0.1;" _
        & "User ID=sa;" _
        & "Password =qwe;" _
        & "DNS=d;" _
        & "Initial Catalog =c"
   cnn.Open
  
If MsgBox(StrConv("是否打印?", vbWide), _
        vbQuestion + vbYesNo) = vbYes Then
       
On Error GoTo err_proc
cnn.BeginTrans

sql = "select * from Tb_BarCode_save where left(bar_code,len(bar_code)-4)='" & str_Barcode & "'"

rs.Open sql, cnn, 3, 2
   If rs.RecordCount = 0 Then
         rs.AddNew
         rs.Fields.Item(1).Value = Trim(str_Barcode) & "0001"
         rs.Fields.Item(2).Value = Trim(str_pack_number)
         rs.Fields.Item(3).Value = Trim(str_tex_index)
         rs.Fields.Item(4).Value = Trim(str_tex_employee_id)
         rs.Fields.Item(7).Value = Trim(str_tex_order_no)
         rs.Fields.Item(8).Value = str_print_time
         rs.Fields.Item(9).Value = Trim(str_tex_mcode)
         rs.Fields.Item(10).Value = Trim(str_tex_custums_code)
         rs.Fields.Item(11).Value = Trim(str_print_man)
         rs.Update
         rs.Close
    Else
      sql = "select Max(right(bar_code,4)) from Tb_BarCode_save where left
            (bar_code,len(bar_code)-4)='" & str_Barcode & "'"
        rs1.Open sql, cnn, 3, 2
        strID = Format(CStr(CInt(rs1(0)) + 1), "0000")
         rs.AddNew

[1] [2] 下一页

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 赞助商链接
    推荐文章
  • 此栏目下没有推荐文章
  • {
    设为首页 | 加入收藏 | 友情链接 | 网站地图 | 联系站长 |