2009-12-07 52 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