スポンサーリンク

2013年9月29日日曜日

ADOを使う - アクセス・Access2013

Access2013でADOを使う方法です。

  1. フォーム上にテスト用のボタンを設置し選択します。
  2. リボンの[フォームデザインツール]-[デザイン]-[プロパティシート]をクリックします。
  3. プロパティシートを[イベント]タブにし[クリック時]を[イベント プロシージャ]にします。
  4.  [イベント プロシージャ]の右端の[...]ボタンをクリックします。
[イベント]タブにし[クリック時]を[イベント プロシージャ]にします
VBAの入力画面が表示されます。
メニューの[ツール]-[参照設定]をクリックします。
メニューの[ツール]-[参照設定]をクリックします
参照設定ダイアログが表示されます。
Microsoft ActiveX Data Objects Recordset 6.0 Library にチェックし「OK」ボタンをクリックします。
参照設定ダイアログ
ADOを使ったサンプルコードを入力します。
■サンプルコードの流れ
  1. ADOを使いデータベースに接続します。
  2. 開いているデータベース内の「商品管理テーブル」を開きます。
  3. 先頭のレコードに移動します。
  4. 「商品名」フィールドのデータを取得します。
  5. ADOの終了処理を行います。
ADOを使ったサンプルコード
フォームビューにしボタンをクリックすると、ADOで取得したデータが表示されます。
ADOで取得したデータが表示されます

2013年9月26日木曜日

日付の各種表示形式(Format関数) - アクセス・Access2013

Access2013でFormat関数を使い日付を各種の形式で表示させます。

クエリでFormat関数を使っている画面です。
Format関数使用例
  • 西暦日付: Format([日付],"yyyy\年m\月d\日")
    2013年9月1日
  • 日付と時刻:Format([日付],"yyyy年m月d日 h時n分 AM/PM")
    2013年9月1日 12時0分 AM
  • 日付と曜日: Format([日付],"yyyy\年m\月d\日 (aaaa)")
    2013年9月1日 (日曜日)
  • 和暦日付: Format([日付],"ggge\年m\月d\日")
    平成25年9月1日
  • 和暦略号: Format([日付],"ge\年m\月d\日")
    H25年9月1日

2013年9月24日火曜日

クエリに曜日を表示させる - アクセス・Access2013

Access2013でクエリに曜日を表示させる方法です。
  1. クエリをデザインビューで開き、曜日を表示させたい列を選択します。
  2. リボンの[クエリツール]-[デザイン]-クエリ設定部分の[列の挿入]をクリックします。
クエリ設定部分の[列の挿入]をクリックします
新しく挿入された列のフィールドに
曜日:Format([日付],"aaa")
と入力します。
曜日:Format([日付],"aaa")
 データシートビューの画面です。 日付から曜日が表示されました。
日付から曜日が表示されました

2013年9月22日日曜日

四捨五入 ROUND関数 - アクセス・Access2013

Access2013でROUND関数を使って四捨五入します。

ROUND関数を使ったクエリです。
  • 不良率0は小数点第1位を四捨五入して整数にしています。
    不良率0: Round([T-検査]![不良数]/[T-検査]![検査数]*100,0)
  •  不良率2は小数点第3位を四捨五入しています。
    不良率2: Round([T-検査]![不良数]/[T-検査]![検査数]*100,2)
ROUND関数を使ったクエリ
小数点第1位を四捨五入した結果と、小数点第3位を四捨五入したクエリです。
四捨五入したクエリ

2013年9月20日金曜日

グラフの作成方法 - アクセス・Access2013

Access2013でグラフを作成する方法です。

グラフの元となる検査データです。 この不良率から日毎の折れ線グラフを作成します。
グラフの元となる検査データ
フォームをデザインビューで開きます。
  1. リボンの[フォームデザインツール]-[デザイン]のグラフを選択します。
  2. フォーム上にドラッグし配置します。
[デザイン]のグラフを選択します
グラフウィザードが始まります。
「グラフの作成に使うテーブルまたはクエリを指定してください。」で元になるクエリを選択します。
グラフウィザード
「グラフに使うデータが含まれるフィールドを指定してください。」で[日付]と[不良率]フィールドを右の選択したフィールドに移動します。
グラフに使うデータが含まれるフィールドを指定
「グラフの種類を選択します。表示するデータに合ったグラフを選択してください。」で、ここでは折れ線グラフ「折れ線グラフは一定期間のデータの傾向を示します。面グラフに似ていますが、折れ線グラフは値の関係だけを表示し、累積的な結果は表示しません。」を選択します。
グラフの種類を選択
「グラフのデータとして使うフィールドを指定してください。フィールドを指定するには、下のフィールドからフィールドをサンプルグラフにドラッグします。数値型または日付/時刻型のフィールドをダブルクリックすると、グラフの集計方法やグループ化の方法を変更できます。」で横軸の[月ごとの日付]をダブルクリックします。
グラフのデータとして使うフィールドを指定
グループ化の設定ダイアログが開きます。’日付’をグループ化する単位で[日]を選択します。
グループ化の設定ダイアログ
「グラフのタイトルを指定してください。」でグラフ名を入力します。ここでは’不良率推移’としました。
「グラフに凡例を表示するかどうかを選択してください。」でどvひらかを選択します。」ここでは一本の折れ線なので[表示しない]にしました。
グラフのタイトルを指定
作成したグラフのデザインビュー画面です。
作成したグラフのデザインビュー画面
フォームビューにするとデータに合ったグラフが表示されます。
フォームビューにするとデータに合ったグラフが表示

2013年9月18日水曜日

DCOUNT関数の使用例 - アクセス・Access2013

DCOUNT関数のAccess2013での使用例です。 DCOUNT関数はテーブルかクエリから指定したフィールドのレコード数を求める関数です。
構文は「Access2013でDCOUNT関数を使いクエリで連番を振る方法」を参照してください。

DCOUNT関数を使う商品クエリです。
DCOUNT関数を使う商品クエリ
■在庫数が300より少ない[商品ID」のレコード数を求めます。
在庫少: DCount("商品ID","T_商品管理","在庫数<300")
在庫数が300より少ない[商品ID」のレコード数
在庫数が300より少ないのは2件と表示されました。
在庫数が300より少ないのは2件
■商品名に「シャツ」の文字が含まれるレコード数を求めます。
シャツ:dcount("*","T_商品管理","商品名 Like '*シャツ*'")
フィールド指定の「"*"」はワイルドカードで、Null フィールドを持つレコードも含めた、全レコードの総数を計算できます。
商品名に「シャツ」の文字が含まれるレコード数
商品名に「シャツ」の文字が含まれるのは4件と表示されました。
商品名に「シャツ」の文字が含まれるのは4件
■日付が「2013年8月1日」より古いレコード数を求めます。
期間:dcount("*","T_入出庫","日付<#2013/8/1#")
日付が「2013年8月1日」より古いレコード数
日付が「2013年8月1日」より古いのは2件と表示されました。
日付が「2013年8月1日」より古いのは2件

2013年9月16日月曜日

DCOUNT関数を使いクエリで連番を振る - アクセス・Access2013

Access2013でDCOUNT関数を使いクエリで連番を振る方法です。

DCOUNT関数を使うと指定範囲のレコード数をカウントできます。
構文 : DCount(expr, domain , criteria )
  • expr : テーブルかクエリのフィールドを指定します
  • domain : テーブル名かクエリ名を指定します
  • criteria : (省略可能)データの抽出範囲を指定します。 
クエリデザイン画面でDCOUNT関数を使った下記の式を入力します。
価格連番: DCount("製品ID","T-製品マスター","価格>=" & [価格]) 
これは、全体の価格フィールドから自身の価格より大きなレコード数を数えます。 これが、自身のレコードの順位になります。
DCOUNT関数を使った下記の式を入力
実行結果です。 連番が振られました。
連番が振られました
昇順でソートすれば順番に並びます。
昇順でソート

2013年9月12日木曜日

排他モードで開く - アクセス・Access2013

Access2013でデータベースを排他モードで開く方法です。 排他モードで開くと一人しかアクセスできません。

リボンの[ファイル]-[開く]をクリックし、ファイルが存在する場所をクリックします。
リボンの[ファイル]-[開く]をクリック
ファイルを開くダイアログが開きます。
右下の[開く]ボタンの▼をクリックし、表示されるメニューの[排他モードで開く]をクリックします。
これでデータベースが 排他モードで開きます。
[排他モードで開く]をクリックします

2013年9月10日火曜日

CSVファイルをインポートする - アクセス・Access2013

Access2013でCSVファイルをインポートする方法です。

インポートするCSVファイルをExcelで開いた画面です。 取込先テーブルのフィールド順になっている、この2件のデータを取り込みます。
インポートするCSVファイル
CSVファイルをメモ帳で開いた画面です。 データはカンマで区切られています。
CSVファイルをメモ帳で開いた画面
Accessのテーブル名上で右クリックし、表示されるメニューの[インポート]-[テキストファイル]をクリックします。
メニューの[インポート]-[テキストファイル]をクリック
外部データの取り込み-テキストファイル ウィザードが始まります。
「データのインポート元とインポート先、またはリンク元とリンク先の選択 オブジェクトの定義のソースを指定します。」でCSVファイルを指定します。
「現在のデータベースのデータの保存方法と保存場所を指定してください。」で下記から選択します。
  • 現在のデータベースの新しいテーブルにソースデータをインポートする
    指定したテーブルが存在しない場合は、そのテーブルが作成されます。指定したテーブルが既に存在する場合は、インポートされたデータでテーブルの内容を上書きする可能性があります。ソースデータへの変更は、データベースに反映されません。
  • レコードのコピーを次のテーブルに追加する
    指定したテーブルが存在する場合、そのテーブルにレコードが追加されます。テーブルが存在しない場合は、テーブルが作成されます。 ソースデータへの変更は、データベースに反映されません。
  • リンクテーブルを作成してソースデータにリンクする
    ソースデータとのリンクが保持されるテーブルが作成されます。テキストファイルにリンクされているデータの変更と削除はできません。ただし、新しいレコードは追加できます。
ここでは[レコードのコピーを次のテーブルに追加する]を選択し、取込先のテーブルを指定します。
外部データの取り込み-テキストファイル ウィザード
このデータは’区切り記号付き’形式であると見なされます。これが正しくない場合は、適切な形式を選択してください。
  • 区切り記号付き - カンマやタブなどでフィールドが区切られている
  • 固定長 - フィールドの長さが固定されている
カンマで区切られたCSVファイルなので[区切り記号付き]を選択します。
カンマで区切られたCSVファイルなので[区切り記号付き]を選択
「フィールドの区切り記号およびテキスト区切り記号を指定します。区切り記号を選択し、下のボックスでテキストの保存形態を確認してください。」でフィールド区切り記号を下記から選択します。
  • タブ
  • セミコロン
  • カンマ
  • スペース
  • その他
カンマで区切られたCSVファイルなので[区切り記号付き]を選択します。 下に区切り結果が表示されるので正しくできているか確認します。
テキスト区切り記号を指定します
「これで、データをインポートするための設定は終了しました。」でインポート先のテーブルを確認します。
インポートするための設定は終了
「インポート操作の保存 CSVファイル(ファイル名)をテーブル(テーブル名)にインポートしました。 このインポート操作を保存しますか?インポート操作を保存すると、ウィザードを使用することなく、すぐに操作を再実行できます。」で再度実行する場合は[インポート操作の保存]のチェックをONにします。[閉じる]ボタンをクリックし完了です。
インポート操作の保存
取込後のテーブルです。 CSVファイルの2件のデータが追加されています。
取込後のテーブル

2013年9月8日日曜日

CSVファイルに保存する - アクセス・Access2013

Access2013でテーブルをCSVファイルに保存する方法です。

テーブルを選択し右クリックします。
表示されるメニューの[エクスポート]-[テキストファイル]をクリックします。
[エクスポート]-[テキストファイル]をクリック
エクスポート - テキストファイル ダイアログが開きます。
「データのエクスポート先の選択 このエクスポート先のファイルの名前と形式を指定してください。」で[OK]ボタンをクリックします。
エクスポート - テキストファイル ダイアログ
テキストエクスポートウィザードが開きます。
「ウィザードでは、データのエクスポート方法を詳細に指定できます。エクスポートの形式を指定してください。」
  • 区切り記号付き - カンマやタブなどでフィールドが区切られている
  • 固定長 - フィールドの長さが固定されている
[区切り記号付き]を選択します。
テキストエクスポートウィザード
「フィールド区切り記号およびテキスト区切り記号を指定します。区切り記号を選択し、下のボックスでテキストの保存形態を確認してください。」
フィールド区切り記号:
  • タブ
  • セミコロン
  • カンマ
  • スペース
  • その他
カンマを選択します。
フィールド区切り記号
「これで、データをエクスポートするための設定は終了しました。」で、ファイル名を入力し拡張子を CSV にします。
データをエクスポートするための設定は終了
「エクスポート操作の保存 テーブル(テーブル名)をファイル(ファイル名)にエクスポートしました。 このエクスポート操作を保存しますか?エクスポート操作を保存すると、ウィザードを使用することなく、すぐに操作を再実行できます。」で再度実行する場合は[エクスポート操作の保存]のチェックをONにします。[閉じる]ボタンをクリックし完了です。
エクスポート操作の保存
作成したCSVファイルをExcelで開いた画面です。
CSVファイルをExcelで開いた画面

2013年9月6日金曜日

リストボックスをテーブル・クエリで使う - アクセス・Access2013

Access2013でテーブル・クエリから選択できるリストボックスの作成方法です。
  1. フォームをデザインビューで開きます。
  2. リボンの[フォームデザインツール]-[デザイン]-コントロール部分の[コントロール ウィザードの使用]をONにしておきます。
  3. [リストボックス]を選択します。
[リストボックス]を選択します
フォーム上にドラッグし配置します。
フォーム上にドラッグし配置します
リストボックス ウィザードが始まります。
「このウィザードは、選択可能な値を表示するリスト ボックスを作成します。リスト ボックスに表示する値の種類を選択してください。」
  •  リストボックスの値を別のテーブルまたはクエリから取得する
  • 表示する値をここで指定する
と表示されるので「リストボックスの値を別のテーブルまたはクエリから取得する」を選択します。
リストボックスの値を別のテーブルまたはクエリから取得する
「リストボックスの値の取得元となるテーブルまたはクエリを選択します」で使用するテーブルかクエリを選択します。
使用するテーブルかクエリを選択します
「リストボックスの値の取得元となる(テーブルかクエリ名)のフィールドを選択します。選択したフィールドは、リストボックスの列として表示されます。」で使用するフィールドを[選択可能なフィールド]から[選択したフィールド]へ移します。
[選択可能なフィールド]から[選択したフィールド]へ移します
「リストボックスの項目の並べ替え順を指定してください。並べ替えを行うフィールドを4つまで選択できます。それぞれのフィールドごとに昇順または降順を指定できます。」で並べ替え項目と順を指定します。
並べ替え項目と順を指定します
「リストボックスに表示する列の幅を指定してください。列幅を調整するには、列の右端をドラッグします。また、右端をダブルクリックすると、入力した値の長さに合わせて列幅が自動的に調整されます。」でExcelと同じ方法で調整します。
[キー列を表示しない(推奨)」のチェックをONにするとキーフィールドの表示が消えます。ここでは「製品ID」が消えます。
リストボックスに表示する列の幅を指定
「リストボックスで行を選択すると、その行の値をデータベースに保存したり、値をあとで使うことができます。一意に行を特定できるフィールドを選択してください。データベースに保存または使用する値は、リストボックスでどの列に含まれていますか?」で保存するフィールドを選択します。

保存するフィールドを選択します
「リストボックスに付けるラベルを指定してください。」に入力し[完了]ボタンで終了です。
リストボックスに付けるラベルを指定
フォームビューで表示したリストボックスです。
フォームビューで表示したリストボックス