Access VBA質問箱 IV

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

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


9215 / 9994 ←次へ | 前へ→

【3921】Re:連番
回答  Chou  - 04/11/28(日) 16:18 -

引用なし
パスワード
   では、ADOから。
フォームのコードモジュール画面のツールバーの
ツール→参照設定をクリックして出てきたWindowsの
中からMicrosoft ActiveX Data Object 2.x(最新版)
Libraryにチェックが入っているか確認下さい。
チェックが入っていなければチェックを入れて
OKを押してください。
これでADOが利用可能となります。

次に、動作確認の為に適当なフォーム(新規でも可)に
コマンドボタンを追加してこのコマンドボタンのプロパティー
からクリック時のイベントでコードモジュール画面を
開いて下記のコードをCopy若しくは入力下さい。

  Dim cn As New ADODB.Connection
    Set cn = CurrentProject.Connection
  
  Dim rst As New ADODB.Recordset
  Dim Num As New ADODB.Recordset

    (テーブルの名前は仮に「連番」と致しましたので
    正規のテーブル名に変更願います。
    又、フィールド名の実際の名前に変更下さい)

    rst.Open "Select 氏名 From 連番 Group By 氏名", cn
  
  Dim str_Name As String
  Dim strSQL As String
  Dim intX As Integer
  
    Do Until rst.EOF
      str_Name = rst!氏名
        strSQL = "Select * From 連番 Where 氏名 = '" & str_Name & "' Order By" _ (strSQLからここまで一行です)
            & " 日付 ASC"
        Num.Open strSQL, cn, adOpenStatic, adLockOptimistic
        
        intX = 1
        
          Do Until Num.EOF
            Num!番号 = intX
            Num.Update
              intX = intX + 1
            Num.MoveNext
          Loop
          
        Num.Close
        Set Num = Nothing
        strSQL = ""
        
      rst.MoveNext
      
    Loop
    
    rst.Close
    Set rst = Nothing

フォームのこのコマンドボタンをクリックすれば
上記のコードが走ります。
結果は下記の通りです。
氏名    日付    番号
ツヨシ    2004/6/30    1
タケシ    2004/8/15    1
ツヨシ    2004/11/4    2
タケシ    2004/11/25    2
タケシ    2004/12/24    3

以上ですが、分からない処があれば質問下さい。

354 hits

【3907】連番 ハッピー 04/11/26(金) 21:25 質問
【3911】Re:連番 Chou 04/11/27(土) 16:16 回答
【3919】Re:連番 ハッピー 04/11/28(日) 11:34 発言
【3921】Re:連番 Chou 04/11/28(日) 16:18 回答

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