Неправильное использование собственности в vb6 - PullRequest
0 голосов
/ 07 декабря 2009

У меня есть набор записей rc1, который считывает значения из текстового файла. Поля rtn, amt, name. Теперь я получаю данные из таблицы t_rec и назначаю их другому набору записей rc2. и сравните с набором записей rc1.

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"

Если я скомпилирую эту программу, я получаю ошибку, как Неправильное использование свойства в 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

1 Ответ

4 голосов
/ 07 декабря 2009

Глядя на код выше, я вижу проблему с этой строкой кода

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

Вам не нужно Set здесь.
Это должно было быть rc2.Fields![ClaimStatus] = "c" (если это проблемная строка).

РЕДАКТИРОВАТЬ: Я видел ваш ответ на мой вопрос. И то же правило относится к рассматриваемой линии.

Вместо
Set rcdreclamation.Fields![ClaimStatus] = "c"
должно быть
rcdreclamation.Fields![ClaimStatus] = "c"

EDIT2: Set необходим при назначении переменной объекта, экземпляру объекта или Nothing.

EDIT3: Кроме того, вы могли бы написать rcdreclamation![ClaimStatus] вместо rcdreclamation.Fields![ClaimStatus] для каждой такой строки.
( Disclaimer : Надеюсь, я прав в своем синтаксисе VB6. Прошло довольно много времени).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...