• ベストアンサー

アクセス フォームからテーブルのダイアログを出して

XPアクセス2000でフォームからテーブルのダイアログを出して テーブルを選択したいのです。 フォーム上にはテーブルを変換するイベントプロシージャーがすでにできています。 がテーブルが案件ごとに違っていて以前のテーブルや新しくインポート してきたテーブルなど複数あります、変換したいテーブルをダイアログで 選択したいのですがコマンドらしきものがなさそうなので 教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

質問の意図がわかりにくのですが・・・・、 テーブル一覧から特定のテーブルを取得したい ということであれば・・・・ということで。 リストボックスやコンボボックスでテーブルを 選択する方法はどうでしょうか。 たとえば、フォームにリストボックスを設定し、 リストボックスのプロパティで値集合ソースに、 SELECT MsysObjects.Name FROM MsysObjects WHERE (((Left([Name],4))<>"Msys") AND ((MsysObjects.Type)=1)) ORDER BY MsysObjects.Name; を貼り付けて、テーブル一覧を表示する方法はどうでしょうか。 リストボックスからテーブルを選択し、 選択したテーブル名を、たとえば Me!リスト0.Value (リスト0はリストボックスの名前です) などのようにして取得すればいいのでは。 このとき、取得した値はテキスト型に なることに留意してください。 コンボボックスも似たようなものです。 あるいは、別のフォームにリストボックスを 上記と同じよう設定し、ボタンクリックで フォームを呼び出し、リストボックスで テーブルを選択します。 このとき、選択したリストボックスの テーブル名の取得はリストボックスの テーブル名のダブルクリックで直接 取り込むか、あるいはテーブルを選択した 状態で、選択したテーブル名を、 Forms!別のフォーム名!リストボックス名.Value のような方法で取り出すかだと思います。 簡単なのはフォームにリストボックスを 直接設定し、そこから選択するのが いいのではと、思いますが。 なお、リストボックスのテーブル一覧は、フォームを 開いた状態でテーブルが新規に追加されたり 削除されたりすると直接反映されないので、 一旦フォームを閉じて再度開きなおすか、 あるいはボタンクリックなどで、 Me!リスト0.Requery などとして、データを更新します。

5302abc
質問者

補足

ありがとうございます。 付け加えさせていただきます。 変換するプロシージャとは 縦書きに出力するためのプロシージャで フィールドを新たに作って住所の数字を漢数字 にしたり敬称を付けたりしています。 客先から支給されるデータはおもにエクセルですが ファイル名は社長交代、移転、役員改選とか25年度 案内状などなど千差万別ですがこれをアクセスのテーブルに 取り込んで目的のフィールドを変換しますが 現在はJLISTというテーブルにリネイムしてから 変換しています。が変換後これをまたリネイムしておかないと どれがどれだかわからなくなってしまっています。ので できるだけ元のデータ名を残し変換したいのですが 他のファイルならDIRを使えるのですが 変換のボタンをクリックしたらリストボックスが出て テーブルを選ばせればその方がいいですね でもテーブルを表示するダイアログはないのですかね

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

No2です。 残念ながら直接テーブルを表示するような ダイアログは無かったと思いますが。 ファイルの選択、ディレクトリの選択、色の選択などが 精一杯だと思います。

すると、全ての回答が全文表示されます。
  • 007MUKADE
  • ベストアンサー率41% (286/694)
回答No.1

テーブル構造が 解りませんが・・・・ ”案件毎のテーブル”を造る・・・と云う意図が解りません。 別途 ”案件テーブル”(案件ID、案件名称、更新日 等のフィールド)  を造り 此のテーブル自体に ”案件ID”のフィールドを設けてやれば クエリーの検索絞り込みや コンボボックス の利用で お望みの 事が出来るのでは・・・? 但し 取り込むデーターは 使用中のテーブルプロパティーに合わせる 必要は ありますが・・・ >フォーム上にはテーブルを変換するイベントプロシージャーがすでにできています。 がこれに該当したプロシージャーでしょうか? 頑張って下さい。もう少し・・の感じです。

すると、全ての回答が全文表示されます。

関連するQ&A