Access交流中心

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

平台报销教程新增代码问题

苗壮壮  发表于:2015-08-24 10:27:34  
复制

平台报销教程新增代码,当员工表没有数据时,运行时错误‘94‘ ,无效使用null,红色那一句出现错误,如何解决?(注:有数据时没有问题)

在鼠标光标处,输入以下代码:

Dim rst As Object
Dim strSQL As String
Dim MaxID As String
Dim currentID As String

Dim strFrm As String

If IsNull(Me.txtygxm) Then
  MsgBox "请输入员工姓名!", vbCritical, "提示"
  Me.txtygxm.SetFocus
  Exit Sub
End If

MaxID = DMax("[ygID]", "tblCodeyg")
currentID = "Y" & Format(Val(Right$(MaxID, 2) + 1), "00")

strSQL = "select * from tblCodeyg"
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
rst.AddNew
rst!ygID = currentID
rst!ygxm = Me.txtygxm
rst.Update
rst.Close
Set rst = Nothing
Me.txtygxm = Null

strFrm = Form_frmYg_sg_Main!frmChild.SourceObject
Form_frmYg_sg_Main!frmChild.SourceObject = strFrm
MsgBox "您录入的数据保存已成功!", vbInformation, "消息"

 

Top
杜超 发表于:2015-08-24 11:09:16
改成这样 MaxID = nz(DMax("[ygID]", "tblCodeyg"),0)

苗壮壮 发表于:2015-08-24 13:49:12

谢谢杜老师,这样确实可以,但是如果到10后,在增加出现如下提示,见图片

 



麥田 发表于:2015-08-24 15:10:31
看一下表中  是不是有编号重复了

苗壮壮 发表于:2015-08-24 16:32:13

没有,1-10都好用,11就不好使了。还是那2句代码有点问题。



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