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


バックナンバー 【会計ソフト編】 Vol.9
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

    ACCESSで作るシリーズ  【会計ソフト編】

    発 行 : Yoshihisa Fukuda          2000.06.03 Vol.9

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
--------------------------------------

今回は勘定科目設定のフォーム作成です。

== ◇ 第1章 情報設定     ====================

--------------------------------------
1-4 勘定科目設定
--------------------------------------
--------------------------------------
1-4-2 フォーム作成
--------------------------------------
今回もフォームは、ウィザードを使用します。

【フォーム作成手順】
1.[フォーム]タブで[新規作成]ボタンを押して[フォームウィザード]を選びます。
2.[元になるテーブル/クエリーの選択]で[KamokuTable]を選択して[OK]ボタン
  を押します。
3.[選択可能なフィールド]から全てのフィールドを選択し[次へ]ボタンを押します。
  [>>]ボタンで全てのフィールドが選択出来ます。
4.[フォームの表示形式]は今回は[表形式]を選び[次へ]ボタンを押します。
5.[スタイル]は[BestStyle]を選択し[次へ]ボタンを押します。
6.[フォーム名]を[KamokuSetForm]とします。
7.[フォームを作成した後に行うこと]で[フォームのデザインを編集する]を選び
  [完了]ボタンを押します。
8.次にレイアウトやフォームサイズを自分の好みに編集しましょう、と言いたい所
  ですが、この後少し手を加えるので、その後全体のレイアウト等を調整します。
9.フォームを選択してフォームのプロパティを以下の様に設定します。
 (1)標題 ・・・・・・・・・・・ 勘定科目設定
 (2)ポップアップ ・・・・・・・ はい
 (3)作業ウィンドウ固定 ・・・・ はい
 (4)境界線スタイル ・・・・・・ ダイアログ
 (5)コントロールボックス ・・・ いいえ
10.フォームフッタに閉じるボタンを追加します。
  今までと同じ要領でフォームフッターに[閉じる]ボタンを作成します。
11.科目種別コンボボックスの[列幅]プロパティを設定しましょう。
  Vol.6の環境設定で抜けてしまい、増刊2号でやった所です。
  手順は以下の通りです。
 (1)[科目種別]のコンボボックスを選択します。
 (2)[幅]プロパティを見て、値を覚えておきます。
 (3)[列幅]プロパティに[0cm;X.XXXcm](X.XXXは[幅]プロパティの値です)と
    入力します。
12.ここから少し新しい事をやっていきます。
  と言ってもそんなに難しい事では無いので安心して下さい。
  まず、科目IDですが、これはシステムがデータの関連付けを行うためのIDなの
  で、隠しフィールドにします。(詳細は今回のQ&A参照)
 (1)[科目ID]のテキストボックスを選択します。
 (2)[可視]プロパティの値を[いいえ]にします。(右端の[▼]ボタンで選択)
    これでデザイン時は見えていますが、フォームを開くと見えなくなります。
 (3)[科目ID]のラベル(フォームヘッダーにある)を削除しましょう。
    [科目ID]のラベルを選択し[DELETE]キーで削除できます。
13.科目IDはフォームを開くと見えないので、左が少し空いた状態になります。
  科目コード以降のフィールドを全体に左に移動しましょう。
  デザイン時は科目IDに重なっていても構いません。
  フォームヘッダーのラベルも同様に移動します。
14.次は貸借区分をラジオボックスにします。
 (1)今ある[貸借区分]のテキストボックスを削除します。
    [貸借区分]のテキストボックスを選択して[DELETE]キーで削除しましょう。
 (2)課税区分のチェックボックスをちょっと右側に移動しておきます。
 (3)ツールバーの[オプショングループ]を選んでテキストボックスが有った辺り
    をクリックします。
 (4)オプショングループウィザードというウィンドウが開きます。
    そこで[ラベル名]の1行目に[+]2行目に[-]と入力して[次へ]ボタンを押し
    ます。
 (5)[次のオプションを規定にする]が[+]になっている事を確認し[次へ]ボタン
    を押します。
 (6)[+][-]の値が各1、2になっている事を確認したら[次へ]ボタンを押します。
 (7)ラジオボタンのチェックを[次のフィールドに保存する]にして、右側の
    コンボボックスで[TaiSyaku]を選択し[次へ]ボタンを押します。
 (8)[オプショングループに含めるボタン]をオプションボタン、スタイルを
    [枠囲み]のまま[次へ]ボタンを押します。
   ※ 好みのボタン、スタイルに変更しても構いません。
 (9)[オプショングループの標題]を[貸借区分]として[完了]ボタンを押します。
   ※ この標題は後で削除するので何でも構いません。
 (10)[標題]を選択して[DELETE]キーで削除しましょう。
 (11)[+]と[-]のボタンが縦に並んでいるので、横に並べ替えましょう。
    オプショングループの枠も小さくして、科目情報全体が1行になるように
    レイアウトを修正します。
 (12)詳細の高さも大きくなってしまったと思うので、これも1行文の高さに
    修正します。

ここまで出来たら、一度フォームを上書き保存して、閉じましょう。
そして、フォームを開いて見てみましょう。
どうですか。バランスよく配置されましたか。

では、次に科目種別のコンボボックスを右端の[▼]ボタンを押して開いて見ましょう。
一番下に[特殊]という項目がありますね。
この[特殊]というのはシステムが管理上で使用する科目でしたね。
従って、このコンボボックスに出てきてはいけません。(勝手に変更されるとまずい
ですから)
今度は、これを出なくしましょう。
フォームを閉じて、デザインウィンドウを開いて下さい。

15.科目種別コンボボックスの特殊を出なくする。
 (1)[科目種別]コンボボックスを選択します。
 (2)[値集合ソース]プロパティにカーソルを移動し[KamokuKindTable]になって
    いる事を確認したら、右端の[...]ボタンを押します。
 (3)「テーブルを基にしてクエリービルダーが起動されました。このテーブル
    を基にしてクエリーを作成しますか?」と聞かれるので[はい]を選びます。
 (4)[SQLステートメント:クエリービルダ]というウィンドウが開きましたか。
    上段に[KamokuKindTable]が表示されていますね。
    上から[*][KamokuKindID][KamokuKindName]と並んでいます。
 (5)ここで[KamokuKindID]をダブルクリックしましょう。
    すると下段の左端の欄に[フィールド]が[KamokuKindID]、[テーブル]が
    [KamokuKindTable]とセットされましたね。
 (6)[KamokuKindName]も同じ要領でダブルクリックして下段に設定します。
 (7)下段の[KamokuKindID]が設定されている欄の抽出条件に[<6]と書きます。
 (8)設定は以上です。
    [クエリービルダ]ウィンドウの[×]ボタンを押して「SQLステートメントの
    変更を保存し、プロパティの設定を更新しますか?」と聞かれたら[はい]
    を選んで終了します。
これで、科目種別コンボボックスの設定ができました。
ちなみに、このクエリーの設定はテーブル定義時でもできます。
今回は、設定前と設定後を見比べるため、フォームで行いました。

もう一度、フォームを開いて確認してみましょう。
科目種別のコンボボックスを開いて見ると今度は[特殊]という項目がありませんね。
上記設定は[KamokuKindID]の抽出条件を[<6]とする事でIDが 6 以下のものだけに
した訳です。

--------------------------------------
今回は切りがいいので、ここまでにしましょう。
内容がやや複雑で、言葉だけでは解りづらい点が多いと思います。
出来るだけホームページに補足を載せますので、サンプルと共に参考にして下さい。
次回も勘定科目設定のフォーム作成の残りとプログラミングです。
______________________________________

◆◇ ワンポイントコーナー ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇

【コントロールの配置】
 皆さんはコントロールを並べる場合、どの様にされていますか?
 マウスで摘んで移動すると、隣のコントロールと並べたり、少しだけ移動したい
 場合など、ちょっと煩わしいですよね。
 そこで、幾つかの方法をご紹介しましょう。

 まず、コントロールを並べる方法です。
 例えば科目コードのテキストボックスと科目名のテキストボックスの上を揃えたい
 場合、科目コードと科目名のテキストボックスを選択します。
 (複数のコントロールの選択はシフトキーを押しながらクリックします)
 選択したら、メニューの[書式]-[配置]の中に[左][右][上][下][グリッド]と出て
 くるので、[上]を選びます。
 すると上部が並びました。
 同様に、左右上下にグリッドと揃えられるのですが、一つ注意が必要です。
 この配置を使用する場合、コントロールを重ね合わせる様にはできません。
 例えば、科目コードと科目名のテキストボックスを配置で左にすると、左詰で2つ
 のコントロールが並びます。
 この様に、少しでも重なる部分が有る場合、コントロールは並んで配置されます。

 また、サイズの調整も同様にできます。
 例えば、2つのコントロールを選択した状態でメニューの[書式]-[サイズ変更]で
 [自動調整][グリッドに][高いコントロールに][低いコントロールに][広いコント
 ロールに][狭いコントロールに]とある中の[広いコントロールに]を選択すると
 幅の広いコントロールのサイズに揃えられます。

 次に、コントロールを少しだけ移動したい場合、コントロールを選んでキーボード
 の[Ctrl]キーを押しながら矢印キーを押すと、その矢印の方向に移動します。
 また、[Alt]キーを押しながら矢印キーを押すと、コントロールのサイズが変更
 できます。
 [Alt]キーを押しながら[→]で幅が広くなり、[←]で小さくなり、[↑]で高さが
 低くなり、[↓]で高くなります。

 複数のコントロールを選択し、一度に移動したり、サイズを変更したりもできます。

 最初は要領を得るまで、使いづらく感じるかも知れませんが、慣れれば非常に便利
 です。
 皆さんも、どんどん使って早く慣れて下さい。
______________________________________
◆◇ Q&Aコーナー    ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇

Q1.
 科目ID と 科目CD はどのように使い分けるのでしょうか?
 これだけなんですが、ちょっと気になったので質問させていただきました。
 あえてID と CD を分離したのは何故なんでしょうか?
A1.
 まず、科目IDですが、これはシステム上でデータの結び付けをするためのIDです。
 科目情報設定のフォーム上では不可視となり、システムで番号を振ります。
 (勘定科目設定フォーム作成のプログラミングで)
 オートナンバーでも良かったのですが、削除時に欠番が出来るのでプログラムで
 番号を振るようにしました。
 次に科目CDですが、これは使用する人が付ける、目に見えるコードです。

 二つを分けた理由は、期中に科目CDの変更が生じた場合のためです。
 他の会計ソフトでは「期中のコード変更を許さない」、「期中にコード変更された
 らその科目を使用している全て(仕訳等)の科目コードを書き換えにいく」の方法
 を取っているようです。
 私としては、1.は使いづらく2.はちょっと処理が重いので今回の様な、IDで
 データを結び付けて、コードの変更を出来るようにしました。

Q2.
 ところで、素朴な疑問の部類なのですが、テキスト型データのフィールドサイズは
 デフォルトのままではなぜいけないのですか
A2.
 特にいけないという訳ではありません。
 大きめのサイズであれば、特に問題はありません。
 ただ、フィールドサイズを極力最小の値にすることで、処理速度の向上とメモリの
 節約ができます。
 従って、できる限りフィールドサイズは必要最低限の値にする事をお勧めします。
______________________________________
◆◇ 発行者よりお礼    ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇

 前回のアンケート号で多数の方から回答をいただきました。
 ご協力ありがとうございました。
 結果を基に、今後の方針等をまとめて、皆さんへご報告いたします。

 アンケートは、まだ受け付けております。引き続き、よろしくお願いいたします。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

◇ 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 Yoshihisa Fukuda All rights reserved.

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