A 回答 (4件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
はじめまして。
私はフォーム間の値の受け渡しで良く使うのは以下の2つです。
1.フォームを開いて、例えばテキストボックスに代入する
2.フォームのForm_Openイベント時に前のフォームの値を取ってきてテキストボックスに代入する
1の場合、開くフォーム名をform1とすると
form1.テキストボックス名.value=me.コンボボックス名.value
2の場合、元のフォーム名をform0とすると
me.テキストボックス名.value=form0.コンボボックス名.value
でテキストボックスに値を格納できます。
共通Module化を考える場合には以下のようなもので如何でしょうか。OKボタンのクリックイベントに仕込みます。
Public Function OpenForm( _
FormName As String, _ '開くフォーム名
InputControl As String, _ '代入するコントロール名
GetValueForm As String, _ '元のフォーム名
GetValueControl As String, _ '値を取るコントロール名
Optional GetValueFormClose As Boolean = False)
'GetValueFormCloseは元フォームを閉じるかどうかの指定
'フォームを開く
DoCmd.OpenForm FormName
'開いたフォームに値を代入する
Forms(FormName)(InputControl) = _
Forms(GetValueForm)(GetValueControl)
'元フォームを閉じる指定があれば閉じる
If GetValueFormClose Then
DoCmd.Close acForm, GetValueForm
End If
End Function
(エラーハンドルは記載してません)
No.2
- 回答日時:
開かれるフォームのLoadイベントで
Private Sub Form_Load()
If 元のフォーム名.コンボボックス1=1 then
.......
ってな感じです。
有難うございます。
最初この方法でやろうと思ったのですが、元のフォーム名を書くと、変数が宣言されていないとエラーになってしまうのです。
No.3
- 回答日時:
最初のフォームのコマンドをクリック時のプロシージャに、
▲新たに開くフォーム名: form2
▲選択したコンボボックス名: ret
▲form2の受取側テキスト名: res
Docmd.OpenForm "form2"
Forms!form2!res.Value = Me!ret.Value
で上手く出来るハズです!
もしその後に最初のフォームを閉じてしまいたいのでしたら、最後にCloseするよう書いてしまいます。
お返事有難うございます。
基本ができていないせいで、Form!form2!res.Valueという書式を知りませんでした。これから役立ちそうです。でもこれだと表示されるラベルの値は変更されるのですが、元のCaptionの値が変更されず、新たに開くフォームでの
If lblA.Caption="文字列" then
という条件が一致しません?????
のでNO1さんのように共通モジュールに値のSetとGetの関数を自作しました。
No.4
- 回答日時:
コンボボックスで選ぶ値がテキスト型なら(そうでなければ、テキスト型に変換して)、OpenArgs プロパティ を利用するのはいかがでしょうか?
具体的には、元のフォームで
DoCmd.OpenForm FormName:=”新たに開くフォーム名”, OpenArgs:=Me!コンボボックス名
として、新しいフォームを開き、
新たに開いたフォームの Open イベントで、OpenArgs の値を元に処理を行えば、わりと簡単だと思いますが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.net(VB)で、フォームにExcel...
-
サブフォームの新規レコードに...
-
VBプログラムの終了
-
アクセスVBA フォームのス...
-
PDFフォームに本日の日付を自動...
-
Googleフォーム・複数人の申し...
-
C# 別なフォームへ値を渡す (...
-
Access 無操作の場合、自動で閉...
-
VBAにてメッセージボックスを最...
-
PDFフォーム内で日付計算したい...
-
アクセスでフォームで入力 複...
-
VBAでフォームのスクロールバー...
-
Access サブフォームでの複数行...
-
Accessでフォームから別フォー...
-
VBA リストボックスをダブルク...
-
C#で作成したDLLをDelphiで呼ぶ...
-
サブフォームのコントロールの...
-
ExcelVBAでフォーム内でブック...
-
フォーム上の全てのコントロー...
-
VB.NET 親フォームから子フォー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Googleフォーム・複数人の申し...
-
VBAにてメッセージボックスを最...
-
アクセスVBA フォームのス...
-
Accessでフォームから別フォー...
-
サブフォームの新規レコードに...
-
サブフォームの行ごとにコンボ...
-
サブフォームのイベント取得
-
Access 無操作の場合、自動で閉...
-
リストボックスの選択解除
-
メッセージボックスの背景色
-
VB.net(VB)で、フォームにExcel...
-
accessで2つ以上のフォームを起...
-
フォーム上の全てのコントロー...
-
Accessのトグルボタンでサブフ...
-
ExcelVBAでフォーム内でブック...
-
ユーザーフォーム上にアイコン...
-
ACCESS VBAサブフォーム(DATA S...
-
PDFフォームに本日の日付を自動...
-
子フォームから親フォームのオ...
-
アクセス フォームが存在する...
おすすめ情報