メールマガジン【アクセスで作るシリーズ】
バックナンバー 【会計ソフト編】 Vol.49
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
ACCESSで作るシリーズ 【会計ソフト編】
発 行 : Yoshihisa Fukuda 2001. 4. 7 Vol.49
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
--------------------------------------
会計ソフトを作成する中で、何回かVBAによる集計処理が出てきました。
いきなり、コードを書かされ、皆さんは驚かれた事と思います。
ただ意味も解らず、ひたすらメールマガジンを見ながらキーボードを叩かれた方も
少なくないようです。
でも、何度も似たようなプログラムが出てくると、何となくイメージは湧いてきて
いるのでは無いでしょうか?
そこで、今回はVBAでテーブルを操作する際の解説を行います。
== ◇ 第5章 拡張機能 ====================
--------------------------------------
第4回 VBAでのレコードセットの扱い方
--------------------------------------
◆レコードセットとは
レコードセットとは、データーベース(Databaseオブジェクト)の中にあり、
データベース内のテーブルをレコード毎に操作する時に使用します。
レコードセットを使用することで、テーブルの中の1レコードを読み書きする事が
できるわけです。
レコードセットには、次の3つの種類があります。
1.テーブルタイプ
単一のテーブルに対して、レコードを追加、変更、削除する事ができます。
2.ダイナセットタイプ
複数のテーブルに対して、レコードを追加、変更、削除する事ができます。
要は、クエリーに対してのレコード操作です。もちろん1つのテーブルでも
構いません。
3.スナップショットタイプ
単一、または複数のテーブルに対して、レコードを参照することができます。
更新(追加、変更、削除)することはできません。
主にレポートや検索結果などに使用します。
◆レコードセットのプロパティ
レコードセットでは、テーブルに対して操作する訳ですから、テーブルの状態など
は、全てプロパティで判ります。
レコードの総数や、現在のレコード位置などを把握できます。
では、代表的なプロパティを見ていきましょう。
1.BOF、EOF プロパティ
現在のレコードの位置が先頭レコードより前、または最終レコードより後ろに
あるかを調べる事ができます。
現在のレコードの位置が先頭レコードより前にある場合、BOF が TRUE に
なっています。
現在のレコードの位置が最終レコードより後ろにある場合、EOF が TRUE に
なっています。
2.EditMode プロパティ
現在のレコードが編集状態であるかを調べる事ができます。
このプロパティには以下の内容が入っています。
dbEditNone 編集状態ではありません。
dbEditInProgress Edit メソッドが呼び出されている状態(更新中)です。
dbEditAdd AddNew メソッドが呼び出されている状態(追加中)です。
3.Filter プロパティ
レコードの抽出条件を指定することができます。
KamokuID = 1 などとすると、科目IDが1のレコードのみが抽出できます。
4.NoMatch プロパティ
レコードを検索などした時、該当するレコードが無い場合に、このプロパティ
の値がTRUEになります。
5.RecordCount プロパティ
レコードの総数を求める場合などに使用します。
但し、このプロパティを使用する際は以下の注意が必要です。
レコードセットがテーブルタイプの場合、このプロパティにはレコードの総数
が入っています。
レコードセットがダイナセットタイプ、スナップショットタイプの場合、この
プロパティはアクセスしたレコードの数が入っています。従ってこの場合、
一度、最後のレコードまでレコード移動(MoveLastメソッドなどを使用)する
と、レコードの総数が入る事になります。
これらが、よく使うプロパティです。
次に、代表的なメソッドを見ていきましょう。
1.AddNew メソッド
新しくレコードを追加したい時に、このメソッドを使用します。
最後にUpdate メソッドを使用してデータの追加が完了します。
2.CancelUpdate メソッド
更新をキャンセルします。
AddNew メソッドや Edit メソッドで更新、または追加しようとしたデータを
破棄する場合に使用します。
3.Colse メソッド
レコードセットをクローズします。
4.Delete メソッド
レコードを削除する時に使用します。
5.Edit メソッド
現在のレコードを更新する場合に使用します。
最後にUpdate メソッドを使用してデータの更新が完了します。
6.FindFirst、FindLast、FindNext、FindPrevious メソッド
レコードを検索する際、使用します。
FindFirst は検索条件に合った最初のレコードへ移動します。
FindLast は検索条件に合った最後のレコードへ移動します。
FindNext は検索条件に合った次のレコードへ移動します。
FindPrevious は検索条件に合った前のレコードへ移動します。
検索条件に合うレコードが無かった場合、NoMathプロパティがTRUEになります。
7.MoveFirst、MoveLast、MoveNext、MovePrevious メソッド
レコードの移動を行う時に使用します。
MoveFirst メソッドは先頭レコードに移動します。
MoveLast メソッドは最終レコードに移動します。
MoveNext メソッドは次のレコードに移動します。
最終レコードで MoveNext メソッドを行うと、EOF プロパティがTRUEになり、
カレントレコードが未定義になります。
MovePrevious メソッドは前のレコードに移動します。
先頭レコードで MovePrevious メソッドを行うと、BOF プロパティがTRUEに
なり、カレントレコードが未定義になります。
8.Requery メソッド
Queryを再実行してデータを更新します。
9.Update メソッド
更新、または追加しようとしているレコードを保存します。
このUpdate メソッドを行わずにレコード移動をしたりすると、更新中のデータ
や、追加中のデータは破棄されてしまいます。
これらが、よく使うメソッドです。
--------------------------------------
今回は、レコードセットのタイプと代表的なプロパティ、メソッドの紹介をしました。
次回は、これらの実際の使い方を見ていきましょう。
______________________________________
◆◇ ご挨拶 ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇
読者の皆さん、こんにちは。
発行者の福田です。
今日で、このメールマガジンが1周年を迎えました。
ちょうど、昨年の明日4月8日創刊号を発行しました。
最初はどうなる事かと不安でしたが、皆様のお陰でここまで続けて来られました。
改めて感謝すると共に、御礼を申し上げます。
当初、考えていた様には、なかなかいかず、ホームページも思う様に更新できて
いませんが、今後もできる限り継続していきたいと思います。
尚、会計ソフト編の次の題材が決まっていません。
リクエスト等、ございましたら是非メールでお知らせ下さい。
今後とも、よろしくお願いいたします。
______________________________________
◆◇ Q&Aコーナー ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇
今回はありません。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
◇ ACCESSで作るシリーズ 【会計ソフト編】
◇ 発 行 元 :Yoshihisa Fukuda(福田 義久)
◇ ご意見・ご要望
ご質問等 :y.fukuda@ro.bekkoame.ne.jp
◇ このメールマガジンは、インターネットの本屋さん『まぐまぐ』を利用して発行
しています。(まぐまぐID:0000030446)
◇ バックナンバー:http://www.bekkoame.ne.jp/ro/y.fukuda/
◇ 登録・解除 :http://www.bekkoame.ne.jp/ro/y.fukuda/
Copyright(C) 2000-2001 Yoshihisa Fukuda All rights reserved.
◇転載について
このメールマガジンの無断転載などは、一切禁止です。
転載をご希望の方は、事前にメールで連絡をください。
◇免責
このメールマガジン及びホームページの内容による、いかなる損害、障害などに
関して発行者は一切の責任を負いません。
掲載広告についても同様です。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
ACCESSで作るシリーズ 【会計ソフト編】
発 行 : Yoshihisa Fukuda 2001. 4. 7 Vol.49
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
--------------------------------------
会計ソフトを作成する中で、何回かVBAによる集計処理が出てきました。
いきなり、コードを書かされ、皆さんは驚かれた事と思います。
ただ意味も解らず、ひたすらメールマガジンを見ながらキーボードを叩かれた方も
少なくないようです。
でも、何度も似たようなプログラムが出てくると、何となくイメージは湧いてきて
いるのでは無いでしょうか?
そこで、今回はVBAでテーブルを操作する際の解説を行います。
== ◇ 第5章 拡張機能 ====================
--------------------------------------
第4回 VBAでのレコードセットの扱い方
--------------------------------------
◆レコードセットとは
レコードセットとは、データーベース(Databaseオブジェクト)の中にあり、
データベース内のテーブルをレコード毎に操作する時に使用します。
レコードセットを使用することで、テーブルの中の1レコードを読み書きする事が
できるわけです。
レコードセットには、次の3つの種類があります。
1.テーブルタイプ
単一のテーブルに対して、レコードを追加、変更、削除する事ができます。
2.ダイナセットタイプ
複数のテーブルに対して、レコードを追加、変更、削除する事ができます。
要は、クエリーに対してのレコード操作です。もちろん1つのテーブルでも
構いません。
3.スナップショットタイプ
単一、または複数のテーブルに対して、レコードを参照することができます。
更新(追加、変更、削除)することはできません。
主にレポートや検索結果などに使用します。
◆レコードセットのプロパティ
レコードセットでは、テーブルに対して操作する訳ですから、テーブルの状態など
は、全てプロパティで判ります。
レコードの総数や、現在のレコード位置などを把握できます。
では、代表的なプロパティを見ていきましょう。
1.BOF、EOF プロパティ
現在のレコードの位置が先頭レコードより前、または最終レコードより後ろに
あるかを調べる事ができます。
現在のレコードの位置が先頭レコードより前にある場合、BOF が TRUE に
なっています。
現在のレコードの位置が最終レコードより後ろにある場合、EOF が TRUE に
なっています。
2.EditMode プロパティ
現在のレコードが編集状態であるかを調べる事ができます。
このプロパティには以下の内容が入っています。
dbEditNone 編集状態ではありません。
dbEditInProgress Edit メソッドが呼び出されている状態(更新中)です。
dbEditAdd AddNew メソッドが呼び出されている状態(追加中)です。
3.Filter プロパティ
レコードの抽出条件を指定することができます。
KamokuID = 1 などとすると、科目IDが1のレコードのみが抽出できます。
4.NoMatch プロパティ
レコードを検索などした時、該当するレコードが無い場合に、このプロパティ
の値がTRUEになります。
5.RecordCount プロパティ
レコードの総数を求める場合などに使用します。
但し、このプロパティを使用する際は以下の注意が必要です。
レコードセットがテーブルタイプの場合、このプロパティにはレコードの総数
が入っています。
レコードセットがダイナセットタイプ、スナップショットタイプの場合、この
プロパティはアクセスしたレコードの数が入っています。従ってこの場合、
一度、最後のレコードまでレコード移動(MoveLastメソッドなどを使用)する
と、レコードの総数が入る事になります。
これらが、よく使うプロパティです。
次に、代表的なメソッドを見ていきましょう。
1.AddNew メソッド
新しくレコードを追加したい時に、このメソッドを使用します。
最後にUpdate メソッドを使用してデータの追加が完了します。
2.CancelUpdate メソッド
更新をキャンセルします。
AddNew メソッドや Edit メソッドで更新、または追加しようとしたデータを
破棄する場合に使用します。
3.Colse メソッド
レコードセットをクローズします。
4.Delete メソッド
レコードを削除する時に使用します。
5.Edit メソッド
現在のレコードを更新する場合に使用します。
最後にUpdate メソッドを使用してデータの更新が完了します。
6.FindFirst、FindLast、FindNext、FindPrevious メソッド
レコードを検索する際、使用します。
FindFirst は検索条件に合った最初のレコードへ移動します。
FindLast は検索条件に合った最後のレコードへ移動します。
FindNext は検索条件に合った次のレコードへ移動します。
FindPrevious は検索条件に合った前のレコードへ移動します。
検索条件に合うレコードが無かった場合、NoMathプロパティがTRUEになります。
7.MoveFirst、MoveLast、MoveNext、MovePrevious メソッド
レコードの移動を行う時に使用します。
MoveFirst メソッドは先頭レコードに移動します。
MoveLast メソッドは最終レコードに移動します。
MoveNext メソッドは次のレコードに移動します。
最終レコードで MoveNext メソッドを行うと、EOF プロパティがTRUEになり、
カレントレコードが未定義になります。
MovePrevious メソッドは前のレコードに移動します。
先頭レコードで MovePrevious メソッドを行うと、BOF プロパティがTRUEに
なり、カレントレコードが未定義になります。
8.Requery メソッド
Queryを再実行してデータを更新します。
9.Update メソッド
更新、または追加しようとしているレコードを保存します。
このUpdate メソッドを行わずにレコード移動をしたりすると、更新中のデータ
や、追加中のデータは破棄されてしまいます。
これらが、よく使うメソッドです。
--------------------------------------
今回は、レコードセットのタイプと代表的なプロパティ、メソッドの紹介をしました。
次回は、これらの実際の使い方を見ていきましょう。
______________________________________
◆◇ ご挨拶 ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇
読者の皆さん、こんにちは。
発行者の福田です。
今日で、このメールマガジンが1周年を迎えました。
ちょうど、昨年の明日4月8日創刊号を発行しました。
最初はどうなる事かと不安でしたが、皆様のお陰でここまで続けて来られました。
改めて感謝すると共に、御礼を申し上げます。
当初、考えていた様には、なかなかいかず、ホームページも思う様に更新できて
いませんが、今後もできる限り継続していきたいと思います。
尚、会計ソフト編の次の題材が決まっていません。
リクエスト等、ございましたら是非メールでお知らせ下さい。
今後とも、よろしくお願いいたします。
______________________________________
◆◇ Q&Aコーナー ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇
今回はありません。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
◇ ACCESSで作るシリーズ 【会計ソフト編】
◇ 発 行 元 :Yoshihisa Fukuda(福田 義久)
◇ ご意見・ご要望
ご質問等 :y.fukuda@ro.bekkoame.ne.jp
◇ このメールマガジンは、インターネットの本屋さん『まぐまぐ』を利用して発行
しています。(まぐまぐID:0000030446)
◇ バックナンバー:http://www.bekkoame.ne.jp/ro/y.fukuda/
◇ 登録・解除 :http://www.bekkoame.ne.jp/ro/y.fukuda/
Copyright(C) 2000-2001 Yoshihisa Fukuda All rights reserved.
◇転載について
このメールマガジンの無断転載などは、一切禁止です。
転載をご希望の方は、事前にメールで連絡をください。
◇免責
このメールマガジン及びホームページの内容による、いかなる損害、障害などに
関して発行者は一切の責任を負いません。
掲載広告についても同様です。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□