设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3687|回复: 20
打印 上一主题 下一主题

[ADO/DAO] ADO语句

[复制链接]
跳转到指定楼层
1#
发表于 2009-1-27 10:14:03 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
我在本站下载了"通用数据导入"例子学习,其导入代码如下:
    1、Dim i As Integer
   2、 Dim j As Integer
   3、 Dim lngRecCount As Long
    4、Dim old_rs As ADODB.Recordset
    5、Dim old_sql As String
    6、Dim new_rs As New ADODB.Recordset
    7、Dim new_sql As String
    8、j = IIf(Me!chkFirstCol, 1, 0)    '第一列是否为自动编号
    9、old_sql = "Select  * From " & strCurTable 'strCurTable见fill_subForm()函数
    10、Set old_rs = CurrentProject.Connection.Execute(old_sql)
    11、new_sql = "Select  * From " & strMBTable
    12、new_rs.Open new_sql, CurrentProject.Connection, 1, 3     While Not old_rs.EOF
        13、new_rs.AddNew
      14、  For i = j To old_rs.Fields.Count - 1
        15、    new_rs.Fields(i) = old_rs.Fields(i)
       16、 Next i
       17、 old_rs.MoveNext
       18、 new_rs.Update
    19、Wend
   20、 new_rs.Close
   21、 Set new_rs = Nothing
    22、old_rs.Close
    23、Set old_rs = Nothing
    24、DoCmd.Close acForm, Me.Name
   25、 Exit Sub
其中,第15句的“Fields(i)”的用法不理解,我也查F1帮助,请问,究竟“Fields(i)”表示什么意思?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2009-1-27 12:17:40 | 显示全部楼层
十分多谢两位的热心指教!我查F1帮助,Fields好像没有在后面加括号的用法的,不知我的理解对否?另,"通用数据导入"例子在应用时有点意思,当往其导出的表增加了新数据后再导入时会提示出错有重复数据,但其临时表又能将新数据导入,不知是我理解不好还是上述语句不完善,请大家指教。
3#
 楼主| 发表于 2009-1-27 12:32:03 | 显示全部楼层
十分多谢版主!从 For i = j To old_rs.Fields.Count - 1这句来看,3楼所说的“Recordset的第i+1个字段的值”是i+1还是i-1呢?
4#
 楼主| 发表于 2009-1-27 13:15:43 | 显示全部楼层
多谢指教!可我还是不明白,真有点糊涂、混淆了,个人觉得2楼的还易理解。既然是i+1,哪么,For i = j To old_rs.Fields.Count - 1这句又如何理解呢?
5#
 楼主| 发表于 2009-1-27 18:15:52 | 显示全部楼层
十二万分多谢6D的执手指教!我明白了,For i = j To old_rs.Fields.Count - 1是取得字段数,而Fields(i)就是取得记录集的字段值。重新看了一下例子,还是有三方面问题请教:
1、为什么用For i = j To old_rs.Fields.Count - 1取得字段数要减去一的?
2、在一楼的代码中,没有用于追加的SQL语句,但运行后也能将数据追加到临时表的?
3、导入时会提示出错,在一楼的代码中是否还不完善?
盼指教

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
6#
 楼主| 发表于 2009-1-28 09:47:22 | 显示全部楼层
万分多谢6D及KOUTX的执手指教!我又增长了VBA知识,向你们这些高手学习!
7#
 楼主| 发表于 2009-1-30 16:47:55 | 显示全部楼层
看来,追加还是用SQL好
8#
 楼主| 发表于 2009-1-30 17:07:56 | 显示全部楼层
谢谢楼上的朋友!
9#
 楼主| 发表于 2009-1-30 23:18:59 | 显示全部楼层
我想了想,不知追加数据且能自动去除重复值用19楼所说的recordset.addnew直接赋值能实现吗?如能,有例子吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-24 05:43 , Processed in 0.088544 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表