メールマガジン【アクセスで作るシリーズ】
バックナンバー 【住所録ソフト編】 Vol.8
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
ACCESSで作るシリーズ 【住所録ソフト編】
発 行 : Yoshihisa Fukuda 2001.11.24 Vol.8
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
--------------------------------------
今回は前回作成したテーブルの登録フォームの作成です。
と言いたい所ですが、前回のテーブル作成で少し抜けていました。
それを先に追加しておきます。
______________________________________
□ 差出人テーブルに連名リンク用の項目を追加する
前回作成した差出人テーブルで、差出人の連名を登録するためのリンクする項目が
抜けていました。
1.住所録ソフトのデータベース[Address.mdb]を開きます。
2.データベースウィンドウの[テーブル]タブを選択します。
3.差出人テーブル[SenderTable]を選択し[デザイン]ボタンを押下します。
4.一番下に、以下の項目を追加します。
_________________________
フィールド名 データ型 説明
-------------------------
JointlyID 数値型 連名ID
━━━━━━━━━━━━━━━━━━━━━━━━━
_______________________
フィールド名 サイズ 標題
-----------------------
JointlyID 長整数型 連名ID
━━━━━━━━━━━━━━━━━━━━━━━
5.項目を追加したらメニューの[ファイル]-[上書き保存]を選択し、テーブルの
デザインを保存して、ウィンドウの右上の[×]ボタンを押下しウィンドウを閉じ
ます。
______________________________________
□ 差出人登録フォームを作成する
前回作成した差出人テーブルの登録フォームを作成しましょう。
1.住所録ソフトのデータベース[Address.mdb]を開きます。
2.データベースウィンドウの[フォーム]タブを選択します。
3.[新規作成]ボタンを押下し、[フォームの新規作成]ダイアログで[フォームウィ
ザード]を選択し、[元になるテーブル/クエリーの選択]で前回作成したテーブル
[SenderTable]を選択して[OK]ボタンを押下します。
4.[選択可能なフィールド]に表示されている全てのフィールドを選択します。
([>>]ボタンで全てのフィールドが選択できます)
5.[次へ]ボタンを押下して[フォームの表示形式を選択して下さい]の画面で[単票
形式]を選択します。
6.[次へ]ボタンを押下して[スタイルを選択して下さい]の画面で好みのスタイルを
選択します。(サンプルでは[標準]を選択しています)
7.[次へ]ボタンを押下して[フォーム名を指定して下さい]で[SenderForm]と入力
します。
8.[フォームを作成した後に行うことを選択して下さい]で[フォームのデザインを
編集する]を選択して[完了]ボタンを押下します。
9.例によって、自分の好みにレイアウトを修正し、必要ならカーソルの移動順を
修正します。
10.差出人は自分だけなのでレコードは1つだけです。
そこで、1レコードだけ操作できる様にします。
考えなければいけない点として、以下の事が考えられます。
(1)レコードは1レコードのみなので、レコードの追加は出来なくする。
(2)必ず1レコードは存在しないといけないので、レコードの削除は出来なく
する。
(3)1レコードしか無いので、レコード移動ボタンやレコードセレクタは不要。
これらの事を考えて、以下のプロパティを設定しましょう。
(フォームを選択した状態で設定します)
削除の許可 ・・・ いいえ
レコードセレクタ ・・・ いいえ
移動ボタン ・・・ いいえ
これで(2)(3)は解決しました。
しかし(1)のレコードの追加はできます。
[追加の許可]プロパティを[いいえ]にしても良いのですが、それだと最初に必要
な1レコードを作成しておく必要があります。
会計ソフト編では、基本情報設定が、その様な造りでした。
そこで、同じ事をやるのも面白く無いので今回はVBAで少し凝ってみましょう。
★ VBAで[追加の許可]プロパティを制御する。
1.フォームを選択した状態で、[開く時]プロパティにカーソルを移動し、
[イベントプロシージャ]にして、右端の[...]ボタンを押下します。
2.クラスモジュールウィンドウが開いたら
Private Sub Form_Open(Cancel As Integer) と End Sub の間に以下の
コードを記述します。
Private Sub Form_Open(Cancel As Integer)
If DCount("*", "SenderTable") = 0 Then
Me.AllowAdditions = True
Else
Me.AllowAdditions = False
End If
End Sub
3.クラスモジュールウィンドウを右上の[×]ボタンで閉じます。
これで1レコード以上の追加は出来なくなりました。
11.次に、差出人の連名ですが、これは宛先側の連名と共通のフォームを使用します。
構造としては、連名登録用のフォームをサブフォームとして、差出人フォームと
住所録フォームに埋め込む形になります。
この連名登録フォームは次回作成しますので完成してから、この差出人フォーム
に埋め込みましょう。
[JointlyID]フィールドだけ、適当な位置に置いておきましょう。
(最後は非表示状態にしますので、場所はどこでも構いません)
12.最後に[閉じる]ボタンを作成しましょう。
作成手順は Vol.4 で作成した[閉じる]ボタンと同様です。
13.フォームが出来上がったらメニューの[ファイル]-[上書き保存]を選択します。
14.保存出来たら、デザインのウィンドウの右上の[×]ボタンを押してウィンドウを
閉じます。
今回はここまでです。
次回は、連名登録フォーム作成と住所録フォームの修正です。
______________________________________
□ お知らせ
★ ACCESS2002について
仕事の関係でOfficeXPを購入いたしました。
同梱のACCESS2002ですが、まだ入れたばかりなので、詳しくは分かりませんが
見た感じACCESS2000と大差ありません。
ACCESS2000で作成したMDBもそのまま動いています。
この感じでは、サンプルのMDBも、そのまま変換して使えそうな気がします。
ACCESS2002をお持ちの方は、是非お試し下さい。
また、質問等のサポートも、積極的に行っていきたいと考えています。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
◇ ACCESSで作るシリーズ 【住所録ソフト編】
◇ 発 行 元 :Yoshihisa Fukuda(福田 義久)
◇ ご意見・ご要望
ご質問等 :fukud@nifty.com
◇ このメールマガジンは、インターネットの本屋さん『まぐまぐ』を利用して発行
しています。(まぐまぐID:0000077071)
◇ バックナンバー:http://homepage2.nifty.com/f-soft/
◇ 登録・解除 :http://homepage2.nifty.com/f-soft/
Copyright(C) 2001 Yoshihisa Fukuda All rights reserved.
◇転載について
このメールマガジンの無断転載などは、一切禁止です。
転載をご希望の方は、事前にメールで連絡をください。
◇免責
このメールマガジン及びホームページの内容による、いかなる損害、障害などに
関して発行者は一切の責任を負いません。
掲載広告についても同様です。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
ACCESSで作るシリーズ 【住所録ソフト編】
発 行 : Yoshihisa Fukuda 2001.11.24 Vol.8
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
--------------------------------------
今回は前回作成したテーブルの登録フォームの作成です。
と言いたい所ですが、前回のテーブル作成で少し抜けていました。
それを先に追加しておきます。
______________________________________
□ 差出人テーブルに連名リンク用の項目を追加する
前回作成した差出人テーブルで、差出人の連名を登録するためのリンクする項目が
抜けていました。
1.住所録ソフトのデータベース[Address.mdb]を開きます。
2.データベースウィンドウの[テーブル]タブを選択します。
3.差出人テーブル[SenderTable]を選択し[デザイン]ボタンを押下します。
4.一番下に、以下の項目を追加します。
_________________________
フィールド名 データ型 説明
-------------------------
JointlyID 数値型 連名ID
━━━━━━━━━━━━━━━━━━━━━━━━━
_______________________
フィールド名 サイズ 標題
-----------------------
JointlyID 長整数型 連名ID
━━━━━━━━━━━━━━━━━━━━━━━
5.項目を追加したらメニューの[ファイル]-[上書き保存]を選択し、テーブルの
デザインを保存して、ウィンドウの右上の[×]ボタンを押下しウィンドウを閉じ
ます。
______________________________________
□ 差出人登録フォームを作成する
前回作成した差出人テーブルの登録フォームを作成しましょう。
1.住所録ソフトのデータベース[Address.mdb]を開きます。
2.データベースウィンドウの[フォーム]タブを選択します。
3.[新規作成]ボタンを押下し、[フォームの新規作成]ダイアログで[フォームウィ
ザード]を選択し、[元になるテーブル/クエリーの選択]で前回作成したテーブル
[SenderTable]を選択して[OK]ボタンを押下します。
4.[選択可能なフィールド]に表示されている全てのフィールドを選択します。
([>>]ボタンで全てのフィールドが選択できます)
5.[次へ]ボタンを押下して[フォームの表示形式を選択して下さい]の画面で[単票
形式]を選択します。
6.[次へ]ボタンを押下して[スタイルを選択して下さい]の画面で好みのスタイルを
選択します。(サンプルでは[標準]を選択しています)
7.[次へ]ボタンを押下して[フォーム名を指定して下さい]で[SenderForm]と入力
します。
8.[フォームを作成した後に行うことを選択して下さい]で[フォームのデザインを
編集する]を選択して[完了]ボタンを押下します。
9.例によって、自分の好みにレイアウトを修正し、必要ならカーソルの移動順を
修正します。
10.差出人は自分だけなのでレコードは1つだけです。
そこで、1レコードだけ操作できる様にします。
考えなければいけない点として、以下の事が考えられます。
(1)レコードは1レコードのみなので、レコードの追加は出来なくする。
(2)必ず1レコードは存在しないといけないので、レコードの削除は出来なく
する。
(3)1レコードしか無いので、レコード移動ボタンやレコードセレクタは不要。
これらの事を考えて、以下のプロパティを設定しましょう。
(フォームを選択した状態で設定します)
削除の許可 ・・・ いいえ
レコードセレクタ ・・・ いいえ
移動ボタン ・・・ いいえ
これで(2)(3)は解決しました。
しかし(1)のレコードの追加はできます。
[追加の許可]プロパティを[いいえ]にしても良いのですが、それだと最初に必要
な1レコードを作成しておく必要があります。
会計ソフト編では、基本情報設定が、その様な造りでした。
そこで、同じ事をやるのも面白く無いので今回はVBAで少し凝ってみましょう。
★ VBAで[追加の許可]プロパティを制御する。
1.フォームを選択した状態で、[開く時]プロパティにカーソルを移動し、
[イベントプロシージャ]にして、右端の[...]ボタンを押下します。
2.クラスモジュールウィンドウが開いたら
Private Sub Form_Open(Cancel As Integer) と End Sub の間に以下の
コードを記述します。
Private Sub Form_Open(Cancel As Integer)
If DCount("*", "SenderTable") = 0 Then
Me.AllowAdditions = True
Else
Me.AllowAdditions = False
End If
End Sub
3.クラスモジュールウィンドウを右上の[×]ボタンで閉じます。
これで1レコード以上の追加は出来なくなりました。
11.次に、差出人の連名ですが、これは宛先側の連名と共通のフォームを使用します。
構造としては、連名登録用のフォームをサブフォームとして、差出人フォームと
住所録フォームに埋め込む形になります。
この連名登録フォームは次回作成しますので完成してから、この差出人フォーム
に埋め込みましょう。
[JointlyID]フィールドだけ、適当な位置に置いておきましょう。
(最後は非表示状態にしますので、場所はどこでも構いません)
12.最後に[閉じる]ボタンを作成しましょう。
作成手順は Vol.4 で作成した[閉じる]ボタンと同様です。
13.フォームが出来上がったらメニューの[ファイル]-[上書き保存]を選択します。
14.保存出来たら、デザインのウィンドウの右上の[×]ボタンを押してウィンドウを
閉じます。
今回はここまでです。
次回は、連名登録フォーム作成と住所録フォームの修正です。
______________________________________
□ お知らせ
★ ACCESS2002について
仕事の関係でOfficeXPを購入いたしました。
同梱のACCESS2002ですが、まだ入れたばかりなので、詳しくは分かりませんが
見た感じACCESS2000と大差ありません。
ACCESS2000で作成したMDBもそのまま動いています。
この感じでは、サンプルのMDBも、そのまま変換して使えそうな気がします。
ACCESS2002をお持ちの方は、是非お試し下さい。
また、質問等のサポートも、積極的に行っていきたいと考えています。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
◇ ACCESSで作るシリーズ 【住所録ソフト編】
◇ 発 行 元 :Yoshihisa Fukuda(福田 義久)
◇ ご意見・ご要望
ご質問等 :fukud@nifty.com
◇ このメールマガジンは、インターネットの本屋さん『まぐまぐ』を利用して発行
しています。(まぐまぐID:0000077071)
◇ バックナンバー:http://homepage2.nifty.com/f-soft/
◇ 登録・解除 :http://homepage2.nifty.com/f-soft/
Copyright(C) 2001 Yoshihisa Fukuda All rights reserved.
◇転載について
このメールマガジンの無断転載などは、一切禁止です。
転載をご希望の方は、事前にメールで連絡をください。
◇免責
このメールマガジン及びホームページの内容による、いかなる損害、障害などに
関して発行者は一切の責任を負いません。
掲載広告についても同様です。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□