Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

到这段弹确认或取消对话框,但不关选哪个最后执行的是同样的结果

苏雨杭  发表于:2011-05-20 10:09:34  
复制

If MsgBox("您确认要删除!", vbOKCancel + vbInformation, "提示:") = vbOK Then

到这段弹确认或取消对话框,但不关选哪个最后执行的是同样的结果

这是为什么呢?

 

Top
麥田 发表于:2011-05-20 10:21:14
If MsgBox("您确认要删除!", vbOKCancel + vbExclamation, "提示!!!!") = vbOK Then

振宇 发表于:2011-05-20 10:25:59

还是一样的,刷新后是同一个结果。



麥田 发表于:2011-05-20 13:05:51
把IF下面条件也发出来看看

振宇 发表于:2011-05-20 14:26:22

以下是全不的删除代码,帮忙看一下。

 

Private Sub 删除物料_Click()
On Error GoTo Err_删除物料_Click
Dim STemp As String
Dim i As Integer
Dim Rs As ADODB.Recordset
Set Rs = New ADODB.Recordset
STemp = "Select * From [tbl_ 车加工出库]"
Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    Rs.MoveFirst
    For i = 1 To Rs.RecordCount
        If Rs("lsbh") = Me![frm_ 车加工出库_child]![lsbh] Then
            Rs.Delete 1
            i = Rs.RecordCount + 1
        Else
            Rs.MoveNext
        End If
    Next i
    If MsgBox("您确认要删除!", vbOKCancel + vbInformation, "提示:") = vbOK Then
    Me![frm_ 车加工出库_child].Requery
    Set Rs = Nothing
Exit_删除物料_Click:
    Exit Sub
Err_删除物料_Click:
    MsgBox Err.Description
    Resume Exit_删除物料_Click
    End If
End Sub



aslxt 发表于:2011-05-20 15:28:36

改成这样看看?

If MsgBox("您确认要删除!", vbOKCancel + vbInformation, "提示:") = vbOK Then
  '要做什么...

else

  '要做什么...

end if

 

 



振宇 发表于:2011-05-20 15:31:49

这样试过了没用



aslxt 发表于:2011-05-20 17:40:25

你得把删除的代码放到确认删除的后面:

Private Sub 删除物料_Click()
On Error GoTo Err_删除物料_Click
Dim STemp As String
Dim i As Integer
Dim Rs As ADODB.Recordset
Set Rs = New ADODB.Recordset
STemp = "Select * From [tbl_ 车加工出库]"
Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    Rs.MoveFirst
    For i = 1 To Rs.RecordCount
        If Rs("lsbh") = Me![frm_ 车加工出库_child]![lsbh] Then
          If MsgBox("您确认要删除!", vbOKCancel + vbInformation, "提示:") = vbOK Then'确认删除
            Rs.Delete 1
            i = Rs.RecordCount + 1

          end if
        Else
            Rs.MoveNext
        End If
    Next i
    'If MsgBox("您确认要删除!", vbOKCancel + vbInformation, "提示:") = vbOK Then
    Me![frm_ 车加工出库_child].Requery
    Set Rs = Nothing
Exit_删除物料_Click:
    Exit Sub
Err_删除物料_Click:
    MsgBox Err.Description
    Resume Exit_删除物料_Click
    End If
End Sub

试一下



符鸿敏 发表于:2011-05-20 20:28:06

 应该使用“vbYesNo”函数。如下示例可参考

 

 If Me.保存.Enabled = True Then
            a = MsgBox(Chr(10) & "是___我要退出登记,该数据不必保存" & Chr(10) & Chr(10) & "否___完成该份检查登记。", vbYesNo + 32 + vbDefaultButton2, "当前登记尚未录入完成,现在退出数据将不能保存!真的要退出吗?")
            If a = 6 Then
                Me.Undo
                Call Sd_Locked
                DoCmd.Close acForm, Me.Name
            Else
                Exit Sub '这是程序运行停止命令,也可以将其设置成任何自己想要的其它情况
            End If
  



符鸿敏 发表于:2011-05-20 20:37:36

用到楼主的例子上,应该将

If MsgBox("您确认要删除!", vbOKCancel + vbInformation, "提示:") = vbOK Then 改为:

 

 a = MsgBox(("您确认要删除!", vbYesNo + 32 + vbDefaultButton2, "提示")

            If a = 6 Then
                  Rs.Delete 1
            i = Rs.RecordCount + 1

          end if
            Else
                Exit Sub '这是程序运行停止命令,也可以将其设置成任何自己想要的其它情况,如  Rs.MoveNext

            End If

 

试试吧。



振宇 发表于:2011-05-30 18:41:55

问题已经决绝,谢谢各位大虾的回答。



总记录:10篇  页次:1/1 9 1 :