热度 2||
三、 实现非绑定的数据添加方法。
1.0 数据非绑定:是指数据不与窗体及窗体中数据输入控件绑定。
2.0 数据非绑定优点与不足。
2.1 优点是:对于数据操作较灵活,可以实现同时对个数据源进行操作;
2.2 不足是:相对全绑定以及非绑定数据操作有一定难度,需要一定的ACCESS基础,了解并掌握SQL语句及VBA编程。
3.0 例一:通过打开追加查询添加数据。
3.1 新建一个追加查询(实例:添加客户记录查询),建立追加查询方法大家参看有关资料,在此不做讲解。大家可以在SQL编辑窗口中加入如下SQL语句,保存查询即可。
Insert INTO 客户 ( 公司名称, 联系人名字, 电话号码 ) VALUES (Forms!非绑定—(查询)!公司名称, Forms!非绑定—(查询)!联系人名字, Forms!非绑定—(查询)!电话号码);
Insert INTO 是追加查询关键字
客户 ( 公司名称, 联系人名字, 电话号码 ) 是指实例中“客户表”中对应各字段
VALUES 预追加值关键字
Forms!非绑定—(查询)!公司名称:窗体集合!窗体名!控件名
3.2 在窗体添加记录按钮单击事件中添加如下所示代码(参看非绑定一)。
按钮代码:主要功能是通过OpenQuery 方法打开追加查询实现数据添加。
DoCmd.SetWarnings False ‘关闭系统信息的显示
DoCmd.OpenQuery "添加客户记录查询"
DoCmd.SetWarnings True
4.0 例二、例三:通过RunSQL或者Execute方法执行SQL语句添加数据。
4.1 追加数据查询SQL语句
Insert INTO 客户(公司名称,联系人名字,电话号码) VALUES ('" & Me.公司名称 & "','" & Me.联系人名字 & "','" & Me.电话号码 & "')
4.2 RunSQL方法运行SQL语句(参看非绑定二)。在添加记录按钮单击事件加入如下代码
Dim strSQL As String
strSQL = "Insert INTO 客户(公司名称,联系人名字,电话号码) "
strSQL = strSQL & "VALUES('" & Me.公司名称 & "','" & Me.联系人名字 & "','" & Me.电话号码 & "')"
DoCmd.SetWarnings False ‘关闭系统信息的显示
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
4.3 Execute方法运行SQL语句(参看非绑定三)。在添加记录按钮单击事件加入如下代码
Dim strSQL As String
strSQL = "Insert INTO 客户(公司名称,联系人名字,电话号码) "
strSQL = strSQL & "VALUES('" & Me.公司名称 & "','" & Me.联系人名字 & "','" & Me.电话号码 & "')"
CurrentDb().Execute strSQL
5.0 例四:利用DAO数据库对象添加数据方法。
5.1 引用DAO 3.6 对象。如要用DAO对象来存取数据时,必须先引用DAO,否则使用DAO对象存取数据时会产生错误。
5.2在添加记录按钮单击事件加入如下代码。
Dim Rs As DAO.Recordset '申明Rs为DAO记录集对象
Set Rs = CurrentDb.OpenRecordset("客户") '设Rs记录集为"客户"表中所有数据
With Rs
.AddNew '开始新增新据
!公司名称 = Me.公司名称
!联系人名字 = Me.联系人名字
!电话号码 = Me.电话号码
.Update '更新数据
.Close '关闭当前记录集
End With
Set Rs = Nothing
说明:Recordset 是记录集对象。我们在进行数据存取时,必须将所有表都载入内存,势必影响数据处理的效率。通过Recordset记录集对象,只会将所需的数据载入到Recordset对象中,然后针对这个记录集操作就可以了,不仅提高数据处理效率,而且记录集对象并不会影响数据库的大小,存取完数据后关闭该记录集并释放内存即可。
6.0 例五:利用ADO数据库对象添加数据方法。
6.1 引用ADO 2.1 对象。如要用ADO对象来存取数据时,必须选引用ADO,否则使用ADO对象存取数据时会产生错误。
6.2在添加记录按钮单击事件加入如下代码。
Dim Rs As ADODB.Recordset '申明ADO记录集对象
Dim StrName As String
Set Rs = New ADODB.Recordset '实例化记录对象
StrName = "客户"
With Rs
.Open StrName, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
.AddNew '开始新增数据
!公司名称 = Me![公司名称]
!联系人名字 = Me![联系人名字]
!电话号码 = Me![电话号码]
.Update '更新数据
.Close '关闭当前数据集
End With
Set Rs = Nothing '释放空间
说明:对于ADO申明,我们可以采用如上代码来申明对象,再实例化;也可以按如下代码,即在申明时加入New 关键字直接申明并实例化ADO对象。
Dim Rs As New ADODB.Recordset '申明ADO记录集对象
关于数据添加方法分享到此。因为本文只是为了与大家分享本人在实践中,掌握的ACCESS中添加数据的一些基本方法,对于其它触及内容并未做深入剖析,大家可以参看有关的资料,或是在实践中不断摸索并总结,并举一反三。如果本文对你有一点点帮助,那是我最为开心的事情。
本文相关实例请到ACCESSHOME论坛下载,也可与本人联系与交流。
(江羽 2009.2.28)
|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )
GMT+8, 2024-12-27 13:23 , Processed in 0.064684 second(s), 18 queries .
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.