Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8367 / 9994 ←次へ | 前へ→

【4801】Re:FindFirstについて質問です。
回答  小僧  - 05/4/4(月) 14:25 -

引用なし
パスワード
   ▼はじめまして さん:
カタカナだったフィールド名[コード]を
[CODE]に変更してあります。

Sub Test1()
  Dim db As Database
  Dim rstMain As Recordset
  Dim rstSub As Recordset
  Dim rstNG_D As Recordset
  Dim nChk As Integer

  Set db = CurrentDb()
  Set rstMain = db.OpenRecordset("T_顧客", dbOpenDynaset)
  Set rstSub = db.OpenRecordset("T_情報", dbOpenDynaset)
  Set rstNG_D = db.OpenRecordset("NG_D", dbOpenDynaset)
 
  Do Until rstMain.EOF
    rstSub.FindFirst "[CODE]=" & rstMain![CODE]
      
    If rstSub.NoMatch = True Then
      rstNG_D.AddNew
        rstNG_D![CODE] = rstMain![CODE]
      rstNG_D.Update
    Else
      'Do Until rstSub.EOF
→変更   Do Until rstSub.NoMatch
        nChk = rstSub![CHK1]
        '// この処理は省略・・
      'rstSub.MoveNext
      rstSub.FindNext "[CODE]=" & rstMain![CODE]
      Loop
    End If
    rstMain.MoveNext
  Loop

→追加  rstNG_D.Close: Set rstNG_D = Nothing
  rstSub.Close: Set rstSub = Nothing
  rstMain.Close: Set rstMain = Nothing
End Sub

こんな感じでいかがでしょうか?
171 hits

【4800】FindFirstについて質問です。 はじめまして 05/4/4(月) 13:43 質問
【4801】Re:FindFirstについて質問です。 小僧 05/4/4(月) 14:25 回答
【4802】Re:FindFirstについて質問です。 はじめまして 05/4/4(月) 14:44 お礼

8367 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078256
(SS)C-BOARD v3.8 is Free