• ベストアンサー

テーブルをコンボボックスで選びたい

いつも、お世話になっています。お願いします。 1つのフォームで複数のテーブルにデータ入力をしたいのです。 テーブルに、平成14年1月、平成14年2月、・・・、と 毎月分あります。 現在は、コマンドボタンを作成して、以下のようにしてます。 Private Sub コマンド1_Click() Me.RecordSource = "平成14年1月" End Sub Private Sub コマンド2_Click() Me.RecordSource = "平成14年2月" End Sub これですと、テーブルの数のコマンドボックスが必要ですので、 ちょっと、煩雑に見えています。 コンボボックスを作って、 テーブルを選べるようにしたいのですが、 式ビルダとか、見ているのですが、出来ません。 お教えください。お願いします。

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

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

コンボボックスをcboTableNameとして、 Private Sub cboTableName_Change() Me.RecordSource = Me![cboTableName].Text End Sub ――ってのでどうでしょう?

yama3desu
質問者

お礼

コンボボックスの名前をcboTableNameとしました。 よく分からないので、イベントタブのところは、 変更時の[イベント プロシージャ]にお教えいただいた ように、記述をしましたが、コンボボックスにテーブル名が、何も出てきません。 プロパティのデータタブのところの コントロールソースには何を入れたらいいのでしょう。 などなど、分かりません。お願いします。

その他の回答 (2)

回答No.3

Access2000での前提でお答えします。 コンボボックスの値集合ソースに何もいれないと、表示されません。 (1)まずは、テーブル名を入れたテーブル(テーブル名は、仮に”平成テーブル名”としておきます。)を作成してください。 作成したテーブルのフィールドは、ID(オートナンバー型)、テーブル名(テキスト型)として、テーブル名フィールドに平成14年1月、平成14年2月、・・・と入力してください。 (2)コンボボックス(cboTableName)のプロパティで、値集合ソースを SELECT [平成テーブル名].[ID], [平成テーブル名].[テーブル名] FROM 平成テーブル名; とします。 列数は2、連結列は1としておきます。 (コンボボックスを最初から作成すると、ウイザードで指定できるので簡単ですが・・・) (3)コンボボックス(cboTableName)の更新後イベントに次のような処理を入力します。 Private Sub cboTableName_AfterUpdate() Dim strテーブル名 strテーブル名 = Me.cboTableName.Column(1) Me.RecordSource = strテーブル名 End Sub 'もし、テーブル名フィールドが、1番目ならColumn(0)、3番目ならColumn(2)としてください。 とりあえずは、これでできますので、お試しください。ご参考になれば幸いです。

yama3desu
質問者

お礼

ShadowMoonさん、ありがとうございます。 お教えどおりにやりましたが、当方が未熟ゆえに、 完了できませんでした。 コンボボックスに、SELECT [平成テーブル名].[ID]と出ます。 クリックすると、以下のエラーが出ました。 実行時エラー '3078': 入力テーブルまたはクエリ 'SELECT [平成テーブル名].[ID]' が見つかりませんでした。そのテーブルやクエリが存在していること、 または名前が正しいことを確認してください。 デバッグを押下すると、 Me.RecordSource = strテーブル名 の行を示します。 もっと、引き続いてお教え願いたいのですが、 ご迷惑をお掛けしそうなので、辞めておきます。 どうも、ご丁寧にありがとうございました。失礼します。m(_ _)m

  • harumimi
  • ベストアンサー率46% (51/109)
回答No.2

コンボボックスの指定の仕方は、 cboTableNameのプロパティで、   [値集合タイプ] = 値リスト   [値リスト] = "平成14年1月";"平成14年2月";"平成14年3月" と指定します。 [コントロールソース]は、何も指定せずに非連結で良いと思います。 それで、No1の方の回答のコードも指定します。

yama3desu
質問者

お礼

harumimiさん、ありがとうございます。出来ました。 感激しています!本当に、アドバイスを頂き、 ありがとうございました。m(_ _)m

関連するQ&A