Access VBA質問箱 IV

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

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


8368 / 9994 ←次へ | 前へ→

【4800】FindFirstについて質問です。
質問  はじめまして  - 05/4/4(月) 13:43 -

引用なし
パスワード
   以下のプログラムで顧客テーブルから登録番号が一致するものに対してチェックを行い、
一致しないものはNGTBLに新規登録したいのですが、レコードの抽出が上手くいきません。 
コード1の時、T_情報の全情報が取得されます。
コード2の時、正しく、NGTBLに登録。
コード3の時、正しく、コード値3の情報のみ取得します。
多分検索条件が悪いと思うのですがどうしていいか?です。宜しかった教えてください。
<データ>
T_顧客 FLDコード
      1
      2    
      3
T_情報 FLDコード FLDCHK1
      1    0
      1    0
      3    1
      3    1

  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)
  
  rstMain.MoveFirst 
  Do Until rstMain.EOF

    rstSub.MoveFirst 
    rstSub.FindFirst "コード=" & rstMain!コード
        
    If rstSub.NoMatch = True Then
      rstNG_D.AddNew
        rstNG_D!コード = rstMain!コード
      rstNG_D.Update
    Else

      Do Until rstSub.EOF
           
        nChk = rstSub!CHK1
        
        // この処理は省略・・
      rstSub.MoveNext
      Loop
    End If
    rstMain.MoveNext
  Loop
  rstSub.Close: Set rstSub = Nothing
  rstMain.Close: Set rstMain = Nothing

169 hits

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

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