Access交流中心

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

窗体中的按钮,点了就出错!

虽虽TV  发表于:2009-10-10 00:06:28  
复制

自己太笨,模仿他人做了一个窗体及子窗体,可是,窗体中的按钮总出错,而老师做的就是没问题,不知道我这问题出在什么地方。点击下载此附件

 

Top
Yong.H 发表于:2009-10-10 09:01:22

我的是ACCESS2003, 打不开你的文件



孟庆科 发表于:2009-10-10 11:32:14

先谢谢YONG ,我已将文件转化 为2003请指点

点击下载此附件

金矢 发表于:2009-10-10 13:25:09

请照下面修改你的添加记录_Click过程:

 

Private Sub 添加记录_Click()
On Error Resume Next                 '原On Error GoTo Err_添加记录_Click出错是因为"Err_添加记录_Click"标签未定义
If IsNull(Me![客户名称]) = True Then
    MsgBox "请输入“客户名称”!", vbOKOnly, "输入“客户名称”"
    Me![客户名称].SetFocus
ElseIf IsNull(Me![条码]) = True Then
    MsgBox "请输入“条码”!", vbOKOnly, "输入“条码”"
    Me![条码].SetFocus
    If IsNull(Me![数量]) = True Then
        MsgBox "请输入“数量”!", vbOKOnly, "输入“数量”"
        Me![数量].SetFocus
        ElseIf IsNull(Me![单价]) = True Then
            MsgBox "请输入“单价”!", vbOKOnly, "输入“单价”"
            Me![单价].SetFocus
            If IsNull(Me![零售价格]) = True Then
                MsgBox "请输入“零售价格”!", vbOKOnly, "输入“零售价格”"
                Me![零售价格].SetFocus
                ElseIf IsNull(Me![已付款]) = True Then
                    MsgBox "请输入“已付款”!", vbOKOnly, "输入“已付款”"
                    Me![已付款].SetFocus
                    If IsNull(Me![包换期]) = True Then
                        MsgBox "请输入“包换期”!", vbOKOnly, "输入“包换期”"
                        Me![包换期].SetFocus
                        ElseIf IsNull(Me![包修期]) = True Then
                            MsgBox "请输入“包修期”!", vbOKOnly, "输入“包修期”"
                            Me![包修期].SetFocus
                            Me.配件进货子窗体.Form.RecordSource = "SELECT 配件进货.进货ID, 配件进货.客户ID, 配件进货.条码," & _
"配件进货.数量, 配件进货.单价, 配件进货.零售价格, 配件进货.已付款, 配件进货.包换期, 配件进货.包修期 FROM 配件进货 WHERE (((配件进货.进货ID)>" & N & "));"
                    End If      '原先缺少这些End If
             End If
     End If
End If

Me.配件进货子窗体.Requery
Me.客户ID = Null
Me.客户名称 = Null
Me.电话 = Null
Me.联系人 = Null
Me.条码 = Null
Me.商品名称 = Null
Me.型号 = Null
Me.单位 = Null
Me.数量 = Null
Me.单价 = Null
Me.已付款 = Null
Me.零售价格 = Null
Me.包换期 = Null
Me.包修期 = Null
End Sub



Yong.H 发表于:2009-10-10 14:12:33

  IF             

  ELSE

  END IF

 

IF  一定要用  END IF   结束

 

 



孟庆科 发表于:2009-10-10 22:28:32
谢谢各位关注,更谢谢koutx 和Yong 问题是解决了可新的问题又出现了:当你输完第一个文本框并点“添加”后也能弹出“请输入。。”,但“确定”之后,前面的文本框内什么也没了,。。。

嘟嘟 发表于:2009-10-10 23:07:48

你窗体中的"添加记录"按钮改为"保存记录"增加一个"新增记录"按钮.

Private Sub 保存记录_Click()
On Error Resume Next                 '原On Error GoTo Err_添加记录_Click出错是因为"Err_添加记录_Click"标签未定义
If IsNull(Me![客户名称]) = True Then
    MsgBox "请输入“客户名称”!", vbOKOnly, "输入“客户名称”"
    Me![客户名称].SetFocus
ElseIf IsNull(Me![条码]) = True Then
    MsgBox "请输入“条码”!", vbOKOnly, "输入“条码”"
    Me![条码].SetFocus
    If IsNull(Me![数量]) = True Then
        MsgBox "请输入“数量”!", vbOKOnly, "输入“数量”"
        Me![数量].SetFocus
        ElseIf IsNull(Me![单价]) = True Then
            MsgBox "请输入“单价”!", vbOKOnly, "输入“单价”"
            Me![单价].SetFocus
            If IsNull(Me![零售价格]) = True Then
                MsgBox "请输入“零售价格”!", vbOKOnly, "输入“零售价格”"
                Me![零售价格].SetFocus
                ElseIf IsNull(Me![已付款]) = True Then
                    MsgBox "请输入“已付款”!", vbOKOnly, "输入“已付款”"
                    Me![已付款].SetFocus
                    If IsNull(Me![包换期]) = True Then
                        MsgBox "请输入“包换期”!", vbOKOnly, "输入“包换期”"
                        Me![包换期].SetFocus
                        ElseIf IsNull(Me![包修期]) = True Then
                            MsgBox "请输入“包修期”!", vbOKOnly, "输入“包修期”"
                            Me![包修期].SetFocus
                            Me.配件进货子窗体.Form.RecordSource = "SELECT 配件进货.进货ID, 配件进货.客户ID, 配件进货.条码," & _
"配件进货.数量, 配件进货.单价, 配件进货.零售价格, 配件进货.已付款, 配件进货.包换期, 配件进货.包修期 FROM 配件进货 WHERE (((配件进货.进货ID)>" & N & "));"
                    End If      '原先缺少这些End If
             End If
     End If
End If

Me.配件进货子窗体.Requery

End Sub

 

Private Sub 添加记录_Click()
    Me.客户ID = Null
    Me.客户名称 = Null
    Me.电话 = Null
    Me.联系人 = Null
    Me.条码 = Null
    Me.商品名称 = Null
    Me.型号 = Null
    Me.单位 = Null
    Me.数量 = Null
    Me.单价 = Null
    Me.已付款 = Null
    Me.零售价格 = Null
    Me.包换期 = Null
    Me.包修期 = Null

    Me![客户ID].SetFocus
End Sub



嘟嘟 发表于:2009-10-10 23:14:54

更正:更正:

你窗体中的"添加记录"按钮改为"保存记录"增加一个"新增记录"按钮.

Private Sub 保存记录_Click()
On Error Resume Next                 '原On Error GoTo Err_添加记录_Click出错是因为"Err_添加记录_Click"标签未定义
If IsNull(Me![客户名称]) = True Then
    MsgBox "请输入“客户名称”!", vbOKOnly, "输入“客户名称”"
    Me![客户名称].SetFocus
ElseIf IsNull(Me![条码]) = True Then
    MsgBox "请输入“条码”!", vbOKOnly, "输入“条码”"
    Me![条码].SetFocus
    If IsNull(Me![数量]) = True Then
        MsgBox "请输入“数量”!", vbOKOnly, "输入“数量”"
        Me![数量].SetFocus
        ElseIf IsNull(Me![单价]) = True Then
            MsgBox "请输入“单价”!", vbOKOnly, "输入“单价”"
            Me![单价].SetFocus
            If IsNull(Me![零售价格]) = True Then
                MsgBox "请输入“零售价格”!", vbOKOnly, "输入“零售价格”"
                Me![零售价格].SetFocus
                ElseIf IsNull(Me![已付款]) = True Then
                    MsgBox "请输入“已付款”!", vbOKOnly, "输入“已付款”"
                    Me![已付款].SetFocus
                    If IsNull(Me![包换期]) = True Then
                        MsgBox "请输入“包换期”!", vbOKOnly, "输入“包换期”"
                        Me![包换期].SetFocus
                        ElseIf IsNull(Me![包修期]) = True Then
                            MsgBox "请输入“包修期”!", vbOKOnly, "输入“包修期”"
                            Me![包修期].SetFocus
                            Me.配件进货子窗体.Form.RecordSource = "SELECT 配件进货.进货ID, 配件进货.客户ID, 配件进货.条码," & _
"配件进货.数量, 配件进货.单价, 配件进货.零售价格, 配件进货.已付款, 配件进货.包换期, 配件进货.包修期 FROM 配件进货 WHERE (((配件进货.进货ID)>" & N & "));"
                    End If      '原先缺少这些End If
             End If
     End If
End If

Me.配件进货子窗体.Requery
End Sub

 

Private Sub 新增记录_Click()
    Me.客户ID = Null
    Me.客户名称 = Null
    Me.电话 = Null
    Me.联系人 = Null
    Me.条码 = Null
    Me.商品名称 = Null
    Me.型号 = Null
    Me.单位 = Null
    Me.数量 = Null
    Me.单价 = Null
    Me.已付款 = Null
    Me.零售价格 = Null
    Me.包换期 = Null
    Me.包修期 = Null

    Me![客户ID].SetFocus
End Sub



孟庆科 发表于:2009-10-10 23:33:46
非常感谢,我试一下是否能成功!

孟庆科 发表于:2009-10-11 00:25:27

DoDo 老师,您好,你对我的问题的回答很好,但是子窗体中并不显示数据,相应的表中也不会增加数据!



孟庆科 发表于:2009-10-11 00:26:53

      上面忘传附件了!

 

 

DoDo 老师,您好,你对我的问题的回答很好,但是子窗体中并不显示数据,相应的表中也不会增加数据!


点击下载此附件

andymark 发表于:2009-10-11 09:43:58

直接用IF THEN 吧

那么多IF ..ELSEIF ...一不小心小了一个IF   很容易出错的

 

If IsNull(Me![客户名称])  Then
    MsgBox "请输入“客户名称”!", vbOKOnly, "输入“客户名称”"
    Me![客户名称].SetFocus
   exit sub

end if

 

If IsNull(Me![条码])  Then
    MsgBox "请输入“条码”!", vbOKOnly, "输入“条码”"
    Me![条码].SetFocus

    exit sub

end if

 

 

........

 

 

 

 



孟庆科 发表于:2009-10-11 12:20:13
andymark 你好,现在的问题是输入的新内容不会到子窗体中?

andymark 发表于:2009-10-11 14:17:11

你的主窗体采用非绑定的方式

在保存的按钮并没有保存记录的相关代码

 

所以,你的数据无论如何也不能保存到表里,子窗体也就无法显示了

 

一般用ADO或SQL 来更新数据



孟庆科 发表于:2009-10-11 14:51:19
andymark您 好,自不会呀,你给做一个,谢谢了

嘟嘟 发表于:2009-10-11 22:03:19
我用的是Access2003,打不开你的数据库

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