Access交流中心

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

我想在删除前弹出对话框,以下代码应该如何修改

阿贝儿  发表于:2009-03-27 13:58:41  
复制

以下是删除后弹出对话框代码,我想在删除前弹出对话框,以下代码应该如何修改

 

 

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 产品资料"
'打开“产品资料”数据表
Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    '判断“产品资料”表是否为空
    If Rs.RecordCount < 1 Then
        Exit Sub
    End If
    '把记录集的指针指到第一条
    Rs.MoveFirst
    '使用For…Next循环语句在Rs数据集中循环判断
    For i = 1 To Rs.RecordCount
        '判断记录集中的“产品编号”字段值是否与子窗体中“产品编号”文本框内的值
        If Rs("产品编号") = Me![产品名称查询 子窗体]![产品编号] Then
            '如果相同,则把该记录删除
            Rs.Delete 1
            Exit For
        Else
            '如果不相同,则移到下一条记录
            Rs.MoveNext
        End If
    Next i
    '弹出“删除完成”的提示信息
    MsgBox "产品资料:" & Me![产品编号] & "已经删除完成!", vbOKOnly, "删除完成"
    '刷新“产品名称查询 子窗体”子窗体
    Me![产品名称查询 子窗体].Requery
    '释放系统为Rs数据集分配的空间
    Set Rs = Nothing
Exit_删除产品_Click:
    '释放系统为Rs数据集分配的空间
    Set Rs = Nothing
    Exit Sub
Err_删除产品_Click:
    MsgBox Err.Description
    Resume Exit_删除产品_Click
End Sub

 

Top
access爱好者 发表于:2009-03-27 15:21:33

Private Sub 删除产品_Click()
On Error GoTo Err_删除产品_Click
  

 If MsgBox("确实要删除汇款记录吗?", vbYesNo) = vbYes Then

定义字符型变量
Dim STemp As String
'定义用于循环的整型变量
Dim i As Integer
'定义数据集变量
Dim Rs As ADODB.Recordset
'为定义的数据集变量分配空间
Set Rs = New ADODB.Recordset
'为打开数据表“查询语句”字符变量赋值
STemp = "Select * From 产品资料"
'打开“产品资料”数据表
Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    '判断“产品资料”表是否为空
    If Rs.RecordCount < 1 Then
        Exit Sub
    End If
    '把记录集的指针指到第一条
    Rs.MoveFirst
    '使用For…Next循环语句在Rs数据集中循环判断
    For i = 1 To Rs.RecordCount
        '判断记录集中的“产品编号”字段值是否与子窗体中“产品编号”文本框内的值
        If Rs("产品编号") = Me![产品名称查询 子窗体]![产品编号] Then
            '如果相同,则把该记录删除
            Rs.Delete 1
            Exit For
        Else
            '如果不相同,则移到下一条记录
            Rs.MoveNext
        End If
    Next i
    '弹出“删除完成”的提示信息
    MsgBox "产品资料:" & Me![产品编号] & "已经删除完成!", vbOKOnly, "删除完成"
    '刷新“产品名称查询 子窗体”子窗体
    Me![产品名称查询 子窗体].Requery
    '释放系统为Rs数据集分配的空间
    Set Rs = Nothing
Exit_删除产品_Click:
    '释放系统为Rs数据集分配的空间
    Set Rs = Nothing
    Exit Sub
Err_删除产品_Click:
    MsgBox Err.Description
    Resume Exit_删除产品_Click

End if
End Sub



阿贝儿 发表于:2009-03-27 18:26:43

测试中出现编译错误

子过程或函数未定义,还是不行不知道为什么



阿贝儿 发表于:2009-03-27 19:01:29

修改了一下,测试通过了,非常感谢斑竹的提示

 

Private Sub 删除产品_Click()
On Error GoTo Err_删除产品_Click
If MsgBox("确定要删除该产品数据吗?", vbYesNo) = vbYes Then
'定义字符型变量
Dim STemp As String
'定义用于循环的整型变量
Dim i As Integer
'定义数据集变量
Dim Rs As ADODB.Recordset
'为定义的数据集变量分配空间
Set Rs = New ADODB.Recordset
'为打开数据表“查询语句”字符变量赋值
STemp = "Select * From 产品资料"
'打开“产品资料”数据表
Rs.Open STemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    '判断“产品资料”表是否为空
   
    If Rs.RecordCount < 1 Then
        Exit Sub
    End If
    '把记录集的指针指到第一条
    Rs.MoveFirst
    '使用For…Next循环语句在Rs数据集中循环判断
    For i = 1 To Rs.RecordCount
        '判断记录集中的“产品编号”字段值是否与子窗体中“产品编号”文本框内的值
        If Rs("产品编号") = Me![产品名称查询 子窗体]![产品编号] Then
            '如果相同,则把该记录删除
           '弹出“删除完成”的提示信息
           
            Rs.Delete 1
            Exit For         
        Else
            '如果不相同,则移到下一条记录
            Rs.MoveNext
        End If  
    Next i
    '弹出“删除完成”的提示信息
    MsgBox "产品资料:" & Me![产品编号] & "已经删除完成!", vbOKOnly, "删除完成"
    '刷新“产品名称查询 子窗体”子窗体
    Me![产品名称查询 子窗体].Requery
    '释放系统为Rs数据集分配的空间
    Set Rs = Nothing
Else
  Exit Sub
End if
Exit_删除产品_Click:
    '释放系统为Rs数据集分配的空间
    Set Rs = Nothing
    Exit Sub
Err_删除产品_Click:
    MsgBox Err.Description
    Resume Exit_删除产品_Click
End Sub



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