如何ACCESS窗体VBA添加新记录

如何ACCESS窗体VBA添加新记录,第1张

前提:窗体的 允许编辑、允许添加 属性设为 是

Private Sub 保存_Click()

'检查录入完整性

If Me.文本框1 = "" Or Me.文本框2 = "" Or Or Me.文本框3 = "" Or Me.文本框4 = "" Or Me.文本框5 = "" Or Me.文本框6 = "" Or Me.文本框7 = "" Or Me.文本框8 = "" Or Me.文本框9 = "" Or Me.文本框10 = "" Or Me.文本框11 = "" Or Me.文本框12 = "" Or Me.文本框13 = "" Or Me.文本框14 = "" Or Me.文本框15 = "" Or Me.文本框16= "" Then

MsgBox "记录录入未完整!", vbInformation, "提示:"

Exit Sub

Else

DoCmd.RunCommand acCmdSelectRecord

'将字段 备注 的内容 设置为:

me.备注 = me.文本框1 &" m至 " &me.文本框2 &" m收卷单偏差< " &me.文本框3 &" m " '&……以后内容省略

'保存记录

DoCmd.RunCommand acCmdSaveRecord

End if

End Sub

select * from 库存 where 产品ID='" &me.产品ID &"'"

if Not rs.BOF and Not rs.EOF then

CurrentDB.execute " update 库存 set 库存量=rs("库存量")+me.入库数量 where 产品ID='" &me.产品ID &"'"

end if

建议:

添加一个辅助数据: Cells(i, 6) = DTPicker1.Value & ComboBox2.Text & ComboBox1.Text

用作索引字段

然后在写入工作表之前,增加一个判断:

Dim rng as Range

Set rng = Columns(6).Find(DTPicker1.Value & ComboBox2.Text & ComboBox1.Text)

If rng is not nothing then

    Msgbox "记录已存在,不能提交!"

    Exit sub

End If

当然,也可以用字典对象来做,更简单。

还有,那段查找B列最后一个空单元的循环可以简化为一句代码,如下:

i = Range("B65536").End(xlUp).Offset(1,0).Row

List 控件的 RowSource 属性可以和工作表单元格关联,然后仿照前面判断重复的代码,进行记录的定位,然后进行修改并保存。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11639927.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存