Access交流中心

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

有段代码运行不了MSGBOX,请大家看看

子煜  发表于:2010-09-08 11:05:11  
复制

如下代码?为何加了IF判断提示MSGBOX,但是不提示,跳过了。

 

 

Dim ssql As String
Dim ctls As Controls
Set ctls = Me.F_ProInWindow.Form.Controls
Select Case Me.Frame93.Value
    Case 1
        If Me.P_Status = True Then
        MsgBox "現無法刪除記錄,你刪除的數據已有出庫記錄!", vbInformation, "警告"
        Else
        ssql = "DELETE * FROM T_ProIn2 where P_Product_In_Code='" & Me.P_Product_In_Code.Value & "'"
        ssql = ssql & " and P_Status=0 and T_ProIn2.P_ID=" & ctls("T_ProIn2.P_ID").Value
        End If
      


    Case 2
       
         If Me.P_Status = True Then
         MsgBox "現無法刪除記錄,你刪除的數據已有出庫記錄!", vbInformation, "警告"
         Else
   
        ssql = "DELETE * FROM T_ProIn2 where P_Product_In_Code='" & Me.P_Product_In_Code.Value & "'"
        ssql = ssql & " and P_Status=0"
        End If
End Select

DoCmd.RunSQL ssql
Me.F_ProInWindow.Form.Requery

End Sub

 

Top
煮江品茶 发表于:2010-09-08 12:03:27

Frame型控件其值能等于1或者2吗?

在select case...上面一行插入msgbox Me.Frame93.Value 测试一下,就知道怎么回事了。



子煜 发表于:2010-09-08 14:19:51
之前是我弄错了字段名,应是子窗体的。另外下面这段代码我加了删除确认,但是当点否的时候就会报错,跳到DoCmd.RunSQL ssql 这一行处。请问是哪问题?

Dim ssql, tmptmp As String
Dim ctls As Controls
Set ctls = Me.F_ProInWindow.Form.Controls
Select Case Me.Frame93.Value

    Case 1
        If Me.F_ProInWindow.Form.P_Status = True Then
        MsgBox "無法刪除記錄,你刪除的數據已有出庫記錄!", vbInformation, "警告"
        Exit Sub
        
        Else

     tmptmp = MsgBox("删除后将无法恢复" & Chr(13) & "您确定要删除此笔入库单吗?", vbYesNo, "警告")
     If tmptmp = vbYes Then
     
        ssql = "DELETE * FROM T_ProIn2 where P_Product_In_Code='" & Me.P_Product_In_Code.Value & "'"
        ssql = ssql & " and P_Status=0 and T_ProIn2.P_ID=" & ctls("T_ProIn2.P_ID").Value
        
      End If
      End If




    Case 2
        
        If Me.F_ProInWindow.Form.P_Status = True Then
         MsgBox "無法刪除記錄,你刪除的數據已有出庫記錄!", vbInformation, "警告"
         Exit Sub
         Else
         
     tmptmp = MsgBox("删除后将无法恢复" & Chr(13) & "您确定要删除此笔入库单吗?", vbYesNo, "警告")
     If tmptmp = vbYes Then
        
        ssql = "DELETE * FROM T_ProIn2 where P_Product_In_Code='" & Me.P_Product_In_Code.Value & "'"
        ssql = ssql & " and P_Status=0"
        End If
        End If

End Select

DoCmd.RunSQL ssql
Me.F_ProInWindow.Form.Requery

End Sub

煮江品茶 发表于:2010-09-08 14:40:56
否完了ssql字符串岂不是空的?把DoCmd.RunSQL ssql放在ssql赋值语句之后就可以了。


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