设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2559|回复: 14
打印 上一主题 下一主题

[其它] 求助:代码为何出错,在线等!!

[复制链接]
跳转到指定楼层
1#
发表于 2006-4-4 22:12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求助:access老是提示If rst.Fields("编号").Value = rst1.Fields("编号").Value Then这句代码出错,请问正确的应该如何编写??谢谢先。

Private Sub aa()
Dim cnn As ADODB.Connection, rst As ADODB.Recordset, rst1 As ADODB.Recordset
Set cnn = New ADODB.Connection: Set rst = New ADODB.Recordset: Set rst1 = New ADODB.Recordset
Dim i As Integer
i = 0
cnn.Open "provider=microsoft.jet.oledb.4.0;" & _
"data source=c:\db1.mdb;"
rst.Open "附件", cnn
rst1.Open "附件1", cnn
rst.MoveFirst
Do Until rst.EOF
  rst.MoveNext
  rst1.MoveFirst
  Do Until rst1.EOF
      If rst.Fields("编号").Value = rst1.Fields("编号").Value Then
      i = i + 1
      End If
      rst1.MoveNext
  Loop
Loop
rst.Close
Set rst = Nothing
rst1.Close
Set rst1 = Nothing
cnn.Close
Set cnn = Nothing
Debug.Print i
End Sub




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2006-4-4 22:23:00 | 只看该作者
请说明一下错误提示内容.
3#
 楼主| 发表于 2006-4-4 22:59:00 | 只看该作者
错误提示为:

运行时错误'3021'

BOF或EOF中有一个是"真",或者当前的记录已被删除,所需的操作要求一个当前的记录.

点击这里给我发消息

4#
发表于 2006-4-4 23:29:00 | 只看该作者
当RST的指针到最后一条记录时,就会出现这种提示,这说明已经到了"附件"的最后了,不能再比对,可以把rst.MoveNext这一句改放在两个LOOP的中间:

   rst1.MoveNext
  Loop

rst.MoveNext
Loop
5#
 楼主| 发表于 2006-4-5 01:45:00 | 只看该作者
巨感谢
6#
 楼主| 发表于 2006-4-5 01:48:00 | 只看该作者
再问一下如果偶要把代码中的i放到一个已有的表《表1》中,且放入前要清空表1,该怎么编写代码?谢谢


7#
发表于 2006-4-5 03:53:00 | 只看该作者
清空表可以用下面的代码

Dim cn As New ADODB.Connection
Set cn = CurrentProject.Connection
cn.Execute "delete * from 表1"
Set cn = Nothing
8#
 楼主| 发表于 2006-4-5 03:54:00 | 只看该作者
谢谢拉
9#
 楼主| 发表于 2006-4-5 04:07:00 | 只看该作者
那如果要把i值放入其中该怎么写那
10#
发表于 2006-4-5 04:20:00 | 只看该作者
你那个I主要用来做什么的

你是当rst.Fields("编号").Value = rst1.Fields("编号").Value 时删除这条记录

还是别的意思
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-21 02:39 , Processed in 0.102233 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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