Page 75 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼変数の変数の値を取得したい! しろまる 02/10/24(木) 18:44 ┣Re:変数の変数の値を取得したい! しろくろやぎ 02/10/24(木) 19:54 ┃ ┗Re:変数の変数の値を取得したい! しろまる 02/10/24(木) 21:01 ┗Re:Eval 関数 YU-TANG 02/10/24(木) 22:45 ┗Re:Eval 関数 しろまる 02/10/24(木) 23:30 ─────────────────────────────────────── ■題名 : 変数の変数の値を取得したい! ■名前 : しろまる ■日付 : 02/10/24(木) 18:44 -------------------------------------------------------------------------
access2Kでプログラム開発をしています。 初心者で、簡単な質問かもしれませんが、なにとぞよろしくお願い致します。 実現したいことは、変数に対して、変数を入力して(この例では,あるフォームのテキストボックスの値を指定しています)、その「変数の変数」の値を取得したいというものです。 下記の例だと、変数1の値は"[form]![フォーム]![テキスト].value”としか 認識してくれず、"[form]![フォーム]![テキスト].value"自体の値を認識して くれません。 "[form]![フォーム]![テキスト].value"自体の値を取得したいです。 例. sub test() dim 変数 as string dim A AS string 変数= "[form]![フォーム]![テキスト].value" if 変数 is null then msgbox "フォームのテキストボックスの値はNULLです" else msgbox "フォームのテキストボックスの値はNULLではありません" endif endsub ※この例だと、常にフォーム上のテキストボックスの値に関わらず、 変数="[form]![フォーム]![テキスト].valueと認識されてしまいます。 |
▼しろまる さん: >初心者で、簡単な質問かもしれませんが、なにとぞよろしくお願い致します。 やっ、結構難しいんじゃないでしょうか?(^_^;) >下記の例だと、変数1の値は"[form]![フォーム]![テキスト].value”としか >認識してくれず、"[form]![フォーム]![テキスト].value"自体の値を認識して >くれません。 >"[form]![フォーム]![テキスト].value"自体の値を取得したいです。 コードは書きませんが、アイディアを。 "[form]![フォーム]![テキスト].value”という文字列が入っている変数から、 文字列操作関数を使って「フォーム名」「コントロール名」を抽出し、その 内容を使う、と可能なはずです。 抽出したフォーム名が「sNmForm」、コントロール名が「sNmCtrl」という 変数に入っており、結果を「sResult」に入れるとすると sResult = Forms(sNmForm).Controls(sNmCtrl).Value で値が取得できるはずです。 # もちろん画面上にフォームが表示されており、そのフォームに該当する # コントロールがあることが必須ですが。 |
しろくろやぎさん ありがとうございました。 しかしながら、もっとややこしいことに フォーム上のサブフォーム内のテキストボックスの値を取得したいのが 本当のねらいでした. ですので、 sResult = Forms(sNmForm).SubForms(subForm).Controls(sNmCtrl).Value ^^^^^^^^^^^^^^^^^ ↑こんな感じ になるとは思うのですが,思うように行きませんでした。 絶対にこれができないと、開発ができないというレベルではないので この投稿はここまでで結構です。 ありがとうございました。(涙) |
> if 変数 is null then If IsNull(Eval(変数)) Then で取れませんか? |
▼YU-TANG さん: >> if 変数 is null then > >If IsNull(Eval(変数)) Then > >で取れませんか? あ!できました! こんな便利な関数の存在を知らないとは罪ですね。 ありがとうございました!! 今後とも宜しくお願い致します。 |