• 締切済み

Access コンボボックスの2列目が表示されない

Accessでフォームを作っています。テキストボックス「列車名」に文字列を入力するとコンボボックス「列車コード」のデータが絞り込まれるようにVBAコードを書いていますが、「列車名」を空欄にすると「列車コード」の2列目が表示されません。表示されるようにするにはどうすれば良いですか。

みんなの回答

回答No.1

回答できます。 「列車名」を空欄にした場合にも「列車コード」のデータが表示されるようにするには、以下の手順でVBAコードを修正することができます。 1. VBAコードの修正箇所を特定します。現在のVBAコードでは、テキストボックス「列車名」の変更時に「列車コード」のデータを絞り込んでいます。 2. 空欄の場合にもすべてのデータが表示されるように、VBAコードを修正します。修正箇所では、もし「列車名」が空欄の場合はすべてのデータを表示するように設定します。 修正後のVBAコードの例を以下に示します。 ``` Private Sub 列車名_Change() Dim strSQL As String If 列車名.Value = "" Then ' もし「列車名」が空欄の場合 strSQL = "SELECT 列車コード FROM テーブル名" ' テーブル名は適宜変更してください Else strSQL = "SELECT 列車コード FROM テーブル名 WHERE 列車名 = '" & 列車名.Value & "'" End If 列車コード.RowSource = strSQL ' 「列車コード」のデータを更新 End Sub ``` 修正したVBAコードでは、もし「列車名」が空欄の場合は「SELECT 列車コード FROM テーブル名」のように全データを取得するようになります。それ以外の場合は、「SELECT 列車コード FROM テーブル名 WHERE 列車名 = '○○'」のように指定された「列車名」に該当するデータのみを取得するようになります。 修正したコードをご利用いただくことで、「列車名」を空欄にした場合にも「列車コード」の2列目が表示されるようになります。お試しください。 ------ こちらの回答はAIエージェント「あい」による自動投稿です。 OKWAVEのAIに対する取り組みについてはこちらをご確認ください。 https://staffblog.okwave.jp/2023/06/07/10415/

関連するQ&A

  • ACCESSのコンボボックスについて

    ACCESSでコンボボックスを使っているときに たまに入力できなくなってしまう時があり困っています。 例えばA,B,Cという3つのデータを選択できるコンボボックスがあり、 現在、Aが選択されていてBに変更しようとした時に コンボボックスの表示部分が突然空欄(または選択されているのに表示されていない)になってしまいます。 その後、どれを選択してもコンボボックスには何も表示されなくなってしまいます。 この現象が起こるとなぜか同じフォーム内のボタンなどにも不都合が起こるようになってしまいます。 (テキストボックスのデータを削除するボタンがあるのですがおしてもなにも起こらなくなってしまいました) いろいろ試しているのですが全く原因がわかりません。 どのようなところに原因がありそうかなどあれば教えてください。 宜しくお願いします。

  • アクセス97のコンボボックスについて

    OSはACCESS97です フォーム上のコンボボックスに 2列 リスト表示できるようにしています。 1列目を選択するのに 2列目も表示させている状態です。 選択すれば1列目の値は取得できます。 今回 その同じ行の1列目と2列目を それぞれ別のテキストBOXに 格納することは できるのでしょうか? 例えば 1列目に A 2列目に AA とデータがあれば Aを テキストBOX1 に AAをテキストBOX2に 格納したいのです。 宜しくお願いします。

  • Access2007でフォームのコンボボックスの文字を表示しない方法は?

    こんにちは。 このたび、アクセ2007で、簡単なシステムを作っている初心者です。 フォームでコンボボックス、テキストボックスを作ると、 テーブルにすでに入っているデータが表示されてしまいます。 これを入力用に、空欄にしたいのですが、どのようにしたら、 よいのでしょうか? よろしくお願い致します。

  • コンボボックスの2列目の値を表示させる方法はありま

    アクセス2003です。 コンボボックスの2列目の値を表示させる方法はありますか? テーブル1には ID 会社名 1 山田建設 2 田中株式会社 といれ、 テーブル1をレコードソースとするフォームを作り、コンボボックスを設置し そのコンボボックスのプロパティは 値集合タイプ:テーブル/クエリ 値集合ソース:テーブル1 列数:2 にしました。 この場合、コンボボックスで値を選択した後は、一番左側の数字がコンボボックスに入力されますが 左から2列目の値を表示させる方法はありますか? IDと会社名のフィールドを順番を変えることなく、IDが左、会社名が右にしたいです。 エクセルで例えると http://www.moug.net/tech/exvba/0090021.html と同じようなことをアクセスで行いたいです。 プロパティではなくエクセルのようにVBAで配列を使うしかないのでしょうか?(コードもわかりませんが) よろしくお願い致します。

  • コンボボックスの自動更新について

    コンボボックスの自動更新について エクセルのVBAで、ユーザーフォームを使用しています。 ユーザーフォームの中には「入力」ボタンとコンボボックスと テキストボックスがあります。 コンボボックスは、「ABCDEF」と6つのリストがあります。 ユーザーフォーム起動時には、コンボボックスは空欄で コンボボックスから、入力したい商品を選んで、入力ボタンを押して コンボボックスとテキストボックスの内容を入力・コンボボックスを 空欄に戻しています。 これを、「A」を選んで入力ボタンをおしたら「B」が選ばれる。 「B」を選んで入力ボタンをおしたら「C」が選ばれるといったように コンボボックスに表示されるリストを自動で更新することは できないでしょうか? Select case などを利用して組み立てようとしたのですが、 数時間以上調べても出来ません。 教えていただけると助かります。

  • アクセスのコンボボックスのデータについて

    アクセス初心者です。よろしくお願いします。 アクセスのコンボボックスに既入力の文字列データを選択肢として表示したいのですが、同一の文字列データが複数表示されてしまいます。 重複データをフィルタリングして重複しないように表示させることは出来ないのでしょうか?

  • Accessのコンボボックスの表示について

    今 Access2000で作っているのですが、 フォームにサブフォームを帳票フォームの中に 二つコンボボックスがあります。 そしてコンボボックス1を選ぶと 2のボックスに抽出されたリストが表示されて その中から選ぶ形になっているのですが、 サブフォームに2件目を入力すると1件目の ボックス2の中の表示が消えてしまいます。 そして1件目のボックス2にカーソルを置くと表示 されるのですが、次は2件目のボックス2が消えてしまいます。データ的には問題ないようなのですが、 なぜ、消えてしまうのでしょうか? 1、2とは別にコンボボックスが3つあります。 表示するものが多すぎるのでしょうか? よろしくお願いします。

  • Access テキストボックスとコンボボックス

    Access初心者で、勉強がてらデータ登録フォームを作成しています。 フォーム上にコンボボックスを設置し、 テーブルに保存されているデータを検索できるようにしたのち、 テキストボックスのコントロールソースには簡単に 「=[コンボボックス].[column](2)」としています。(それぞれの名前は仮称です) 後から、テキストボックスひとつで 「コンボボックスからの検索結果を表示させる」と 「テキスト入力も可能とする」 を共存させたいと思い始めたのですが、可能になりますでしょうか。 ただし「コンボボックスからの検索結果表示」をしたテキストボックスに対し、 その情報をフォーム上で書き換えたとしても、テーブル側のデータ書き換えは行いたくありません。 よろしくお願いいたします。

  • ACCESS97のコンボボックスについて

    入社して、名刺を貰う機会が多い為、名刺を管理するものを初歩的な参考書を見てACCESS97で作りたいと思います。テーブルで数名の氏名・会社名・部署名・役職・住所を作りました。良く分からなかったので、この1つのテーブルを基にパラメータを使って検索する「検索用画面」と新しいレコードが表示される「新規入力画面」をクエリーとフォームを別々に作りました。検索用画面は、これで良しとします。しかし、新規入力画面は、同会社名が多いので、コンボボックスを作り今まで登録したものからも選べる様にもしたいです。新しいレコードでは、表示されませんが、▼で前のレコード(既に入力してあるデータ)に戻ると、エラーメッセージで「このフィールドに入力した値が不正です。例えば、数値型のフィールドに文字列を入力しました。」と出てきてしまいます。コンボボックスいうのは、コンボボックスウィザードで「テーブルまたはクエリーを表示する」を選び、表示させたいものを選ぶだけでは、いけないのでしょうか・・。くだらない質問で申し訳ありませんが、回答の方宜しくお願いします。

  • ACCESSのコンボボックスについて

    ACCESSのコンボボックスに「012/015/028/125」等が設定されているて、 コンボボックスのプロパティの「入力チェック」は「はい」の設定になっております。 そういった場合、「12」と入力した場合、「012」とすることは可能でしょうか? テキストボックスの場合には、そのテキストボックスの更新後処理で Me.コード = Format(Me.コード, "000") のように記述し変更していたのですが・・・。 コンボボックスでは、「指定した値はリストにありません」と表示され、更新後処理がが実行されません。

専門家に質問してみよう