我尝试在MS Access表单上创建添加,更新,删除操作。我在互联网上找到了这个代码,其中插入和更新发生在同一个按钮上。我没有得到下面一行中正在发生的事情以及它如何识别它是用于更新还是插入。
没有得到以下行:= Me.txtid.Tag& “”=“”
请在下面找到符合要求的完美代码。
'当我们点击按钮添加时,有两个选项
'1. for insert
'2. for update
If Me.txtid.Tag & "" = "" Then
' this is for insert new
' add data in table
CurrentDb.Execute "insert into student(stdid,stdname,gender,phone,address)" & _
" values(" & Me.txtid & ",' " & Me.txtname & " ',' " & Me.cmbgender & " ','" & _
Me.txtphone & "', '" & Me.txtaddress & "')"
'refresh data in list on form
subform_student.Form.Requery
否则
CurrentDb.Execute "UPDATE student " & _
" set stdid = " & Me.txtid & _
", stdname = '" & Me.txtname & "' " & _
", gender = '" & Me.cmbgender & " ' " & _
", phone = ' " & Me.txtphone & " ' " & _
", address = ' " & Me.txtphone & " ' " & _
" WHERE stdid = " & Me.txtid.Tag
结束如果
答案 0 :(得分:4)
.Tag property是VBA / VB6中每个表单和控件对象的通用字符串属性。它是开发人员提供放置东西的地方。支持他们的应用程序的运作。
您从中复制样本的原始代码必须在加载记录时向Me.txtid.Tag
写入一个值(例如,可能以Current
事件的形式)以指示是否记录是现有记录或新记录(空="新",非空="现有")。这条线
If Me.txtid.Tag & "" = "" Then
只需检查.Tag
属性是否为空,然后相应地执行INSERT或UPDATE。
以下代码根据要求完美运作
不,它没有。尝试添加[stdname]为Tam O'Shanter
的记录并亲自查看。您应该放弃动态SQL 并使用
答案 1 :(得分:3)
忘记/删除所有这些代码并将表单绑定到表格Student,以使这一切自动发生。
如果您不熟悉绑定表单,请浏览"从Microsoft Access开始的教程"等等。