Office中国论坛/Access中国论坛

标题: 请问rollback 为什么没用? [打印本页]

作者: franklin2k    时间: 2006-11-1 03:49
标题: 请问rollback 为什么没用?
    Dim wrkDefault As Workspace
    Set wrkDefault = DBEngine.Workspaces(0)
   
    Dim Rst As New ADODB.Recordset
    Dim Conn As New ADODB.Connection
    Set Conn = CurrentProject.Connection
    Dim sql1 As String
    sql = "SELECT 职工, Sum(金额) AS 金额之总计 FROM 帐目表 GROUP BY 职工, 日期 HAVING (日期>=CDate('2006/9/1'))"
    Rst.Open sql, Conn, adOpenDynamic, adLockOptimistic
    wrkDefault.BeginTrans
    Do While Not Rst.EOF
        Conn.Execute "insert into 工资表(月份,职工,应发工资)values ('9','" & Rst!职工 & "', " & CStr(Rst!金额之总计) & "   )"
        Rst.MoveNext
    Loop
   
   
    If MsgBox("保存吗?", vbYesNo) = vbYes Then
         wrkDefault.CommitTrans
    Else
        wrkDefault.Rollback
    End If

点击no后,数据还是提交了,为什么? 谢谢

[此贴子已经被作者于2006-10-31 19:49:47编辑过]


作者: franklin2k    时间: 2006-11-1 03:59
已经解决.改为


   
    Dim Rst As New ADODB.Recordset
    Dim Conn As New ADODB.Connection
    Set Conn = CurrentProject.Connection
    Dim sql1 As String
    sql = "SELECT 职工, Sum(金额) AS 金额之总计 FROM 帐目表 GROUP BY 职工, 日期 HAVING (日期>=CDate('2006/9/1'))"
    Rst.Open sql, Conn, adOpenDynamic, adLockOptimistic
    conn.BeginTrans
    Do While Not Rst.EOF
        Conn.Execute "insert into 工资表(月份,职工,应发工资)values ('9','" & Rst!职工 & "', " & CStr(Rst!金额之总计) & "   )"
        Rst.MoveNext
    Loop
   
   
    If MsgBox("保存吗?", vbYesNo) = vbYes Then
         conn.CommitTrans
    Else
        conn.Rollback
    End If




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3