Vb6 多步骤操作生成错误。检查每个状态值

Vb6 多步骤操作生成错误。检查每个状态值,vb6,Vb6,我有两个记录集,它们希望通过另一个的值来更新其中一个记录集。我确实喜欢这个 stSql = "SELECT dbo.tblCableProperty.CatalogCode FROM dbo.tblCable INNER JOIN " & _ " dbo.tblCableProperty ON dbo.tblCable.CablePcode = dbo.tblCableProperty.CablePcode" & _ " WHERE dbo.tblCable.prjsubc

我有两个记录集,它们希望通过另一个的值来更新其中一个记录集。我确实喜欢这个

 stSql = "SELECT dbo.tblCableProperty.CatalogCode FROM  dbo.tblCable INNER JOIN " & _
"  dbo.tblCableProperty ON dbo.tblCable.CablePcode = dbo.tblCableProperty.CablePcode" & _
" WHERE dbo.tblCable.prjsubcode=" & prjsubcode & " AND dbo.tblCable.Active=1 " & " And dbo.tblCable.Gtag='" & Gtag & "' And dbo.tblCable.TagNo=" & tagno & " And dbo.tblCable.NTag=" & NTag & " And dbo.tblCable.EndStr='" & EndStr & "'"
rs.Open stSql, cn, adOpenStatic, adLockOptimistic
catalogCode = rs!catalogCode
rs.Close

stSql = "SELECT *,'' as ShowNum FROM viwShowNum WHERE prjsubcode=" & prjsubcode & " AND Active=1 " & " And Gtag='" & Gtag & "' And TagNo=" & tagno & " And NTag=" & NTag & " And EndStr='" & EndStr & "' ORDER BY 8"
rs.Open stSql, cn, adOpenDynamic, adLockOptimistic
rs.MoveFirst

stSql = "Select * from tblCoreCode where CatalogCode=" & catalogCode
Set rsCoreCode = New ADODB.Recordset
rsCoreCode.CursorLocation = adUseClient
rsCoreCode.Open stSql, cn, adOpenStatic, adLockOptimistic

While Not rs.EOF
criteria = "RealNum='" & rs!CoreNo & "'"
rsCoreCode.Filter = criteria

rs!ShowNum = CStr(rsCoreCode!ShowNum)
rsCoreCode.Filter = adFilterNone
rs.MoveNext
Wend
我在这一部分得到以下错误

 rs!ShowNum = CStr(rsCoreCode!ShowNum)

 multiple-step operation generated errors. check each status value
rsCoreCode!ShowNum是varchar(5)。我试图设定这个值

 rs!ShowNum = "1" 
但我又犯了同样的错误。 问题在哪里


感谢您

如我在评论中所问,如果
rs.updateable
rs!ShowNum.dataupdateable
false
,您可以从中使用这段代码来检索可更新的
记录集

相同的问题发生在我身上。问题是我违反了对象属性,在我的情况下,错误的大小是

“IntegrationException:问题(多步操作生成错误。请检查每个状态值。)”


_RecordDetails.Field_NameValue长度超过50个字符,因此违反了此属性,因此发生了错误,因此您可能应该检查是否与其中一个属性不匹配

这是什么意思,'行中的部分
stSql=“选择*,”“作为ShowNum FROM…
?*表示所有字段,”“作为ShowNum表示我向记录集中添加另一个字段以填充它。”。可以使用
as
为所选列指定别名。它会创建新的列吗?如何将字段附加到现有记录集中?我的问题一直是真正的问题。我一直在试图理解您的代码。再次感谢您的回复。用于添加新字段:可能是:
rs.fields.append“ShowNum”、adChar、5、adFldUpdatable
我没有任何rs.updateable或rs!ShowNum.dataupdateable
Imports ADODB
Dim _RecordSet As Recordset  
_rs.Fields.Append("Field_Name", DataTypeEnum.adVarChar, 50)
_Recordset("Field_Name").Value = _RecordDetails.Field_NameValue