「AccessVBA開発」カテゴリーアーカイブ

【AccessVBA】Docmd活用リファレンス:フォーム/レポート系

フォームをフォームビューで開く

DoCmd.OpenForm “frm社員マスタ”
‘フォーム”frm社員マスタ”をフォームビューで開きます

フォームを追加専用で開く

DoCmd.OpenForm “frm社員マスタ”, , , , acAdd
‘フォーム”frm社員マスタ”を追加専用で開きます

フォームを読み取り専用で開く

DoCmd.OpenForm “frm社員マスタ”, , , , acReadOnly
‘フォーム”frm社員マスタ”を読み取り専用で開きます

フォームをアイコンで開く

DoCmd.OpenForm “frm社員マスタ”, , , , , acIcon
‘フォーム”frm社員マスタ”をアイコン(最小化した状態)で開きます

フォームをダイアログとして開く

DoCmd.OpenForm “frm社員マスタ”, , , , , acDialog
‘フォーム”frm社員マスタ”をダイアログとして開きます

フォームを非表示で開く

DoCmd.OpenForm “frm社員マスタ”, , , , , acHidden
‘フォーム”frm社員マスタ”を非表示で開きます

フォームをデザインビューで開く

DoCmd.OpenForm “frm社員マスタ”, acDesign
‘フォーム”frm社員マスタ”をデザインビューで開きます

フォームを印刷プレビューで開く

DoCmd.OpenForm “frm社員マスタ”, acPreview
‘フォーム”frm社員マスタ”を印刷プレビューで開きます

フォームをデータシートビューで開く

DoCmd.OpenForm “frm社員マスタ”, acFormDS
‘フォーム”frm社員マスタ”をデータシートビューで開きます
特定のクエリーをレコードソースとしてフォームを開く
DoCmd.OpenForm “frm社員マスタ”, , “qsel社員マスタ”
‘クエリー”qsel社員マスタ”をレコードソースとしてフォーム”frm社員マスタ”を開きます

条件に合うデータだけを抽出したフォームを開く

DoCmd.OpenForm “frm社員マスタ”, , , “[都道府県] = ‘東京都'”
‘東京都に住む社員だけをフォーム”frm社員マスタ”に表示しま
DoCmd.OpenForm “frm社員マスタ”, , , “[シメイ] Like ‘[ア-オ]*'”
‘シメイが”ア”?”オ”で始まる社員だけをフォーム”frm社員マスタ”に表示します
DoCmd.OpenForm “frm社員マスタ”, , , “[社員ID] Between 10 And 15”
‘社員IDが10?15の社員だけをフォーム”frm社員マスタ”に表示します

フォームに引数を渡して開く

DoCmd.OpenForm “frm社員マスタ”, , , , , , “ABCD”
‘フォーム”frm社員マスタ”を,引数として”ABCD”を渡して開きます

レポートを印刷する

DoCmd.OpenReport “rpt社員マスタ”
‘レポート”rpt社員マスタ”を印刷します

レポートをプレビューする

DoCmd.OpenReport “rpt社員マスタ”, acPreview
‘レポート”rpt社員マスタ”をプレビュー表示します

レポートをデザインビューで開く

DoCmd.OpenReport “rpt社員マスタ”, acDesign
‘レポート”rpt社員マスタ”をデザインビューで開きます

特定のクエリーをレコードソースとしてレポートをプレビューする

DoCmd.OpenReport “rpt社員マスタ”, acPreview, “qsel社員マスタ”
‘クエリー”qsel社員マスタ”をレコードソースとしてレポート”rpt社員マスタ”をプレビューします

条件に合うデータだけを抽出したレポートを印刷する

DoCmd.OpenReport “rpt社員マスタ”, , , “[都道府県] = ‘東京都'”
‘東京都に住む社員だけをレポート”rpt社員マスタ”に印刷します
DoCmd.OpenReport “rpt社員マスタ”, , , “[シメイ] Like ‘[ア-オ]*'”
‘シメイが”ア”?”オ”で始まる社員だけをレポート”rpt社員マスタ”でプレビューします

アクティブウィンドウを閉じる

DoCmd.Close
‘アクティブなウィンドウを閉じます。主に自分自身のフォームを閉じます。

指定フォームを閉じる

DoCmd.Close acForm, “frm社員マスタ”
‘フォーム”frm社員マスタ”を閉じます

指定レポートを閉じる

DoCmd.Close acReport, “rpt社員マスタ”
‘レポート”rpt社員マスタ”のプレビューウィンドウを閉じます

デザイン変更を保存せずに閉じる

DoCmd.Close acTable, “社員マスタ”, acSaveNo
‘テーブル”社員マスタ”を,デザイン変更を保存せずに閉じます

デザイン変更を保存して閉じる

DoCmd.Close acQuery, “qsel社員マスタ”, acSaveYes
‘クエリー”qsel社員マスタ”を,デザイン変更を強制的に保存して閉じます

アクティブウィンドウを最大化する]

DoCmd.Maximize
‘アクティブなウィンドウを最大化します

※特定のウィンドウを対象にする場合は,SelectObjectメソッド と組み合わせます。
DoCmd.SelectObject acForm, “frm社員マスタ”
DoCmd.Maximize
‘フォーム”frm社員マスタ”を最大化します

アクティブウィンドウを最小化する

DoCmd.Minimize
‘アクティブなウィンドウを最小化します

アクティブウィンドウを元のサイズに戻す

DoCmd.Restore
‘アクティブなウィンドウのサイズを元のサイズに戻します

ウィンドウサイズを変更する

DoCmd.MoveSize , , 5670, 4536
‘アクティブなウィンドウのサイズを,幅10cm,高さ8cm に変更します ※単位は twip です。1cm は 567twip です。・・・・・10cm=5670twip

ウィンドウの位置を移動する

DoCmd.MoveSize 2268, 1701
‘アクティブなウィンドウを,横4cm,縦3cm の位置に移動します ※単位は twip です。1cm は 567twip です。・・・・・4cm=2268twip

アクティブウィンドウを印刷する(全ページを1部だけ印刷する場合)

DoCmd.PrintOut
‘アクティブなウィンドウの全ページを1部だけ印刷します

アクティブウィンドウを印刷する(指定ページだけを印刷する場合)

DoCmd.PrintOut acPages, 1, 2
‘アクティブなウィンドウの 1~2ページ だけを印刷します

アクティブウィンドウを印刷する(複数部数印刷する場合)

DoCmd.PrintOut , , , , 5
‘アクティブなウィンドウの全ページを 5部 印刷します

画面の再描画を抑止する

DoCmd.Echo False
※通常は Applicationオブジェクトの Echoメソッドを使います。したがって,”Echo False”という記述でOKです。

画面の再描画を抑止を解除する

DoCmd.Echo True
※通常は Applicationオブジェクトの Echoメソッドを使います。したがって,”Echo True”という記述でOKです。

【AccessVBA】コンボボックスの値集合ソースにFilterはかけられる?

Me.コンボボックス.Filterという使い方は出来ない?

Anser;[Me.コンボボックス.Filter]は出来ません。

コンボボックス(リストボックスも)値集合ソース:RowSourceを変更しないといけません。

値集合ソースというのは選択クエリー(テーブルもOK)全体で、Filterはクエリーの中の抽出条件だけです。
コンボボックスにフィルタをかけた状態にするには、選択クエリー全体を書き直す必要があります。

現在、値集合ソースがテーブル(もしくはクエリー)名になっているなら

Me.コンボボックス.RowSource = ”SELECTテーブル名.* FROM テーブル名 WHERE (○○);”

○○部分にフィルターで書いた式を入れ、

Me.コンボボックス.Requery

でいけると思います

※SQL文に慣れていないと( ) 部分でよく引っかかります
その時はSELECT文””の間の部分をクエリー新規作成からSQLビューにし貼り付けて確認するとわかりやすいです

【AccessVBA】レポートフィールドの結合(隠しフィールドの結合値を別のフィールドに表示)

隠しフィールドの結合値を別のフィールドに表示するには
せっかく、SQLでレコードを抽出して表示しようとしても
全データがレポートに表示される。

【方法】
=[ブランド] & ” ” & [品番] & ” ” & [商品名] & ” ” & [素材] & ” ” & [色]
であれば、全データがレポート表示される(SQLが効かない)

=([ブランド] & ” ” & [品番] & ” ” & [商品名] & ” ” & [素材] & ” ” & [色])
であれば、SQLでフィルターをかけたデータのみ表示されるのでOK

★=()のカッコがあるかないかで大きな違い!!

【AccessVBA】フォームの位置とサイズを設定

【構文】    MoveSize [right][, down][, width][, height]

 

  • 引数rightは、左端の位置を指定します。
  • 引数downは、上端の位置を指定します。
  • 引数widthは、幅を指定します。
  • 引数heightは、高さを指定します。
  • この引数の単位はtwip(1理論cm=567twip)です。

 

Private Sub コマンド1_Click()
DoCmd.MoveSize 1000, 1000, 4000, 2000
End Sub

【Access】新規登録専用のフォームを作ることは可能でしょうか?

★☆★☆★☆★☆★☆  解決 ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
新規登録専用のフォームを作ることは可能でしょうか?
新規登録専用にしたいフォームをデザインビューで開いて、
フォームのプロパティを開きデータにあるデータ入力用を[はい]にすれば
そのフォームは新規のレコードしか入力できなくなります。