注册 登录
Office中国论坛/Access中国论坛 返回首页

tanhong的个人空间 http://www.office-cn.net/?49992 [收藏] [复制] [分享] [RSS]

日志

数据添加方法概述(三)

热度 2已有 3075 次阅读2009-3-2 18:57 |个人分类:ACCESS作品|

三、 实现非绑定的数据添加方法。

1.0       数据非绑定:是指数据不与窗体及窗体中数据输入控件绑定。

2.0       数据非绑定优点与不足。

21  优点是:对于数据操作较灵活,可以实现同时对个数据源进行操作;

22  不足是:相对全绑定以及非绑定数据操作有一定难度,需要一定的ACCESS基础,了解并掌握SQL语句及VBA编程。

 

3.0       例一:通过打开追加查询添加数据。

31  新建一个追加查询(实例:添加客户记录查询),建立追加查询方法大家参看有关资料,在此不做讲解。大家可以在SQL编辑窗口中加入如下SQL语句,保存查询即可。

 Insert INTO 客户 ( 公司名称, 联系人名字, 电话号码 )   VALUES (Forms!非绑定—(查询)!公司名称, Forms!非绑定—(查询)!联系人名字, Forms!非绑定—(查询)!电话号码);

Insert INTO 是追加查询关键字

客户 ( 公司名称, 联系人名字, 电话号码 ) 是指实例中“客户表”中对应各字段

VALUES 预追加值关键字

Forms!非绑定—(查询)!公司名称:窗体集合!窗体名!控件名

32  在窗体添加记录按钮单击事件中添加如下所示代码(参看非绑定一)。

按钮代码:主要功能是通过OpenQuery 方法打开追加查询实现数据添加。

DoCmd.SetWarnings False               关闭系统信息的显示

     DoCmd.OpenQuery "添加客户记录查询"

     DoCmd.SetWarnings True

4.0       例二、例三:通过RunSQL或者Execute方法执行SQL语句添加数据。

41 追加数据查询SQL语句

       

         Insert INTO 客户(公司名称,联系人名字,电话号码) VALUES ('" & Me.公司名称 & "','" & Me.联系人名字 & "','" & Me.电话号码 & "')

42 RunSQL方法运行SQL语句(参看非绑定二)。在添加记录按钮单击事件加入如下代码

Dim strSQL As String

       strSQL = "Insert INTO 客户(公司名称,联系人名字,电话号码) "

       strSQL = strSQL & "VALUES('" & Me.公司名称 & "','" & Me.联系人名字 & "','" & Me.电话号码 & "')"

   

       DoCmd.SetWarnings False     关闭系统信息的显示

       DoCmd.RunSQL strSQL

       DoCmd.SetWarnings True

43 Execute方法运行SQL语句(参看非绑定三)。在添加记录按钮单击事件加入如下代码

Dim strSQL As String

       strSQL = "Insert INTO 客户(公司名称,联系人名字,电话号码) "

       strSQL = strSQL & "VALUES('" & Me.公司名称 & "','" & Me.联系人名字 & "','" & Me.电话号码 & "')"

   

       CurrentDb().Execute strSQL

5.0       例四:利用DAO数据库对象添加数据方法。

51  引用DAO 3.6 对象。如要用DAO对象来存取数据时,必须先引用DAO,否则使用DAO对象存取数据时会产生错误。

52在添加记录按钮单击事件加入如下代码。

   Dim Rs As DAO.Recordset                '申明RsDAO记录集对象

   Set Rs = CurrentDb.OpenRecordset("客户")   'Rs记录集为"客户"表中所有数据

 

   With Rs

       .AddNew                      '开始新增新据

       !公司名称 = Me.公司名称

       !联系人名字 = Me.联系人名字

       !电话号码 = Me.电话号码

       .Update                       '更新数据

       .Close                        '关闭当前记录集

   End With

   Set Rs = Nothing

说明:Recordset 是记录集对象。我们在进行数据存取时,必须将所有表都载入内存,势必影响数据处理的效率。通过Recordset记录集对象,只会将所需的数据载入到Recordset对象中,然后针对这个记录集操作就可以了,不仅提高数据处理效率,而且记录集对象并不会影响数据库的大小,存取完数据后关闭该记录集并释放内存即可。

6.0       例五:利用ADO数据库对象添加数据方法。

61  引用ADO 2.1 对象。如要用ADO对象来存取数据时,必须选引用ADO,否则使用ADO对象存取数据时会产生错误。

 

62在添加记录按钮单击事件加入如下代码。

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

刚表态过的朋友 (0 人)

发表评论 评论 (3 个评论)

回复 rcylbx 2009-3-4 21:16
谢谢分享
回复 sygudeng 2009-3-27 14:28
高手啊
回复 chinaesc 2017-3-12 13:16
找不到实例啊,给个链接

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

QQ|站长邮箱|小黑屋|手机版|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.

返回顶部