MS Access Tips/Sample and VBA and Blog customize etc...

タグ: 帳票フォーム ( 13 件)

帳票フォームの複数レコードで未入力項目のチェック

帳票フォームで複数レコードを入力した後、ボタンクリック等で入力必須フィールドに未入力があるかどうかチェックするという要件です。 レコード単位なら下記ですでに紹介しています。 複数項目の入力チェックを共通モジュール化する - hatena chips これを複数レコードに対応しようということです。未入力があったら、メッセージを表示する、あるいは、そこへフォーカス移動させるようにします。 難易度:...

帳票フォームでウィンドウの高さをレコード数に合わせる

ポップアップフォームや最大化してないフォームの時にレコード件数が少ないとき、最終レコードとフッター間に不必要な空白ができます。これをなくして、フォームウィンドウの高さをレコード件数に合わせてピッタリにしたいという場合のTipsです。 難易度:...

連結入力フォームのレイアウトを自由に設計したい

複数レコードのデータを入力するとき、帳票フォームを使いますが、これは縦にしか並べることができません。 しかし、見やすさや、紙での入力のフォーマットに合わせたいとかで、横に並べたり、段組みで並べたいというようなことはよくありますね。 例えば、下図のようなレイアウトをしようと思うと、非連結フォームでコントロールを複数並べて、テーブルから読み込み、テーブルへの書き込みをVBAなどですべて自前で処理を構...

DMaxを使った自動採番で複数行コピーにも対応

オートナンバー型ではなく自前で自動採番したい時、フォームの更新前処理でDMax関数を利用して次の連番を取得して代入するという方法はあちこちで紹介されています。 ただ、この方法は、既存レコードの複数レコードを選択してコピー、あるいはエクセル等から複数行コピーして、追加貼り付けをした場合、追加されたレコードはすべて同じ番号になってしまいます。 もし、主キーフィールドだとエラーが出て最初の1件以外は貼り付...

帳票フォームで表示項目が多いときページ切り替えで その2

以前の記事 帳票フォームで表示項目が多いとき、ページ切り替えで でヘッダーのタブコントロールで詳細のページ切り換えをするフォームを紹介しましたが、そのフォームではキーボードのTab, Enter, 矢印キー で全ての項目を移動できないという欠点がありました。マウスでしか別のページへ移動できない仕様では、ユーザーインタフェイスとしては失格です。 そこで、キーボードでもページをまたいですべてのフィールドに移動でき...

帳票フォームでYes/Noフィールドに1件のみチェックできるよう制限する

帳票フォーム(データシートビューフォームでも)で、Yes/Noフィールドと連結したチェックボックスがあります。表示されているレコード内で、1件のみチェックできるように制限をかけたい。具体的には、1件チェックしてあるとき、別のレコードにチェックを入れたら、既存のチェックが自動で外れるようにしたい。 上記の希望を実現する方法です。 難易度:...

帳票フォームで表示項目が多いとき、ページ切り替えで

帳票フォームで表示項目が多くて1画面に収まらない場合、データシートビューでの列固定のように一部の項目を固定して表示したいのですが、いい方法はないでしょうか。 データシートビューのように列固定して他の項目を横スクロールで表示というのは、帳票フォームで実現するのははなかなか難しいのです。単票フォームならタブコントロールで項目をグループ分けしてページ切り換えするという手法を使うことができます。タブコン...

帳票フォームで新規行を一番上に表示する

帳票フォームで、新規レコードを入力する行(新規行)は通常は一番最後の行に表示されますが、これを一番上に表示したいのですが、何か設定がありますか。 定期的に掲示板で見かける質問ですね。Accessにはそのようなプロパティ設定はないので、別の代案を考えることになります。 要はフォームの一番上で新規データを入力したいということなので、フォームヘッダーに非連結で入力用のコントロールを配置してVBAで追加するよ...

サブフォームの登録できるレコード件数を制限したい

サブフォームに表示されているグループで、登録できるレコード件数を5件に制限したい。 例えば、請求書などの伝票で1枚の行数が固定されていて、行数を超える場合は、新しく伝票を発行するという場合とか、登録できる最大数が決まっている場合に、規定数まで入力したらそれ以上は新規登録はできないようにする方法です。 最大数が5件の場合、4件登録してあり、5件目を入力し保存したら、新規登録行が消えて新規登録でき...

フォームでの集計をレコード保存する前に反映させる

帳票フォームで集計値を表示するとき、フォームヘッダーかフッターにテキストボックスを配置してコントロールソースに =Sum([フィールド名]) というように設定すれば表示できます。 例えば下記のようなよくある受注フォームですが、 2行目の数量を 2 から 5 に変更しても、 金額はすぐに 1,000 と反映されますが、フッターの「合計」は以前のままです。しかし、その下の「すぐに反映する 合計」は編集中にもかかわらず正...

アクティブの時だけボタンが表示されるコンボボックス

帳票フォームにコンボボックスを配置すると、すべての行にドロップダウンボタンが表示されて、ちょっとうっとうしいと思うことがありますね。コンボボックスがアクティブの時だけボタンが表示されるようになれば、すっきりすると思いませんか。 例えば、帳票フォームの複数コンボボックスで絞り込みのサンプルの場合、下記のようにすっきり表示させる方法を紹介します。 難易度:...

帳票フォームの複数コンボボックスで絞り込み 改良版

以前のTips帳票フォームの複数コンボボックスで絞り込みで、入力済みデータで地方と県名を変更して、県名コンボボックスにフォーカスがある状態で、EscキーやCtrl+Zで入力を取り消したとき、県名コンボボックスのリストが取り消す前のままの更新されないという不具合があるとの報告がありましたので、それに対処しました。 不具合の再現アニメーション 帳票フォームの複数コンボボックスで絞り込みを読んでない人はそれ...
該当の記事は見つかりませんでした。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。