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里没有记录。你看一下吧。
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
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。但是在发送数据是要把数据放入一个临时库中。然后让临时库于源数据库进行比较。如果有新的数据就发送新的数据。临时库就是为了让发送数据的量小一些。每次发送的数据总是最新的数据。服务器的数据要和客户端的数据保持一致!!可是卸这个软件的是一个计算机的硕士。他变态!!!!这种狗屁代码!办
我就是要做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(小草):我正在试
谢谢大家!!!!!
to:zeng_zhh(紫河):执行了。
to:songyangk(小草):我正在试
谢谢大家!!!!!
#9
用單步執行的方式,逐個跟蹤.在debug窗口中
#10
to: zeng_zhh(紫河) :If tag = "1" Then rsDes.AddNew 没有执行!!
#11
我正在调试!!!!
to:little_hero(天生我才必有用!)谢谢关心!
to:songyangk(小草):我正在试
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
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
#1
不知道你想实现的东西是什么,但这句
rsDes(rsSource(i).Name) = Trim(rsSource(rsSource(i).Name))
是将rsSource里第I字段的内容赋给rsDes,而报错的内容是说rsSource里没有记录。你看一下吧。
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
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。但是在发送数据是要把数据放入一个临时库中。然后让临时库于源数据库进行比较。如果有新的数据就发送新的数据。临时库就是为了让发送数据的量小一些。每次发送的数据总是最新的数据。服务器的数据要和客户端的数据保持一致!!可是卸这个软件的是一个计算机的硕士。他变态!!!!这种狗屁代码!办
我就是要做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(小草):我正在试
谢谢大家!!!!!
to:zeng_zhh(紫河):执行了。
to:songyangk(小草):我正在试
谢谢大家!!!!!
#9
用單步執行的方式,逐個跟蹤.在debug窗口中
#10
to: zeng_zhh(紫河) :If tag = "1" Then rsDes.AddNew 没有执行!!
#11
我正在调试!!!!
to:little_hero(天生我才必有用!)谢谢关心!
to:songyangk(小草):我正在试
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
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,如何给它赋值?