Access交流中心

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

回复 加入收藏帖  复制
我要提问 帖子上移

开发平台上的“保存”VBA求助

justinliao 等级: 普通会员 积分:2 金币:0 来自:厦门Access交流中心 发表于:2018-01-08 15:20:32  
楼主

求助老师, 

以下红色字体是我增加的代码,现在保存输入 Me.PGqty数据时,不管有没有超出规定值,点保存时都会体现保存成功!另外,如何做到当输入Me.PGqty时先判断是否strFqty +Me.PGqty)> strZqty,如果是则数据不可保存,且会提示超过数量值?谢谢


Private Sub btnSave_Click()

    On Error GoTo ErrorHandler
    
    If Not CheckRequired(Me) Then Exit Sub
    If Not CheckTextLength(Me) Then Exit Sub

    Dim cnn: Set cnn = GetADOConnection()


   'cnn.BeginTrans
   'Dim blnTransBegin As Boolean: blnTransBegin = True


    Dim strSQL: strSQL = "SELECT * FROM [lblproductreport_group] WHERE [No]=" & Nz(Me![No], 0)
    Dim rst:    Set rst = ADO.OpenRecordset(strSQL, adLockOptimistic, cnn)
    If rst.EOF Then rst.AddNew
    UpdateRecord Me, rst
    '你的自定义代码
    'rst!Field1 = Me!Field1
    'rst!Field2 = Me!Field2
    rst.Update
    rst.Close
    Dim strZqty: strZqty = DLookup("ZLqty", "lblzlcode", "ZLID='" & Me.ZLID & "'")
    Dim strFqty: strFqty = DLookup("Totalqty", "qryzlfinish_totalqty", "ZLID='" & Me.ZLID & "'and SID='" & Me.SID & "'")
    Dim strUFqty: strUFqty = DLookup("unfinishqty", "qryzlunfinish_qty", "ZLID='" & Me.ZLID & "'and SID='" & Me.SID & "'")


    If strFqty <= strZqty Then
    Me.AllowAdditions = True
    End If
    
    If strFqty > strZqty Then
    MsgBox (strUFqty - Me.DataEntry)
      If MsgBox("你刚录入的数据大于订单量,请重新录入", vbOKCancel, "提示") = vbOK Then
      Me.AllowAdditions = False
      Me.PGqty = ""
     
      End If
     Exit Sub
    End If
    
   'cnn.CommitTrans
   'blnTransBegin = False


    RequeryDataObject gsfrList
    MsgBoxEx LoadString("Saved Successfully."), vbInformation
       
    If Me.DataEntry Then
        Me.InitData
    Else
        DoCmd.Close acForm, Me.Name, acSaveNo
    End If
    
    
ExitHere:
    Set rst = Nothing
    Set cnn = Nothing
    
    Exit Sub


ErrorHandler:
   'If blnTransBegin Then
   '    cnn.RollbackTrans
   '    blnTransBegin = False
   'End If
    RDPErrorHandler Me.Name & ": Sub btnSave_Click()"
    Resume ExitHere
End Sub

 

access培训  诚聘access开发人员

    justinliao
      获得社区协助:请教问题(即发帖)30篇,其中获得解决的21篇;
      协助社区成员:协助他人(即回帖)11篇,其中被设为【最佳答案】的1篇;
      协助我们社区:发布技术文章0篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
Top
MDZZ 等级:版主★★★★★ 积分:1147 金币:5400 来自:南京Access交流中心 发表于2018/1/9 8:55:29 
1楼 得分: 0

保存代码设置Me.AllowAdditions   不知道有什么意义   数据应该在保存前面判断吧 

快速开发平台2.3--新增修改功能代码详解[Access软件网] http://www.accessoft.com/article-show.asp?id=16407



    希望我的回答能解决了您的问题,或者所附上的这些信息对您有所帮助!如有任何疑问或需要进一步帮助,请您直接在本站发贴,我们非常乐意帮助您解决问题!
    如果我的回答已经解决了您的问题,请点击上方的“最佳答案”,这样本帖子就不会在“待解决问题区”显示了,以方便大家对那些正在等待解决的帖子给予关注!
    Natsume Takashi   [协助社区成员回帖1008篇,其中【最佳答案】335篇;发布技术文章135篇。]
    Access软件网助教团队 
    http://www.umvsoft.com
    如果您没有注册这个论坛,请单击下面的链接进行注册,与我在论坛进行交流:
    http://www.accessoft.com/reg/reg.asp?userid=47512
    本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。
yihui 等级:一星助教★ 积分:37 金币:252 来自:武汉Access交流中心 发表于2018/1/9 17:06:01 
2楼 得分: 0


    希望我的回答能解决了您的问题,或者所附上的这些信息对您有所帮助!如有任何疑问或需要进一步帮助,请您直接在本站发贴,我们非常乐意帮助您解决问题!
    如果我的回答已经解决了您的问题,请点击上方的“最佳答案”,这样本帖子就不会在“待解决问题区”显示了,以方便大家对那些正在等待解决的帖子给予关注!
    yihui  [协助社区成员回帖47篇,其中【最佳答案】11篇;发布技术文章5篇。]
    Access软件网助教团队 
    http://www.umvsoft.com
    如果您没有注册这个论坛,请单击下面的链接进行注册,与我在论坛进行交流:
    http://www.accessoft.com/reg/reg.asp?userid=45044
    本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。
justinliao 等级:普通会员 积分:2 金币:0 来自:厦门Access交流中心 发表于2018/1/10 21:07:33 
3楼 得分: 0

请教下面这个语句要如何修改:

 If strUFqty - Me!PGqty < 0 Then
    MsgBox (strUFqty - Me!PGqty)
    rst!PGqty = ""        ‘当小于0时,要清空刚才输入的值,且不能保存
      ElseIf strUFqty - Me!PGqty >= 0 Then 
      rst!PGqty = Me!PGqty    ‘当符合这个条件时,输入可以保存
      End If



    justinliao
      获得社区协助:请教问题(即发帖)30篇,其中获得解决的21篇;
      协助社区成员:协助他人(即回帖)11篇,其中被设为【最佳答案】的1篇;
      协助我们社区:发布技术文章0篇,邀请了0名新会员注册本社区(如何邀请会员注册,详见:http://www.accessoft.com/sitehelp.asp)。
总记录:3篇  页次:1/1 9 1 :
您还没有在Access软件网登录不能回复帖子
  • 你没有登录,请点击后面链接登录:登录
  • 如果你没有注册,请点击后面链接注册:注册,注册完成后,请再次访问本页功能。