[三流君(TOPへ)] / [VBAで楽しく] / [記事一覧] / [作者(三流君)に質問する]



三流君VBAでAccess UserForm/サブフォームを操作する

キレのよいサンプルが少ないですが、よろしくお願いします

百聞は一見に〜 動画で解説

入力後に値をチェックして、データを読み込んだり、入力をキャンセルしたり

テキストボックスに入力されたIDを使用してデータをDLookupで読み込んでみたり、
更新前処理で、Cancel=Trueにして、カーソルを戻してみたり
下記のような感じで、イロイロとやってみました※ノーカット30分、三流的なハマりを笑ってね

目次
0:00 〜 データの準備
04:30 〜? フォームの作成
09:00 〜 入力IDのチェック
12:55 〜 DLookup関数がNullを返す
15:40 〜 データ無しの時、再入力させたい
20:45 〜 蛇足で顧客名2をセット
25:20 〜 テストとまとめ、再度しつこく説明
※ソースと解説は [Access 更新前処理 _BeforeUpdate内でDLookup関数を使用] を見てください

2つのコンボボックスを連動させて データを絞り込む

1.コンボボックスを2つ作る
2.作ったコントロールにコードを書く

↑全体の流れと ソースコードは [Accessで2つのコンボボックスを連動?させるには?] を見てください

よく使う メインフォームとサブフォーム

↓IDをつなげて、作成してみた

↑こんな感じで Accessのメインフォームとサブフォームを連結させて作ってみました
あとは、値を取得したり、レコードの移動のテスト↓を行ってみました

フォームの値は Me![フィールド名] レコードの数は、Me.Recordset.RecordCount
サブフォームの値は Me![サブフォーム名]![フィールド名] レコード数は Me![サブフォーム名].Form.Recordset.RecordCount
で取得できました
レコードの移動は、DoCmd.GoToRecord , , acNext で、簡単にレコード移動できました。
サブフォームは一回 Me![サブフォーム].SetFocus で フォーカスを当てるとDoCmd.GoToRecordでレコード移動できました
※開発全体の流れとソースコードは、[AccessサブフォームのデータをOutlook本文に転記する]を見て笑ってください


Access フォーム 関係

概要を見て、気になったタイトルをクリックして本文を見てください

[No.41 AccessのForm .Pictureプロパティで画像参照]
非連結のイメージコントロールを貼り、
.Picture = 画像ファイル名の文字列 で 画像を表示させました。

[No.62 Access フォームでパスワード入力(入力後*****表示)]
ユーザーID [ _______ ] パスワード [ _______ ]
なんて入力用のフォームで、
パスワードを入力すると[ ******** ]
と*を入力したい、そんな質問に解答してます

[No.65 Access Form TextBoxの.SelLength .SelStartプロパティ]
テキストボックスの入力文字列を選択状態にしたかったので、
.SelLength .SelStartプロパティを使用してみました。

[No.66 Access ユーザーマスターのチェックとメニュー切り替え]
ログイン画面を作成して、ユーザーによってメニュー表示を変えてみました。

[No.67 Access Formを隠す Me.Visible = False (Closeとの違い)]
フォームを非表示のまま残し、値を参照してます。

[No.69 Access コンボボックスを自動で開きたい]
コンボボックスのリスト▼をクリック時と同じ状態にしたかったので、
.Dropdown を使ってみました。

[No.89 Access 検索フォームで選択した番号を使用する その1]
番号検索用のウインドウを表示させ、データを選択、
該当データへ移動する、そんな感じの処理を、
DoCmd.GoToControl コントロール名
DoCmd.FindRecord LNG顧客番号 '選択された番号のレコードに移動
なんて感じで処理しました。

[No.90 Access Form OpenArg引数でセット位置を渡す]
DoCmd.OpenForm stDocName, , , stLinkCriteria, , , "顧客データ印刷/txtSTART"
とフォームを開く時にパラメータを渡し、渡されたほうでは、
Me.OpenArgsで受け取り、使ってます。

[No.91 Access ダイアログフォームって?何? acDialogとPublic変数を使用]
acDialogを指定してフォームをダイアログ状態で開き、
グローバル(Public)変数を使用して、値のやり取りを行い、共通選択処理をやってみました

[No.94 Access Form_Open Form_Loadイベントの発生順]
イベントの発生順を探ってみました

[No.95 Access カレンダーコントロールから日付選択]
カレンダーコントロールを貼り、選択してみました
あと、共通の選択フォーム作りにチャレンジしてみました

[No.96 Access コントロールソースを共通にする(細工する)]
フォームに違うタイプのコントロールを貼る。

テーブルの項目(コントロールソース)は同じにして遊んでみた話
※キーボード入力とマウス選択の併用の案です

[No.99 Access タブコントロールを探り表示データ切り替え]
タブコントロールを貼り、選択のテストをしてみました

[No.106 Access サブフォームで連結 重複を弾いてメインに表示]
テーブルから重複値をハジク方法で、InStrで探して追加しない方法

Select DISTINCT キーワードを使用して、
SQL文で重複結果を返さない方法の2つをテストしてみました。

[No.107 Access サブフォームの明細データを検索、メインを移動]
サブフォーム(子)のデータを DLookup で検索して、
親フォームの該当するデータに DoCmd.FindRecord で移動してます

[No.126 Access Like演算子でパターンマッチングしてみた]
データが複数存在するかDCount関数とLike演算子で判断してみました

[No.178 Access 検索後・リストボックスで選択 サブフォームを移動]
listボックスの.RowSource を書き換え データを絞り込み、
ダブルクリックのイベント _DblClick で選択処理を行いました





[ページ内のTOPへ戻る]

ページフッター

ここまで、読んでいただきどうもです。ここから下は、三流君宛のメッセージ送信や 三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、

感想や質問・要望・苦情など 三流君へメッセージを送る。[#QA_MESSAGE]


あなたのお名前(ニックネーム):さん
返信は?:

アドレス:に返事をもらいたい
感想や質問↓:



(感想や質問・要望・苦情はHPで記事に載せることがあります。)
例:[XXXXさんへ回答例]←みたいに回答していたり...

急ぎで連絡がほしい、そんな時は:[twitter三流君]に気軽に連絡してください。




[三流君(TOPへ)] / [VBAで楽しく] / [記事一覧]
カスタム検索




広告

リンク広告
  1. --[ Windows7 OSのフルバックアップ システムイメージバックアップ]
  2. --[モンスト 超獣神祭]
  3. --[WWR 新マップ Power Plant 福島?]
  4. --[Windows 仮想メモリ ページファイルの移動や設定]
  5. --[バズドラ 赤の契約龍 攻略 周回ほか]