2009-12-07 124 views
0

我有从txt文件读取值的记录集rc1。这些字段是rtn,amt,name。现在我从表t_rec获得数据,并将其分配给另一个记录集rc2。并与记录集rc1进行比较。vb6中属性的无效使用

If rd1.Fields![AccountNbr] = rc2.Fields![RTProvided] Then 
     Set rc2.Fields![ClaimStatus] = "c" 
      rc2.Fields![DateClosed] = CqDate 
      rc2.Fields![Audit_LastUpdated] = CqDate 
      rc2.Fields![Audit_UserAdded] = "System" 

如果我编译该程序我越来越errr像vb6中的属性无效使用。你可以帮我吗。

Sub DneFroceClose() 

CqDate = Format(Date, "dd/MM/yyyy") 

Set rcdreclamation = New ADODB.Recordset 
With rcdreclamation 
    .ActiveConnection = objConn 
    .Source = "SELECT * FROM T_DATA_reclamation" 
    .CursorType = adOpenDynamic 
    .CursorLocation = adUseClient 
    .LockType = adLockOptimistic 
    .Open 
End With 

frmDNELoad.lblStatus.Caption = "Adding record " & lngRecCount & " of " & rcdreclamation.RecordCount & " to database." 
frmDNELoad.Refresh 

rcdDNE.Open 
rcdreclamation.Open 
rcdDNE.MoveFirst 
rcdreclamation.MoveFirst 

Do Until rcdDNE.EOF 

    Do Until rcdreclamation.EOF 

    If rcdDNE.Fields![AccountNbr] = rcdreclamation.Fields![RTProvided] Then 
     Set rcdreclamation.Fields![ClaimStatus] = "c" 
      rcdreclamation.Fields![DateClosed] = CqDate 
      rcdreclamation.Fields![Audit_LastUpdated] = CqDate 
      rcdreclamation.Fields![Audit_UserAdded] = "System" 
      Exit Do 
    Else 
    rcdreclamation.MoveNext 
    End If 

    Loop 
    rcdDNE.MoveNext 
    rcdreclamation.MoveFirst 

Loop 

End Sub 
+0

在哪一行上,您看到“财产使用无效”? – shahkalpesh 2009-12-07 18:00:51

+0

rcdreclamation.Fields![ClaimStatus] =“c” – pbrp 2009-12-07 18:06:54

+0

并突出显示[ClaimStatus] – pbrp 2009-12-07 18:07:17

回答

4

看看上面的代码中,我看到的问题,这行代码

Set rc2.Fields![ClaimStatus] = "c" 

你不需要Set这里。
它应该是rc2.Fields![ClaimStatus] = "c"(如果这是有问题的行)。

编辑:我看到你的回复我的问题。相同的规则适用于该问题。

而不是
Set rcdreclamation.Fields![ClaimStatus] = "c"
应该
rcdreclamation.Fields![ClaimStatus] = "c"

EDIT2:当你指定给一个对象变量,一个对象实例或Nothing需要Set。编辑3:另外,你可以写 rcdreclamation![ClaimStatus]而不是rcdreclamation.Fields![ClaimStatus]为每个这样的行。我希望我对我的VB6语法是正确的,已经有相当长的一段时间了)。

+0

是的,您是对的。谢谢你的帮助。我还有一个问题。更新该信息后如何保存我已修改到SQL表中的数据? – pbrp 2009-12-07 18:13:06

+0

请用简单的话说,你正在做什么?您是否想要读取文本文件(CSV,制表符分隔)并希望将这些记录插入到SQL数据库中? – shahkalpesh 2009-12-07 18:18:15

+0

不,我已经做到了。我读取文本文件并将这些值插入到表tb1中。现在我想比较tb1值与另一个表tb2。如果tb1.rt1 = tb2.rt2,则cstatus = c,date = now。之后,如何更新table2中的这个值。我希望你有我的看法。如果不让我知道,我会解释清楚。 – pbrp 2009-12-07 18:22:59