紧急求助!!错在那里了?????这是个什么错误!!

时间:2023-02-03 11:57:57
either bof or eof is true,or the carrent record has been deleted,reuquested operation requires current record.(错误提示)
Public Sub upData(rsSource As ADODB.Recordset, rsDes As ADODB.Recordset, tag As String)
 Dim i As Integer
 If tag = "1" Then rsDes.AddNew
 For i = 0 To rsSource.Fields.Count - 1
       If Not IsNull(rsSource(rsSource(i).Name)) Then
       rsDes(rsSource(i).Name) = Trim(rsSource(rsSource(i).Name)) '错误
       Else
       rsDes(rsSource(i).Name) = Null
       End If
 Next
 rsDes.Update
End Sub
错误处[rsdes(rssource(i).name)=trim(rssource(rssource(i).name))] rsdes用鼠标放在那里没有任何值???为什么??其他地方如rssource(rssource(i).name)鼠标放在这里都有值。
小草!紫河!playyuer!吸海垂虹!......快来呀!!

20 个解决方案

#1


不知道你想实现的东西是什么,但这句
rsDes(rsSource(i).Name) = Trim(rsSource(rsSource(i).Name)) 
是将rsSource里第I字段的内容赋给rsDes,而报错的内容是说rsSource里没有记录。你看一下吧。

#2


是不是要先判断一下总记录数。

#3


语法没问题,估计是你rsdes、rssource对象有问题,你可以分别输出他们的值看看嘛!

Public Sub upData(rsSource As ADODB.Recordset, rsDes As ADODB.Recordset, tag As String)
Dim i As Integer
If tag = "1" Then rsDes.AddNew
For i = 0 To rsSource.Fields.Count - 1
      If Not IsNull(rsSource(rsSource(i).Name)) Then
      debug.print Trim(rsSource(rsSource(i).Name)  '判断rsSource(rsSource(i).Name)是否有值
      rsDes(rsSource(i).Name) = Trim(rsSource(rsSource(i).Name)) 
      Else
      rsDes(rsSource(i).Name) = Null
      End If
debug.print rsDes(rsSource(i).Name)  '判断rsDes(rsSource(i).Name)是否有值
Next
rsDes.Update

#4


rssource里面有记录的!
我就是要做c/s。但是在发送数据是要把数据放入一个临时库中。然后让临时库于源数据库进行比较。如果有新的数据就发送新的数据。临时库就是为了让发送数据的量小一些。每次发送的数据总是最新的数据。服务器的数据要和客户端的数据保持一致!!可是卸这个软件的是一个计算机的硕士。他变态!!!!这种狗屁代码!办

#5


你能肯定 运行到出错那句的时候rsSource.bof = true and rsSource.eof =true 吗??

#6


If tag = "1" Then rsDes.AddNew
這句有沒有執行??

#7


呵呵~~~
关注!

#8


to:little_hero(天生我才必有用!)谢谢关心!我试了你说的。在调试窗口有数据。只是执行到刚才哪里就不行了!
to:zeng_zhh(紫河):执行了。
to:songyangk(小草):我正在试


谢谢大家!!!!!

#9


用單步執行的方式,逐個跟蹤.在debug窗口中

#10


to: zeng_zhh(紫河) :If tag = "1" Then rsDes.AddNew 没有执行!!

#11


我正在调试!!!!
to:little_hero(天生我才必有用!)谢谢关心!
to:songyangk(小草):我正在试



#12


Dim i As Integer
If tag = "1" Then rsDes.AddNew
For i = 0 To rsSource.Fields.Count - 1
   If Not IsNull(rsSource.Fields(i).value) Then
      debug.print Trim(rsSource.Fields(i).value)  
      rsDes.Fields(i).value = Trim(rsSource.Fields(i).value)) 
   Else
      rsDes.Fields(i).value = Null
      End If
   debug.print rsDes.Fields(i).value  
Next
rsDes.Update

#13


还是不行!这段程序是一个过程。使用来更新程序的。目的是为了把客户端数据传给服务器
为什么还是不行?

#14


小草!紫河!playyuer!吸海垂虹!......快来呀!!

#15


怎么没有人了?????
救救我吧!!

#16


gz

#17


on errror resume next

#18


rsDes(rsSource(i).Name) = Null,是用NULL吗??用""不行吗?好象null和""不一样的吧

#19


rsDes(rsSource(i).Name) = Null & ""
      

#20


如果If tag = "1" Then rsDes.AddNew 没有执行,则错误可能发生在rsDes,象你说的这是个动态生成的临时库,一开始应该是空的,该recordset没有Record,如何给它赋值?

#1


不知道你想实现的东西是什么,但这句
rsDes(rsSource(i).Name) = Trim(rsSource(rsSource(i).Name)) 
是将rsSource里第I字段的内容赋给rsDes,而报错的内容是说rsSource里没有记录。你看一下吧。

#2


是不是要先判断一下总记录数。

#3


语法没问题,估计是你rsdes、rssource对象有问题,你可以分别输出他们的值看看嘛!

Public Sub upData(rsSource As ADODB.Recordset, rsDes As ADODB.Recordset, tag As String)
Dim i As Integer
If tag = "1" Then rsDes.AddNew
For i = 0 To rsSource.Fields.Count - 1
      If Not IsNull(rsSource(rsSource(i).Name)) Then
      debug.print Trim(rsSource(rsSource(i).Name)  '判断rsSource(rsSource(i).Name)是否有值
      rsDes(rsSource(i).Name) = Trim(rsSource(rsSource(i).Name)) 
      Else
      rsDes(rsSource(i).Name) = Null
      End If
debug.print rsDes(rsSource(i).Name)  '判断rsDes(rsSource(i).Name)是否有值
Next
rsDes.Update

#4


rssource里面有记录的!
我就是要做c/s。但是在发送数据是要把数据放入一个临时库中。然后让临时库于源数据库进行比较。如果有新的数据就发送新的数据。临时库就是为了让发送数据的量小一些。每次发送的数据总是最新的数据。服务器的数据要和客户端的数据保持一致!!可是卸这个软件的是一个计算机的硕士。他变态!!!!这种狗屁代码!办

#5


你能肯定 运行到出错那句的时候rsSource.bof = true and rsSource.eof =true 吗??

#6


If tag = "1" Then rsDes.AddNew
這句有沒有執行??

#7


呵呵~~~
关注!

#8


to:little_hero(天生我才必有用!)谢谢关心!我试了你说的。在调试窗口有数据。只是执行到刚才哪里就不行了!
to:zeng_zhh(紫河):执行了。
to:songyangk(小草):我正在试


谢谢大家!!!!!

#9


用單步執行的方式,逐個跟蹤.在debug窗口中

#10


to: zeng_zhh(紫河) :If tag = "1" Then rsDes.AddNew 没有执行!!

#11


我正在调试!!!!
to:little_hero(天生我才必有用!)谢谢关心!
to:songyangk(小草):我正在试



#12


Dim i As Integer
If tag = "1" Then rsDes.AddNew
For i = 0 To rsSource.Fields.Count - 1
   If Not IsNull(rsSource.Fields(i).value) Then
      debug.print Trim(rsSource.Fields(i).value)  
      rsDes.Fields(i).value = Trim(rsSource.Fields(i).value)) 
   Else
      rsDes.Fields(i).value = Null
      End If
   debug.print rsDes.Fields(i).value  
Next
rsDes.Update

#13


还是不行!这段程序是一个过程。使用来更新程序的。目的是为了把客户端数据传给服务器
为什么还是不行?

#14


小草!紫河!playyuer!吸海垂虹!......快来呀!!

#15


怎么没有人了?????
救救我吧!!

#16


gz

#17


on errror resume next

#18


rsDes(rsSource(i).Name) = Null,是用NULL吗??用""不行吗?好象null和""不一样的吧

#19


rsDes(rsSource(i).Name) = Null & ""
      

#20


如果If tag = "1" Then rsDes.AddNew 没有执行,则错误可能发生在rsDes,象你说的这是个动态生成的临时库,一开始应该是空的,该recordset没有Record,如何给它赋值?

#21