本来やりたいこと、ビジネスの目的を達成する為に本当に大規模なシステムが必要でしょうか?無駄にハイスペックだったり、使えない・残念なシステムに振り回されていませんか?
MicrosoftのAccessを使えば、カスタムアプリを開発するのは難しくありません。このブログでは、ちょっとしたコツ(Tips)や、サンプル(Template)の紹介、短時間でできるカスタムアプリ(30minute Apps)の作り方などをご紹介していきます。
本来やりたいこと、ビジネスの目的を達成する為に本当に大規模なシステムが必要でしょうか?無駄にハイスペックだったり、使えない・残念なシステムに振り回されていませんか?
MicrosoftのAccessを使えば、カスタムアプリを開発するのは難しくありません。このブログでは、ちょっとしたコツ(Tips)や、サンプル(Template)の紹介、短時間でできるカスタムアプリ(30minute Apps)の作り方などをご紹介していきます。
テンプレートを参考にして簡単な住所録をつくってみましょう!
About this Template このテンプレートについて
住所録のレコードを入力して一覧表示や帳票印刷ができるシンプルなデータベーステンプレートです。
Screenshot スクリーンショット
入力画面(Edit) ・・・レコードの新規作成・修正・削除等を行います。
一覧画面(List) ・・・レコードを一覧で表示します。
印刷画面(Print)・・・印刷プレビューと帳票印刷をする画面です。
Download ダウンロード
本書で作成するテンプレートを下記リンク先からダウンロードすることができます。データベースの動作を事前に確認しておくことで開発をスムーズに進めることができるでしょう。
Accessでは始めにファイルを新規作成し名前をつけて任意の場所に保存する必要があります。
2-1.Accessを起動し[新規作成]画面でファイルを任意の場所に作成します。
2-2.データベースが作成されテーブルが表示されます。
レコードを保存するテーブルを作成しましょう。
3-1.「テーブル1」の上で右クリックしデザインビューを選択します。
3-2.[名前を付けて保存]ウインドウが表示されたら「TBL_Address」と入力し[OK]をクリックして保存します。
3-3.「フィールド名」と「データ型」を設定します。
①「TBL_Address」テーブルデザイン
レコードの登録や削除、修正するためのフォームをつくりましょう。
4-1.[作成]-[フォームデザイン]で空白のフォームを表示します。
4-2.フォーム上で右クリックして表示されるメニューで[フォームヘッダー/フッター]を選択してフォームヘッダーとフォームフッターを追加してから、[ファイル]-[上書き保存]をクリックし、名前を「FRM_Edit」と付けて保存しておく。
5-1. フォームデザインツールの[デザイン]‐[プロパティシート]を表示し、フォームのプロパティシートを下記の通り設定します。
フォームにフィールドを追加して画面をデザインしましょう。
6-1.デザインビューで「FRM_Edit」を開き、[デザイン]-[既存フィールドの追加]をクリックします。
6-2.フィールドリストよりドラッグしてフィールドを配置します。
6-3.それぞれのフィールドのラベルを修正します。
タブオーダーを設定するとレコード入力の順番を指定することができます。
7-1.[デザイン]-[タブオーダー]をクリックします。
7-2.必要に応じてタブオーダーを入れ替えて修正します。
一覧(リスト)表示用のフォームを作成しましょう。
8-1.[作成]-[フォームウィザード]をクリック。
8-2.「テーブル:TBL_Contact」のフィールドをすべて選択し、[次へ]をクリック。
8-3.フォームのレイアウトは[表形式]を選択し、[次へ]をクリック。
8-4.フォーム名を「FRM_List」に変更し、「フォームのデザインを編集する」オプションを選び[完了]をクリックする
8-5.デザインビューでラベルを修正し、レイアウトを調整します。
VBAを使うとさらに細かな設定が可能になります。Listでレコードをクリックすると、Editフォームが開く機能を追加してみましょう。
9-1.FRM_Listをデザインビューで開き詳細パートを選択します。
9-2.次にプロパティシートの[イベント]-[クリック時]の項目で右端のボタンを押します。
9-3.[ビルダーの選択]ウインドウで「コードビルダー」を選択して[OK]をクリック。
9-4.VBAのウインドウが開いたらカーソルが点滅している場所に次のコードを入力し保存します。
---------------------------------------------------------------------
Private Sub 詳細_Click()
DoCmd.OpenForm "FRM_Edit", , , "[Company]&[Ref_NO]='" & Me.[Company] & [Ref_No] & "'"
End Sub
---------------------------------------------------------------------
レポートで印刷用の帳票を作ってみましょう。
10-1.[作成]-[レポート]-[レポートデザイン]をクリックします。
10-2.プロパティシートの[データ]-[レコードソース]のボタンをクリック。
10-3.「テーブルの表示」ウインドウで「TBL_Contact」と「TBL_memo」を追加します。
10-4.画面上部のフィールドリストから、下部のデザイングリッドにすべてのフィールドをドラッグ・アンド・ドロップで追加します。
10-5.デザイン画面を閉じると下記メッセージが表示されるので[はい]をクリック。
10-6.レポートデザイン画面に戻ったら[デザイン]-[グループ化と並び替え]をクリックします。
10-7. 「グループ化と並び替え」を下記の内容で設定します。(Companyは表示しない)
10-8.プロパティシートですべてのセクションの高さを1㎝に、幅は18㎝に設定します。
10-9.ページヘッダーに[デザイン]-[ラベル]を使って「Contact List」のラベルを配置します。
10-10. [デザイン]-[既存のフィールドの追加]から「IPdate」と「memo」を追加します。
10-11. [デザイン]-[テキストボックス]で「Stationヘッダー」部分にテキストボックスを追加し、プロパティシートの[データ]-[コントロールソースを下記に変更します。
=[Company] & " " & [Station] & " " & [Post] & " " & [Name_F] & " " & [Name_L] & " " & "様"
10-12.レポートに「RPT_List」と名前を付けて保存しましょう。
マクロを使って定型処理を自動化しましょう。
11-1. [作成]-[マクロ]をクリックします。
11-2.メニューから「サブマクロ」選択します。
11-3.サブマクロ名を{F1}とし、新しいアクションの追加で「メニューコマンドの実行」コマンドを「すべて閉じる」を選択したら、更に「フォームを開く」アクションを追加しフォーム名を「FRM_List」とします。
11-4.同様にサブマクロ名を{F2}をフォーム名を「FRM_Edit」として作成します。
11-5.マクロ名を「AutoKeys」にして保存しましょう。
ボタンを配置して使いやすくしましょう。
12-1.FRM_Listをデザインビューで開き、[デザイン]-[ボタン]をクリックし、フォームヘッダーにボタンを配置します。
12-2.「コマンドボタンウィザード」ウインドウで、種類「その他」、ボタンの操作「マクロの実行」を選択し[次へ]をクリック。
12-3.リストの中から「AutoKeys{F1}」を選択し[次へ]をクリック。
12-4.[文字列]を「List」と入力し[次へ]をクリック。
12-5.ボタン名を「BTN_List」と入力して[完了]をクリックするとボタンが完成します。
12-6.同様に「BTN_Edit」を作成しましょう。
12-7.「FRM_Edit」をデザインビューで開き、上記で作成した2つのボタンをコピーして貼り付けます。
12-8.コマンドボタンウィザードを活用して「FRM_LIst」には「レコードの操作-レコードの削除」ボタンを、「FRM_Edit」にはRPT_Listの「レポートの操作-レポートプレビュー」ボタンをそれぞれ追加します。
アプリケーションの動作を変更することができます。
13-1. [ファイル]-[オプション]で「Accessのオプション」ウインドウを開き、[カレントデータベース]を選択したら、[アプリケーションオプション]-[ドキュメントウインドウオプション]-[ドキュメントタブを表示する]と、[アプリケーションオプション]-[ナビゲーション]-[ナビゲーションウインドウを表示する]のチェックを外します。
13-2. 「Accessのオプション」ウインドウで、[クライアントの設定]を選択し、[編集]-[確認]項目の[レコードの変更]、[オブジェクトの削除]、[レコードの変更]のチェックを必要に応じて外し[OK]をクリック。
13-3.下記メッセージが出るので一度ファイルを閉じて再度開くと設定が有効になります。
© 2015 BeansWorks All rights reserved
About this Template このテンプレートについて
客先との連絡履歴を管理するためのシンプルなデータベーステンプレートです。
Description 機能詳細
・ふりがなフィールドを使用したふりがなの自動入力。
・サブフォームで詳細データ表示。
・ファンクションキーへのマクロを割り当て。
・印刷プレビュー時に表示するデータがない場合にメッセージを表示する。
Screenshot スクリーンショット
入力画面(Edit) ・・・レコードの新規作成・修正・削除等を行います。
一覧画面(List) ・・・レコードを一覧で表示します。
印刷画面(Print) ・・・印刷プレビューと帳票印刷をする画面です。
Download ダウンロード
本書で作成するテンプレートを下記リンク先からダウンロードすることができます。データベースの動作を事前に確認しておくことで開発をスムーズに進めることができるでしょう。
Accessでは始めにファイルを新規作成し名前をつけて任意の場所に保存する必要があります。
2-1.Accessを起動し[新規作成]画面でファイルを任意の場所に作成します。
2-2.データベースが作成されテーブルが表示されました。
レコードを保存するテーブルを作成しましょう。
3-1.「テーブル1」の上で右クリックしデザインビューを選択します。
3-2.[名前を付けて保存]ウインドウが表示されたら「TBL_Contact」と入力し[OK]をクリックして保存しましょう。
3-3.「フィールド名」と「データ型」を設定します。
①「TBL_Contact」テーブルデザイン
②同様に「TBL_memo」を下記項目で作成しましょう。
「TBL_memo」テーブルデザイン
リレーションシップを作成すると2つ以上のテーブルを関連付けることができます。
4-1.[データベースツール]-[リレーションシップ]をクリックします。
4-2.「リレーションシップ」ウインドウが開いたら[デザイン]-[テーブルの表示]をクリック。
4-3.[テーブルの表示]ウインドウが開いたら「TBL_Contact」と「TBL_memo」を追加し閉じます。
4-4.[リレーションシップの編集]で下記の様に設定しましょう。
4-5.リレーションシップを確認し設定を保存します。
レコードの登録や削除、修正するためのフォームをつくりましょう。
5-1.[作成]-[フォームデザイン]で空白のフォームを表示します。
5-2.フォーム上で右クリックするとメニューが表示されるので[フォームヘッダー/フッター]をクリック。
5-3.プロパティシートの[フォーム]-[幅]を25㎝に設定します。
5-4.ヘッダーとフッターの高さは1.5㎝、詳細の高さは10㎝にそれぞれ設定し保存する。
5-5.[名前を付けて保存]ダイアログでフォーム名を入力し[OK]をクリック。
フォームデザインツールで[デザイン]‐[プロパティシート]を表示します。
6-1.フォームのプロパティシートを下記の通り設定します。
①[書式]
フォームにフィールドを追加して画面をデザインしましょう。
7-1.デザインビューで「FRM_Edit」を開き、[デザイン]-[既存フィールドの追加]をクリックします。
7-2.フィールドリストよりドラッグ・アンド・ドロップでフィールドを配置します。
7-3.それぞれのフィールドにラベルを追加しておきましょう。
ふりがなフィールドを使うと自動的にふりがなを入力することができます。
8-1.「Name_F」のプロパティシートで[その他]-[ふりがな]で詳細設定のボタンをクリックします。
8-2.[ふりがなウィザード]ウインドウでふりがなの入力先を指定する。
8-3.同様に「Name_L」も設定を行いましょう。
タブオーダーを設定するとレコード入力の順番を指定することができます。
9-1.[デザイン]-[タブオーダー]をクリックします。
9-2.タブオーダーを入れ替えて修正します。
サブフォームを配置してフォーム上に2つのテーブル情報を表示することができます。
10-1.[デザイン]-[サブフォーム/サブレポート]をクリックしフォームに配置します。
10-2.[サブフォームウィザード]が表示されたら[次へ]をクリック。
10-3.テーブル:TBL_memoを選択し、「IPdate」と「memo」のフィールドを選択します。
10-4.[次へ]をクリック。
10-5.サブレポートの名前を「SUB_Edit」に変更して[完了]をクリックします。
10-6.サブフォームが配置されました。
11-1.[SUB_Edit]をデザインモードで開き、幅を17㎝、フォームヘッダーの高さを0.5㎝、詳細の高さを1.5㎝に設定する。[書式]-[背景色]を白に変更して、ラベルとフィールドのレイアウトを調整しましょう。
12-1.プロパティシートを下記の通り設定します。
一覧(リスト)表示用のフォームを作成しましょう。
13-1.[作成]-[フォームウィザード]をクリック。
13-2.「テーブル:TBL_Contact」のフィールドをすべて選択し、[次へ]をクリック。
13-3.フォームのレイアウトは[表形式]を選択し、[次へ]をクリック。
13-4.フォーム名を「FRM_List」に変更し、「フォームのデザインを編集する」オプションを選び[完了]をクリックする。
13-5.デザインビューでラベルを修正し、レイアウトを調整します。
VBA(Visual Basic for Application)を使うとさらに細かな設定が可能になります。
14-1.FRM_Listをデザインビューで開き詳細パートを選択します。
14-2.次にプロパティシートの[イベント]-[クリック時]の項目で右端のボタンを押します。
14-3.[ビルダーの選択]ウインドウで「コードビルダー」を選択して[OK]をクリック。
14-4.VBAのウインドウが開いたらカーソルが点滅している場所に次のコードを入力し保存します。
---------------------------------------------------------------------
Private Sub 詳細_Click()
DoCmd.OpenForm "FRM_Edit", , , "[Company]&[Ref_NO]='" & Me.[Company] & [Ref_No] & "'"
End Sub
---------------------------------------------------------------------
レポート機能を使って印刷用の帳票を作ってみましょう。
15-1.[作成]-[レポート]-[レポートデザイン]をクリックします。
15-2.プロパティシートの[データ]-[レコードソース]のボタンをクリック。
15-3.「テーブルの表示」ウインドウで「TBL_Contact」と「TBL_memo」を追加します。
15-4.画面上部のフィールドリストから、下部のデザイングリッドにすべてのフィールドをドラッグ・アンド・ドロップで追加します。
15-5.デザイン画面を閉じると下記メッセージが表示されるので[はい]をクリック。
15-6.レポートデザイン画面に戻ったら[デザイン]-[グループ化と並び替え]をクリックしましょう。
15-7. 「グループ化と並び替え」を下記の内容で設定。(Companyは表示しない)
15-8.プロパティシートですべてのセクションの高さを1㎝に、幅は18㎝に設定します。
15-9.ページヘッダーに[デザイン]-[ラベル]を使って「Contact List」のラベルを配置します。
15-10. [デザイン]-[既存のフィールドの追加]から「IPdate」と「memo」を追加します。
15-11. [デザイン]-[テキストボックス]で「Stationヘッダー」部分にテキストボックスを追加し、プロパティシートの[データ]-[コントロールソースを下記に変更します。
=[Company] & " " & [Station] & " " & [Post] & " " & [Name_F] & " " & [Name_L] & " " & "様"
15-12.レポートに「RPT_List」と名前を付けて保存します。
16-1. 「RPT_List」をデザインビューで開きプロパティシートの[イベント]-[空データ時]の詳細設定ボタンをクリックします。
16-2.「ビルダーの選択」ウインドウで「コードビルダー」を選択し[OK]をクリック。
16-3.「Microsoft Visual Basic for Applications」のウインドウで次のコードを入力して保存します。
-------------------------------------------------------------------------------
MsgBox "対象レコードはありません", vbExclamation, "Contact List 印刷"
Cancel=True
----------------------------------------------------------------------------
16-4.レコードが未入力の時にプレビューするとメッセージが表示されます。
マクロを使って定型処理を自動化しましょう。
17-1. [作成]-[マクロ]をクリックします。
17-2.メニューから「サブマクロ」選択します。
17-3.サブマクロ名を{F1}とし、新しいアクションの追加で「メニューコマンドの実行」コマンドを「すべて閉じる」を選択したら、更に「フォームを開く」アクションを追加しフォーム名を「FRM_List」とします。
17-4.同様にサブマクロ名を{F2}をフォーム名を「FRM_Edit」として作成します。
17-5.マクロ名を「AutoKeys」にして保存します。
ボタンを配置して使いやすくしましょう。
18-1.FRM_Listをデザインビューで開き、[デザイン]-[ボタン]をクリックし、フォームヘッダーにボタンを配置します。
18-2.「コマンドボタンウィザード」ウインドウで、種類「その他」、ボタンの操作「マクロの実行」を選択し[次へ]をクリックします。
18-3.リストの中から「AutoKeys{F1}」を選択し[次へ]をクリック。
18-4.[文字列]を「List」と入力し[次へ]をクリック。
18-5.ボタン名を「BTN_List」と入力して[完了]をクリックするとボタンが完成します。
18-7.同様に「BTN_Edit」を作成しましょう。
18-8.「FRM_Edit」をデザインビューで開き、上記で作成した2つのボタンをコピーして貼り付けます。
18-9.コマンドボタンウィザードを活用して「FRM_LIst」には「レコードの操作-レコードの削除」ボタンを、「FRM_Edit」にはRPT_Listの「レポートの操作-レポートプレビュー」ボタンをそれぞれ追加します。
アプリケーションの動作を変更することができます。
19-1. [ファイル]-[オプション]で「Accessのオプション」ウインドウを開き、[カレントデータベース]を選択したら、[アプリケーションオプション]-[ドキュメントウインドウオプション]-[ドキュメントタブを表示する]と、[アプリケーションオプション]-[ナビゲーション]-[ナビゲーションウインドウを表示する]のチェックを外します。
19-2. 「Accessのオプション」ウインドウで、[クライアントの設定]を選択し、[編集]-[確認]項目の[レコードの変更]、[オブジェクトの削除]、[レコードの変更]のチェックを必要に応じて外し[OK]をクリックします。
19-3.下記メッセージが出るので一度ファイルを閉じて再度開くと設定が有効になります。
© 2015 BeansWorks All rights reserved
About this Template このテンプレートについて
見積書を作成し管理するためのシンプルなデータベーステンプレートです。
Description 機能詳細
・サブフォームに詳細データを表示
・ファンクションキーへのマクロ割り当て
・印刷プレビュー時に表示するデータがない場合にメッセージを表示
Screenshot スクリーンショット
一覧画面(List)・・・レコードを一覧で表示します。
入力画面(Edit)・・・レコードの新規作成・修正・削除等を行います。
印刷画面(Print) ・・・印刷プレビューと帳票印刷をする画面です。
Download ダウンロード
本書で作成するテンプレートを下記リンク先からダウンロードすることができます。データベースの動作を事前に確認しておくことで開発をスムーズに進めることができるでしょう。
Accessでは始めにファイルを新規作成し名前をつけて任意の場所に保存する必要があります。
2-1.Accessを起動し[新規作成]画面でファイルを任意の場所に作成します。
2-2.データベースが起動しテーブルが表示されます。
レコードを保存するテーブルを作成しましょう。
3-1.「テーブル1」の上で右クリックしデザインビューを選択します。
3-2.[名前を付けて保存]ウインドウが表示されたら「TBL_Estimate_H」と入力し[OK]をクリックして保存します。
3-3.テーブルのデザインビューで「フィールド名」と「データ型」を設定しましょう。
「TBL_Estimate_H」テーブルデザイン
3-4.同様に「TBL_Estimate_L」と「TBL_Company_Info」を下記項目で作成します。
「TBL_Estimate_L」テーブルデザイン
「TBL_Company_Info」テーブルデザイン
リレーションシップを作成すると2つ以上のテーブルを関連付けることができます。
4-1.[データベースツール]-[リレーションシップ]をクリックします。
4-2.「リレーションシップ」ウインドウが開いたら[デザイン]-[テーブルの表示]をクリック。
4-3.[テーブルの表示]ウインドウが開いたら「TBL_Estimate_H」と「TBL_Estimate_L」を追加しウインドウを閉じます。
4-4.[リレーションシップの編集]-[新規作成]で下記の様に設定し[OK]をクリックします。
4-5.次にリレーションシップを確認し[作成]をクリックします。
4-6.リレーションシップを確認し保存しましょう。
レコードの登録や削除、修正するためのフォームをつくりましょう。
5-1.[作成]-[フォームデザイン]で空白のフォームを表示します。
5-2.フォーム上で右クリックするとメニュが表示されるので[フォームヘッダー/フッター]をクリックします。
5-3.プロパティシートの[フォーム]-[書式]-[幅]を25㎝に設定します。
5-4.ヘッダーとフッターの高さは1.5㎝、詳細の高さは10㎝にそれぞれ設定し保存する。
5-5.[名前を付けて保存]ダイアログでフォーム名を入力し[OK]をクリック。
フォームデザインツールで[デザイン]‐[プロパティシート]を表示します。
6-1.フォームのプロパティシートを下記の通り設定します。
フォームにフィールドを追加して画面をデザインしましょう。
7-1.デザインビューで「FRM_Edit」を開き、[デザイン]-[既存フィールドの追加]をクリックします。
7-2.フィールドリストよりドラッグ・アンド・ドロップでフィールドを配置しましょう。
7-3.それぞれのフィールドにラベルを追加していきます。
タブオーダーを設定するとレコード入力の順番を指定することができます。
8-1.入力する順番を設定します。まずは[デザイン]-[タブオーダー]をクリック。
8-2.次にタブオーダーを入れ替えて修正しましょう。
サブフォームを配置してフォーム上に2つのテーブル情報を表示することができます。
9-1.[デザイン]-[サブフォーム/サブレポート]をクリックしフォームに配置します。
9-2.[サブフォームウィザード]が表示されたら[次へ]をクリック。
9-3.テーブル:TBL_Estimate_Lの全てのフィールドを選択し[次へ]をクリック。
9-4.リンクを確認し[次へ]をクリック。
9-5.サブレポートの名前を「SUB_Edit」に変更して[完了]をクリックします。
9-6.サブフォームが配置されたらラベルを削除しプロパティで[書式]-[境界線スタイル]を「無色」に変更しましょう。
9-7.フォームヘッダーのプロパティーシートで[書式]-[背景色]を白に変更しておきます。
10-1.[SUB_Edit]をデザインモードで開き、幅を13㎝、フォームヘッダーの高さを0.5㎝、詳細の高さを0.6㎝に設定し、ラベルとフィールドのレイアウトを調整します。
10-2. [デザイン]-[テキストボックス]でテキストボックスを追加し、プロパティシートの[データ]-[コントロールソース]に下記の式を入力。
「amount」 =[Unit_Price]*[Qty]
同様に下記テキストボックスを作成します。
「subtotal」 =Sum([Unit_Price]*[Qty])
10-3.フォームフッターのプロパティで[書式]-[可視]を「いいえ」にしておく。
11-1.プロパティシートを下記の通り設定します。
フォームにサブフォームと連動した計算フィールドを追加します。
12-1. [FRM_Edit]をデザインモードで開き、サブフォームの下部に[memo]フィールドと[Tax_Rate]フィールドを追加します。
12-2. [デザイン]-[テキストボックス]でテキストボックスを追加し、プロパティシートの[データ]-[コントロールソース]に下記の式を入力します。
「subtotal」 =[SUB_Edit].[Form]![subtotal]
同様に下記テキストボックスを作成しましょう。
「tax」 =[subtotal]*[Tax_Rate]
「total」 =[subtotal]+[tax]
一覧(リスト)表示用のフォームを作成しましょう。
13-1.[作成]-[フォームウィザード]をクリック。
13-2.「テーブル:TBL_Estimate_H」のフィールドをすべて選択し、[次へ]をクリックします。
13-3.フォームのレイアウトは[表形式]を選択し、[次へ]をクリック。
13-4.フォーム名を「FRM_List」に変更し、「フォームのデザインを編集する」オプションを選び[完了]をクリックします。
13-5.デザインビューでラベルを修正し、レイアウトを調整しましょう。
VBA(Visual Basic for Application)を使うとさらに細かな設定が可能になります。
14-1.FRM_Listをデザインビューで開き詳細パートを選択。
14-2.次にプロパティシートの[イベント]-[クリック時]の項目で右端のビルドボタンをクリックします。
14-3.[ビルダーの選択]ウインドウで「コードビルダー」を選択して[OK]をクリック。
14-4.VBAのウインドウが開いたらカーソルが点滅している場所に次のコードを入力し保存します。
---------------------------------------------------------------------
Private Sub 詳細_Click()
DoCmd.OpenForm "FRM_Edit", , , [Slip_No] = Me.[Slip_No]
End Sub
---------------------------------------------------------------------
レポート機能を使って印刷用の帳票を作ってみましょう。
15-1.[作成]-[レポート]-[レポートデザイン]をクリック。
15-2.プロパティシートの[データ]-[レコードソース]のビルドボタンをクリック。
15-3.「テーブルの表示」ウインドウですべてのテーブルを追加します。
15-4.画面上部のフィールドリストから、下部のデザイングリッドにすべてのフィールドをドラッグ・アンド・ドロップで追加しましょう。
15-5.デザイン画面を閉じると下記メッセージが表示されるので[はい]をクリック。
15-6.レポートデザイン画面に戻ったら[デザイン]-[グループ化と並び替え]をクリックします。
15-7. 「グループの追加」で下記の内容で設定します。
15-8.プロパティシートでレポートの幅を18cmに変更し、セクションの高さを以下の通り設定しておく。
ページヘッダー ・・・ [書式]-[高さ]→7cm
詳細 ・・・ [書式]-[高さ]→1cm
Slip_Noフッター ・・・ [書式]-[高さ]→2.5cm
ページフッター ・・・ [書式]-[高さ]→2.5cm
15-9. [デザイン]-[既存のフィールドの追加]から必要なフィールドを配置します。
15-10. [デザイン]-[テキストボックス]でテキストボックスを追加し、プロパティシートの[データ]-[コントロールソース]に下記の式を入力します。
「txt_見積No」 = "見積No." & [Slip_No]
同様に下記テキストボックスを作成し、必要なラベルを配置します。
「txt_宛先」 = [customer] & " " & [Station] & " 御中"
「txt_客先担当」="(ご担当者:" & [TBL_Estimate_H.Name_First] & "様" & ")"
「txt_件名」="件名:" & [Title]
「amount」=[Unit_Price]*[Qty]
「subtota」=Sum([Unit_Price]*[Qty])
「tax」=[Unit_Price]*[Qty]*[Tax_Rate]
「total」=([Unit_Price]*[Qty])+([Unit_Price]*[Qty]*[Tax_Rate])
15-11. 「Slip_Noフッター」プロパティシートで[書式]-[代替の背景色]を白に変更し、[改ページ]を「カレントセクションの後」に設定。
15-12.「RPT_EstimateSheet」と名前を付けて保存します。
16-1. 「RPT_EstimateSheet」をデザインビューで開きプロパティシートの[イベント]-[空データ時]の詳細設定ボタンをクリック。
16-2.「ビルダーの選択」ウインドウで「コードビルダー」を選択し[OK]をクリック。
16-3.「Microsoft Visual Basic for Applications」のウインドウで次のコードを入力して保存します。
-------------------------------------------------------------------------------
MsgBox "対象レコードはありません", vbExclamation, "Contact List 印刷"
Cancel=True
----------------------------------------------------------------------------
16-4.レコードが未入力の時にプレビューするとメッセージが表示されます。
マクロを使って定型処理を自動化しましょう。
17-1. [作成]-[マクロ]をクリック。
17-2.プルダウンメニューから「サブマクロ」を選択します。
17-3.サブマクロ名を{F1}とし、新しいアクションの追加で「メニューコマンドの実行」コマンドを「すべて閉じる」を選択したら、更に「フォームを開く」アクションを追加しフォーム名を「FRM_List」とします。
17-4.同様にサブマクロ名を{F2}をフォーム名を「FRM_Edit」として作成します。
17-5.マクロ名を「autokeys」にして保存します。
ボタンを配置して使いやすくしましょう。
18-1.FRM_Listをデザインビューで開き、[デザイン]-[ボタン]をクリックし、フォームヘッダーにボタンを配置します。
18-2.「コマンドボタンウィザード」ウインドウで、種類「その他」、ボタンの操作「マクロの実行」を選択し[次へ]をクリック。
18-3.リストの中から「AutoKeys{F1}」を選択し[次へ]をクリック。
18-4.[文字列]を「List」と入力し[次へ]をクリック。
18-5.ボタン名を「BTN_List」と入力して[完了]をクリックするとボタンが完成します。
18-7.同様に「BTN_Edit」を作成し背景色を白にしておきましょう。
18-8.「FRM_Edit」をデザインビューで開き、上記で作成した2つのボタンをコピーして貼り付けます。
18-9.コマンドボタンウィザードを活用して「FRM_Edit」に、①「レコードの操作-レコードの削除」ボタン(BTN_Dell)と、②RPT_Listの「レポートの操作-レポートプレビュー」ボタン(BTN_EstSheet)を追加します。
コマンドボタンウィザードで作成したボタンを編集します。
19-1.FRM_Editをデザインビューで開き17-9で作成した[BTN_Dell]ボタンのプロパティ[イベント]-[クリック時]-[埋め込みマクロ]を選択し[埋め込みマクロ]を削除し空欄にする。
19-2.[イベント]-[クリック時]のビルドボタンをクリックし「ビルダーの選択」ウインドウが開いたら[コードビルダー]を選択し[OK]をクリック。
19-3.VBAウインドウでカーソルが点滅している場所に次のコードを入力し保存。
---------------------------------------------------------------------
Private Sub btn_Dell_Click()
On Error GoTo btn_del_Click_Err
If MsgBox("このデータを削除しますか?", vbYesNo) = vbYes Then
DoCmd.RunCommand acCmdDeleteRecord
End If
Me.Slip_No.SetFocus
Me.Recalc
btn_del_Click_Exit:
Exit Sub
btn_del_Click_Err:
MsgBox Error$
Resume btn_del_Click_Exit
End Sub
---------------------------------------------------------------------
19-4.同様に[btn_EstSheet]ボタンでクリック時のコードを入力し保存します。
---------------------------------------------------------------------
Private Sub btn_EstSheet_Click()
On Error GoTo btn_EstSheet_Click_Err
DoCmd.OpenReport "RPT_EstimateSheet", acViewPreview, , "Slip_No = " & Me!Slip_No
btn_EstSheet_Click_Exit:
Exit Sub
btn_EstSheet_Click_Err:
Resume btn_EstSheet_Click_Exit
End Sub
---------------------------------------------------------------------
アプリケーションの動作を変更することができます。
20-1. [ファイル]-[オプション]で「Accessのオプション」ウインドウを開き、[カレントデータベース]を選択したら、[アプリケーションオプション]-[フォームの表示]で「FRM_List」を選択します。
20-2.次に[アプリケーションオプション]-[ドキュメントウインドウオプション]-[ドキュメントタブを表示する]と、[アプリケーションオプション]-[ナビゲーション]-[ナビゲーションウインドウを表示する]のチェックを外す。
20-3. 「Accessのオプション」ウインドウで、[クライアントの設定]を選択し、[編集]-[確認]項目の[レコードの変更]、[オブジェクトの削除]、[レコードの変更]のチェックを必要に応じて外し[OK]をクリック。
20-4.下記メッセージが出るので一度ファイルを閉じて再度開くと設定が有効になります。
© 2015 BeansWorks All rights reserved
コンボボックスを利用するとフィルターを簡単にかけることができます。
1.帳票フォームを準備する。(データはサンプル)
2.フォームデザインツールで[デザイン]-[コンボボックス]を選択する。
3. 「コンボボックスウィザード」ウインドウが表示されたら[キャンセル]をクリック。
4.フォームに「コンボボックス」が配置されたら「プロパティシート」の[データ]-[値集合ソース]のビルドボタンをクリックする。
5.「クエリビルダー」の画面で「テーブルの表示」ウインドウが表示されたらテーブルを追加する。
6.フィールドリスト「MST_Item」から「Category」を選択して、下のデザイングリッドにドラッグアンドドロップ。並び替えを昇順に変更する。
7.デザイングリッド上で右クリックで[集計]を選択する。
8.集計:グループ化、並び替え:昇順を確認し[閉じる]ボタンをクリックする。
9.下記のメッセージが表示されるので[はい]をクリックする。
10.デザインビューで[プロパティシート]-[その他]-[名前]を「cmb_Category」に変更する。
11.表示ビューでコンボボックスに値が表示されているのを確認。
12.デザインビューに戻り[プロパティシート]-[イベント]-[更新後処理]のビルドボタンをクリック。
13.「ビルダーの選択」ウインドウで[コードビルダー]を選択して[OK]をクリックする。
14.コードビルダーで次のコードを入力し保存して閉じる。
-------------------------------------------------------------------
Private Sub cmb_Category_AfterUpdate()
Dim strWhere As String
strWhere = ""
If IsNull(Me![Cmb_Category]) <> True Then
If strWhere <> "" Then
strWhere = strWhere & " And "
End If
strWhere = strWhere & "MST_Item.Category Like '*" & Me![Cmb_Category] & "*'"
End If
Me.Filter = strWhere
Me.FilterOn = True
End Sub
-------------------------------------------------------------------
15.コンボボックスでCategory(区分)を選択すると該当のデータのみが表示される。
サンプルファイルダウンロード
ふりがなを自動入力してみよう
1.プロパティシートで[その他]-[ふりがな]で詳細設定のボタンをクリック
2.[ふりがなウィザード]ウインドウでふりがなの入力先を指定する
サンプルファイルダウンロード
マクロを使ってファンクションキーに機能を割り当てる方法
1. [作成]-[マクロ]でマクロツールを表示しプルダウンメニューから「サブマクロ」を選択
2.サブマクロ名を{F1}とし、新しいアクションは「フォームを開く」を選択する
3.フォーム名を選択し、マクロ名を「AutoKeys」として保存する
サンプルファイルダウンロード
![]() |
小さな会社のAccessデータベース作成・運用ガイド Windows 10、Access 2016/2013/2010対応【電子書籍】[ 丸の内とら ] 価格:2,700円 |
レポートにバーコードを表示して活用する
1.バーコード表示したいデータの入ったテーブルでレポートを作成し、[デザイン]-[コントロール]-[ActiveX コントロール]をクリック
2.ActiveXコントロールの挿入ウインドウで「Microsoft バーコードコントロール 14.0」を選択し[OK]をクリック
4.バーコードが挿入された
5.プロパティシートで「コントロールソース」を選択
6.バーコードを右クリックし[Microsoft バーコードコントロール 14.0 オブジェクト]-[プロパティ]を選択する
7.バーコードのスタイル等を必要に応じて変更する
8.レポートのプレビュー画面
サンプルファイルダウンロード