
No.3ベストアンサー
- 回答日時:
s_husky です。
複数のフォームから一つの検索フォームを開く。
検索結果を、それぞれのフォームの任意のテキストボックスに表示する。
この場合、一番簡単なのは、
DoCmd.OpenForm stDocName, , , stLinkCriteria, , , "フォーム名,テキストボックス名"
と OpenArg sを利用することです。
検索フォームでは、
Dim strOpenArgs()
Sub Form Load()
strOpenArgs()=Split(OpenArg s,",")
End Sub
これで
strOpenArgs(0)="フォーム名"
strOpenArgs(1)="テキストボックス名"
となります。
後は、
Forms(strOpenArgs(0)).Controls(strOpenArgs(1))="XXXX"
とすれば、呼び出し元のテキストボックスに代入することができます。
※私も、たった一人で独習している単なるスーツのデザイナーに過ぎません。
※頑張って下さい。
こんなにも早くご回答がいただけるとは思いませんでした。本当に感謝しています。
いろいろ本などを調べながら独学していますが、なかなか思った内容を見つけることができず、困っていました。
丁寧な解説でとっても分かりやすく、これで問題も解決しました。
本当に有り難うございました。
No.2
- 回答日時:
以下のは、グループ名に対するメンバーを返す関数の例です。
配列変数を ByRef で渡しています。
関数自体は、メンバー数を戻しています。
Option Compare Database
Option Explicit
Private Sub コマンド0_Click()
Dim I As Integer
Dim N As Integer
Dim strMember() As String
N = 該当するメンバーを戻す("果物", strMember())
For I = 0 To N
Debug.Print strMember(I)
Next I
End Sub
Public Function 該当するメンバーを戻す(ByVal GroupName As String, ByRef strMember() As String) As Integer
Select Case GroupName
Case "果物"
strMember() = Split("りんご,みかん,イチゴ", ",")
Case "車"
strMember() = Split("乗用車,パトカー,消防自動車,救急車", ",")
Case "玩具"
strMember() = Split("ぬいぐるみ,犬,旦那", ",")
Case Else
strMember() = Split("", ",")
End Select
該当するメンバーを戻す = UBound(strMember())
End Function
ご回答ありがとうございました。とっても参考になりました。問題も解決しそうです。
ところで、今回の質問と直接関係ないのですが、私はACCESSでVBAを初めて間がないので、変な質問かもしれません。周りに聞く人もいないので済みません。
例えば、フォームA、B、Cなど複数のフォームで商品名を入力しようとしたとき、その商品を検索するためにフォームZの検索画面で条件をいれて検索させ、その結果の商品名や商品コードなどを元のフォームのテキストボックスなどに表示させるときは、一般的にどういうやりかたをするのでしょうか?
今回の質問のように、引数と戻り値でするのか、または別の簡単なやり方があるのか…。
また、お時間のあるときにでも教えてください。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
- Visual Basic(VBA) マクロについて教えてください。 4 2023/06/06 09:06
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
- その他(データベース) Microsoft Accessについて 1 2022/06/06 16:20
- Access(アクセス) Access DLookup vbaで条件を2件設定したい場合どうすればよいでですか? 現在 If( 1 2023/06/28 14:28
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS 同一フォームで...
-
ACCESS・VBAが全く分かりません。
-
マイクロソフトのACCESSについて
-
ACCESSのテーブルとフォーム
-
Accessのハイパーリンクのパス...
-
アクセスのフォームについて
-
AccessVBAを使用して、DB内を...
-
アクセス2007 OrderByの適用は...
-
フォーム上のレコード数表示が...
-
Accessのフォーム上にレコード...
-
ACCESS2013で一部に四角枠をか...
-
access SQLを基にしてフォーム...
-
アクセスでのVLOOKUPの代わりに...
-
他人がデーターベースを開いて...
-
テキストボックスの値をテーブ...
-
Access:フォームをクリ...
-
Access:yesの時は画像を表示、...
-
ACCESSで入力フォームをHTMLフ...
-
Access フォーム上でコンボボッ...
-
[至急]accessクエリ結果を入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのフォーム上にレコード...
-
アクセスのフォームのビューが...
-
アクセスでテーブルの変更内容...
-
選択したチェックボックスのみ...
-
ACCESSのフォームからデータの...
-
Access 別フォームへの再クエ...
-
accessの自動更新処理をできな...
-
ACCESSで入力フォームをHTMLフ...
-
Accessフォームのテキストボッ...
-
Accessのフォームで作業領域を...
-
アクセスでの項目追加について...
-
Access2002 フォームを閉じるた...
-
アクセス 0以外をカウントす...
-
Accessのハイパーリンクのパス...
-
入力途中の入力した値をすべて...
-
Access フォーム上でコンボボッ...
-
ADOでRecordsetオブジェクトを...
-
Accessのフォーム画面について
-
ACCESSでテーブルから選択,表示...
-
帳票フォームに全レコードを表...
おすすめ情報