メールマガジン【アクセスで作るシリーズ】


バックナンバー 【住所録ソフト編】 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.

◇転載について
 このメールマガジンの無断転載などは、一切禁止です。
 転載をご希望の方は、事前にメールで連絡をください。
◇免責
 このメールマガジン及びホームページの内容による、いかなる損害、障害などに
 関して発行者は一切の責任を負いません。
 掲載広告についても同様です。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□