Samples and Downloads (11-19)
サブフォームをダイナミックに入れ替えるサンプルデータベース   Access 2000  (02/15/2000) 

タブコントロールに複数のサブフォームを配置する代わりに、実行時ダイナミックにサブフォームを入れ替えるサンプルデータベースです。ソースコード付きの ChangingSubform.MDB を用意しましたのでダウンロードしてください!
Fig1 Fig2
  • 実行時ダイナミックにサブフォームを入れ替えして高速化しています
  • タブコントロールに複数のサブフォームを配置する方法に比べてオーバーヘッドを軽減できます
  • サブフォーム(時給、日給、月給)は、トグルボタンをクリックして手動で入れ替えできます
  • サブフォームはメインフォームのOn Currentイベントで自動的に入れ替えることもできます
  • MDB版のソースコードを参照するときは、シフトキーを押しながらMDBファイルをダブルクリックして開いてください(この場合、スタートアップ時のプロパティがバイパスされます)。この操作は、全てのサンプルデータベースに共通です。
フォームを垂直/水平方向に拡張するサンプルデータベース  Access 2000  (02/14/2000) 

実行時にダイナミックにフォームを垂直/水平方向に拡張して詳細情報を表示します。ソースコード付きの ExpandForm.MDB を用意しましたのでダウンロードしてください!
Fig1 Fig2 Fig3 Fig4
  • フォームを実行時にダイナミックに拡張(垂直/水平方向)して詳細情報を表示します
  • 拡張したフォームは元のサイズに戻すことができます
  • フォームに最小限の情報のみ表示して詳細情報が必要なときのみ拡張することができます
請求書を業者指定伝票に印刷するサンプルデータベース   Access 2000  (02/07/2000) 

請求書を業者指定の専用伝票に印刷するとき、ページ毎に印字内容を変えることができます。ソースコード付きの Invoice.MDB を用意しましたのでダウンロードしてください!
Page 1/2 Page 2/2
  • 請求書を業者指定の専用伝票に印刷します
  • 請求先別(グループ別)にページ番号を印字します (例 1/3, 2/3, 3/3)
    グループ別のページ番号はGroupPages_FS()関数で簡単に取得できます
  • 請求金額は請求書の先頭ページにのみ印字します
  • 小計、消費税、合計金額は請求書の最終ページにのみ印字します
  • 請求書が複数ページになるときページ毎に印字内容を変えることができます
  • このサンプルデータベースは EventLog2.MDB を利用して作成しました
レポートのイベントを表示するサンプルデータベース   Access 2000  (02/04/2000) 

Access 2000のレポート印刷で発生する各種イベントを発生順に連番を付けて表示します。ソースコード付きの EventLog2.MDB を用意しましたのでダウンロードしてください!
Event Log2 Fig1 Event Log2 Fig2
  • レポートの各種イベントを発生順に連番を付けて表示します
  • レポートのイベントを絞り込むことができます
    (Report Header/Footer, Page Header/Footer, Group Header/Footer, Detail,....)
  • ページヘッダー/ページフッターのイベントにはページ番号も表示します
  • グループヘッダー/グループフッターのイベントにはグループ値も表示します
  • ページ単位に区切り線を表示します
  • イベント処理で特別な処理を行うときに利用すると便利です
テーブル上の任意のフィールドを選択して内容を表示するサンプルデータベース 
Access 2000
  (11/18/2000) 

テーブルから任意のフィールドを絞り込んでデータシート上に内容を表示するサンプルデータベースです。フィールド数が多いテーブルをメンテするのに便利です。ソースコード付きの MultiSelectListBox.MDB を用意しましたのでダウンロードしてください!
MultiSelectListBox Fig1 MultiSelectListBox Fig2
  • コンボボックスから任意のテーブルを選択できます
    (ファイルメニューから手動でテーブルをリンクすれば、そのテーブルも表示されます)
  • リストボックスから複数のフィールドを選択/解除することができます
  • 選択したフィールドの内容は、サブフォーム上にデータシート形式で表示されます
  • データシートに表示されるフィールドの列幅を自動調整します(11/18/2000)
  • テーブルのフィールド数が多いとき、特定のフィールドを一括変更するのに便利です
  • メインフォームに配置されたサブフォームは実行時ダイナミックに生成します
    (MDE版は実行時フォームの作成不可のため、フィールド名が固定となります)
  • サブフォームにテキストボックス、コンボボックス、チェックボックス等をダイナミックに生成します
    (実行時フォームとコントロールを生成するテクニックをウィザードの開発に応用できます)
  • このサンプルデータベースはクラスモジュールを勉強するのに最適な教材です
    リストボックスのクラスモジュールでは以下のメソッドが使用できます:
    AddItem (リストボックスにアイテムを追加)
    RemoveItem (リストボックスからアイテムを削除)
    Clear (リストボックスのアイテムを消去)
    ItemData (リストボックスのアイテムを参照)
    ListCount (リストボックスのアイテムをカウント)
SQLを実行して結果を表示するサンプルデータベース   Access 2000  (01/28/2000) 

ユニオンクエリー、サブクエリーなどAccessのクエリーでは作成できないSQLをテストするサンプルデータベースです。ソースコード付きの SQLBuilder.MDB を用意しましたのでダウンロードしてください!
SQLBuilder Fig1 SQLBuilder Fig2
  • AccessのクエリーでサポートされていないSQLをテストするのに便利です
  • ユニオンクエリー、サブクエリー, クロスタブクエリーなどがテストできます
  • テストしたSQLはテーブル(tblSQL)に保存することができます
  • テーブルに保存したSQLはコンボボックスから検索して再使用できます
  • SQLを訂正したときは上書き保存もできます
  • SQLBulderはAccess 2000のサンプルデータベースを実行時にリンクして使用します
  • SQLBuilderは全てADOを使用していますのでADOを勉強するのに最適な教材です
    @受注データから受注金額ベスト10の得意先を表示するSQL(TOPの使い方)
    Bテーブルの一覧を表示するSQL
    D商品の一覧リストに注文有無を同時に表示するSQL (SubQuery EXISTSの使い方)
    E今まで注文のあった得意先のみ抽出するSQL (Subquery EXISTSの使い方)
    F一度も注文のなかった得意先を抽出するSQL (Subquery NOT EXISTSの使い方)
    G過去4年間注文のなかった得意先を抽出するSQL (Subquery NOT INの使い方)
    H注文件数が5件以上の得意先を抽出するSQL (Subquery INの使い方)
    I得意先と仕入れ先を併合して名寄せするSQL (UNION, DISTINCTの使い方)
クイックコンボボックスのサンプルデータベース   Access 2000  (01/25/2000) 

レコード件数が5万件以上のテーブルに対してコンボボックスを適用する場合、コンボボックスの検索を高速化するサンプルデータベースです。ソースコード付きの QuickComboBox.MDB を用意しましたのでダウンロードしてください!
QuickComboBox
  • レコード件数が5万件以上のテーブルにもコンボボックスを適用可能
  • レコード件数が増加してもコンボボックスの性能に影響を与えません
  • サンプルデータベースでは郵便番号(12万件)を町域名カナで逆引きしています
  • 得意先/仕入先マスタ(3万件以上)をカナ検索するときに利用すると効果があります
  • 有効桁数を追加してコンボボックスの検索を更に高速化しました
  • その他不具合を訂正しましたので最新版をダウンロードしてください
フォームのイベントログを表示するサンプルデータベース  
Access 2000
  (01/06/2000) 

Access 2000のフォームで発生する各種イベントを発生順に連番を付けて表示します。ソースコード付きの EventLog.MDB を用意しましたのでダウンロードしてください!
Fig1 Event Log Fig2 Event Log
  • フォームのイベントをイベント発生順に連番を付けて表示します
  • 5秒間隔で境界線を自動表示します(連番も5秒間隔でリセットされます)
  • テキストボックス、コンボボックス、リストボックス、オプションボタン、イメージ、タブ、サブフォーム等の各種イベントの順番を検証することができます
  • 各種イベント処理や、エラーチェック等を行うときに利用すると便利です
タイムカードを入力するサンプルデータベース   Access 2000   (12/31/1999) 

一ヶ月間のタイムカードを自動生成して、ポップアップウィンドウから時刻(時間、分)を入力することができます。ソースコード付きの TimeControl.MDB を用意しましたのでダウンロードしてください!
一ヶ月分のデータを自動生成! ポップアップウィンドウから時刻入力可能!
  • コンボボックスからスタッフをクリックすると一ヶ月分のデータを自動作成
  • 休日、祭日および会社休業日を赤で表示
  • 出勤、退勤時刻をポップアップウィンドウから入力可能
    (ポップアップウィンドウはマウスの右ボタンをクリックすると表示されます)
  • 表計算ソフトのように矢印キーでフィールドを前後左右に自由に移動可能
  • 出退勤時刻から就業時間および残業時間を自動計算します
  • NZ_FS()関数で就業時間の合計欄に#ERRORが表示されるのを回避します
  • 勤務時間が日付をまたがる場合の就労時間不具合訂正
  • 時間に関連する各種関数を用意しています
    ElapsedTime_FS() 時間差(退勤 - 出勤)を99時99分99秒の形式で計算  
    ElapsedHours_FS() 時間差(退勤 - 出勤)を10.25時間の形式で計算
    IsWeekend_FS() 週末(土、日)を調べる
    IsHoliday_FS() 祭日、会社休業日を調べる
    ElapsedTime2_FS() 日付をまたがる時間差(退勤 - 出勤)の計算もOK