设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] 无当前记录 运行错误‘3021’

[复制链接]
跳转到指定楼层
1#
发表于 2008-1-5 21:15:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你好
我有一个技术问题请教你可以吗
如果可以我的手机13901948178;邮箱hk59621@sohu.com QQ号是437570859
我就住在仓源路,到你那比较方便
是用VB6.0编写的数据库转换程序
数据库是Access97数据库做的程序
我的目前使用的电脑是Office
Access2007


无当前记录
运行错误‘3021



帮助:
无当前记录。(错误 3021
当底层的 Recordset 没有记录或记录己经被删除时,使用 Find Seek 方法应用程序失败之后,会出现这个错误。选择或移动到另一条记录,然后重试一次。如果 Recordset 是空的,不能设置当前记录。请检查 BOF EOF 属性。

部分代码如下
If mskStartDate.Text = "____-__-__" Or mskEndDate = "____-__-__" Then

MsgBox "time!"


mskStartDate.SetFocus


Exit Sub


End If

         

If rcZQ.RecordCount > 0 Then

   

rcZQ.MoveLast


rcZQ.MoveFirst

        

For i = 1 To rcZQ.RecordCount


rcZQ.Delete


rcZQ.MoveNext


Next i


End If

        
'
If Data1.Recordset.Fields(0).Value <> "ABCDEF14" And Data1.Recordset.Fields(0).Value <> "ABCDEF15" Then


sProductID = Data1.Recordset.Fields(0).Value


sProductName = Data1.Recordset.Fields(1).Value

'
End If



bFindResult = False


datBrowse.Recordset.MoveFirst


Do Until datBrowse.Recordset.EOF


If datBrowse.Recordset("fzqdm") = sProductID Then



bFindResult = True


rcZQ.AddNew


rcZQ!zqdm = datBrowse.Recordset("fzqdm")


rcZQ!ZQMC = sProductName


rcZQ!Date = datBrowse.Recordset("fdate")


rcZQ.Update


End If


datBrowse.Recordset.MoveNext


Loop


datBrowse.Recordset.MoveFirst

   

rs.MoveFirst


Do While Not rs.EOF And rs!ZQMC <> sProductName


rs.MoveNext


Loop

        
If rs.EOF Then

Answer = MsgBox("Match product not found.", vbOKOnly)

Else

Me.MousePointer = 11



If mskStartDate.ClipText = "" Or mskEndDate.ClipText = "" Then


MsgBox "date is null"


mskStartDate.SetFocus


Me.MousePointer = 0


Exit Sub


End If


StartDate = CDate(mskStartDate)


EndDate = CDate(mskEndDate)


DayNumber = EndDate - StartDate + 1

        

rcZQ.MoveLast


rcZQ.MoveFirst


For i = 1 To rcZQ.RecordCount


If rcZQ!Date > EndDate Then


rcZQ.Delete


End If


Next i

        

If rcZQ.RecordCount = 0 Then


MsgBox "No Record!"


Me.MousePointer = 0


cmdOk(0).Enabled = False


cmdPrint(1).Enabled = False


Exit Sub


End If

   

ReDim DayFor1(1 To DayNumber) As Date


ReDim opDate(1 To rcZQ.RecordCount, 1 To DayNumber) As Long


ReDim opDateID(1 To rcZQ.RecordCount, 1 To DayNumber) As Long

'

For i = 1 To (rcZQ.RecordCount)


opDate(i, 1) = StartDate - CDate(rcZQ("date"))


If StartDate >= CDate(rcZQ("date")) Then


For j = 1 To DayNumber


opDate(i, j) = opDate(i, 1) + j - 1


Next j

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-1-5 22:21:01 | 只看该作者
用on error goto 处理也可
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-11 05:57 , Processed in 0.096825 second(s), 24 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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