ADOのやり方
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Vol.060
これならわかるマイクロソフトアクセス活用法
-->ADOのやり方
発行者:高内 章治 2008/05/21
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏ 今日の内容 ━━━━━━━━━━━━━━━━━━━━━━━━┓
┃
┃ 【01 - ご挨拶 】
┃ 【02 - トピックス 】ADOのやり方
┃ 【03 - 編集後記 】
┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
─────────────────────────────────
【01 - ご挨拶 】
─────────────────────────────────
こんにちは、高内(こうない)です。
今回は、
「ADOのやり方」
についてお話したいと思います。
─────────────────────────────────
【02 - トピックス】:ADOのやり方
─────────────────────────────────
前回、クエリでできないことがあるというお話をしました。
そういう時は、ADOというやり方があると言うことをお話しました。
その、ADOのやり方です。
今、アクセス2007を使っていますが、アクセス2003までは、ADOが
標準で設定されていたのですが、アクセス2007では、参照設定しないと
いけないようです。
今日は、ADOの使い方を説明します。
ADOとは、ActiveX Data Objects の略です。
これは、Visual Basicを使ってデータベースに接続して、
データを操作するときに使用するオブジェクトです。
これを使って前回のプログラムを作ります。
前回の、例です。
・製品のデータ
製品 時間 項目
------ ------- ------
A 1000 ??
A 1130 ??
A 1200 ??
製品別のデータに、時間が入っています。
1000は10時00分という意味です。1130 は、11時30分です。
もう一つ時間のデータがあります。
・時間のデータ
(から)(まで)
時間 時間 項目
----- ----- -------
1000 1059 B1
1100 1159 B2
1200 1300 B3
10時00分から10時59分までだとB1の項目名になります。
この2つのデータを使って、製品別の時間の横に、下のデータの
項目名を表示させたいと言うことです。
??の所です。
例えば、1番上のデータは、10時ですがら、時間のデータの
「B1」が入ります。
3番目だと、「B3」が入ります。
これを、ADOを使って作成します。
ボタンをクリックしたときの処理の中に作成します。
やり方としては、
1.製品のデータを読み込む。
2.次に時間のデータを上から読んでいく。
3.製品データの時間が、時間のデータの範囲にあったら
時間のデータを取り出す。
4.製品データ1に項目の入ったデータを書き出す
5.次のデータを読んで2から4を繰り返す。
ちょっと複雑ですが。
ADOのステップは、
1.ADOを定義
2.ファイルを開く
3.処理をする。
4.ファイルを閉じるです。
実際に使ったプログラムからコピーして修正しました。
ちょっと複雑ですが、イメージはつかめると思います。
========================================================
'---- 製品データを読む
'---- ADOの定義
Dim cn2 As New ADODB.Connection
Dim rst2 As New ADODB.Recordset
Set cn2 = CurrentProject.Connection
Set rst2 = New ADODB.Recordset
'---- ファイルを開く
rst2.Open "製品データ", cn2, adOpenStatic, adLockReadOnly
'-----製品データ1へ書き込む
Dim cn3 As New ADODB.Connection
Dim rst3 As New ADODB.Recordset
Set cn3 = CurrentProject.Connection
Set rst3 = New ADODB.Recordset
rst3.Open "製品データ1", cn3, adOpenKeyset, adLockOptimistic
'------製品データが終わるまで繰り返す
Do Until rst2.EOF
'------製品データ1に追加します
rst3.AddNew
rst3!製品 = rst2!製品
rst3!時間 = rst2!時間
'-----ここで、時間の項目データを持ってくる
Dim cn4 As New ADODB.Connection
Dim rst4 As New ADODB.Recordset
Set cn4 = CurrentProject.Connection
Set rst4 = New ADODB.Recordset
rst4.Open "時間のデータ", cn4, adOpenStatic, adLockReadOnly
'----- 時間の項目データを1行づつ読んで比較する。
Do Until rst4.EOF
If (rst2!時間 >= rst4!時間(から)) And (rst2!時間 <= rst4!時間(まで)) Then
rst3!項目 = rst4!項目
'--データが見つかったら次の製品データへいきます
Exit Do
Else
End If
'---次の時間データへ行きます
rst4.MoveNext
Loop
End If
rst4.Close: Set rst4 = Nothing
cn4.Close: Set cn4 = Nothing
'---これで製品データ1を更新します
rst3.Update
'----次の製品データへ行きます
rst2.MoveNext
'---製品データを繰り返します。
Loop
rst3.Close: Set rst3 = Nothing
cn3.Close: Set cn3 = Nothing
'---- ADOを閉じる
rst2.Close: Set rst2 = Nothing
cn2.Close: Set cn2 = Nothing
===============================================================
参考にしてください。
─────────────────────────────────
【03 - 編集後記 】
─────────────────────────────────
今、17インチのモニター画面を使っているのですが、一つの画面の中で
いくつものプログラムを立ち上げています。
切り替えて使うのは、とても面倒くさいですね。
それで、たまたま17インチのモニターが余っていたので、
1つのパソコンに、2台のモニターを使って、右と左で作業しています。
左にプログラム、右にワードで仕事をするなどです。
私が使っているのは、USB対応のバッファローのディスプレイ増設
アダプタ(GX-DVI/U2)です。8000円くらいだったと思います。
でも、USB2.0なので、USB2.0でないパソコンは、PCIバスにUSB2.0の
ボードをつければ使えます(1500円くらいでした。)
生産性がとてもいいですよ。
かなり快適です。
もう1台のモニターで作業できないですね。
◆ホームページを少しづつ頑張って、まとめています。
まだ十分まとまっていませんが、参考にしてください。
http://www.sk-access.com/index.html
◆私がアクセスをマスターできたのは!!
テーブル作成からVBAまでマスターできます。
「在庫管理システムをアクセスで作ってみよう」教材は
http://www.sk-access.com/Kyozai/Zaiko1.html
◆ロット別の在庫管理ができる格安ソフトです。
マイクロソフトアクセスで動きます。是非、ご覧ください。
http://www.sk-access.com/Soft/Kzaiko_Desc.html
ロット別に在庫管理ができるソフトって少ないのですよ。
◆資格を取ろう
・MOS/旧MOUS:マイクロソフトオフィススペシャリスト)
マイクロソフト社が認定した資格です。実技試験です。
アクセスの資格もあります。もちろんワードやエクセルもあります。
http://www.sk-access.com/Shikaku/Shika010_Mos.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
●ご意見・ご感想・ご質問
『メルマガでもっとお役にたてる情報を配信したいと思いますので、
日ごろから疑問に思っていることを教えてください。宛先はこちらへ』
→ kohnai@vega.ocn.ne.jp (高内:こうない)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| 【発行人】: | 高内 章治(こうない しょうじ) |
| 【ホームページ】: | http://www.sk-access.com/index.html |
| 【メールアドレス】: | kohnai@vega.ocn.ne.jp |
| 【購読登録・解除】: | http://www.mag2.com/m/0000222659.html (まぐまぐ) |
◎「これならわかるマイクロソフトアクセス活用法」 の
バックナンバー・配信停止はこちら
http://archive.mag2.com/0000222659/index.html
◎以下のホームページからでもバックナンバーを見ることができます。
http://www.sk-access.com/MailMaga/Mail_List1.html
登録・解除につきましてはご自身でお願いいたします。
※このメールマガジンの転送はOKですが、掲載された記事の内容を
許可無く転載することをを禁止させて頂きます。
必ず事前にご相談ください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
アクセスを使って1週間でシステム構築ができる〜「在庫管理システムをアクセスで作ってみよう」教材
「アクセスでシステムを早く開発したい方」、
「アクセスでシステム開発をあきらめた方」のための
アクセスを使って1週間でシステム構築する究極の方法とは?
