• ベストアンサー

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

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

  • cdma
  • お礼率36% (91/247)

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

Column()で出来ませんか。 エクセルVBAでListBoxの例ですが下記で上手く出来ました。参考までに。 A1:B6に下記データを入れ,FillListRangeはA2:b6(AdditemやListに当たる),ColumnCountは2とする。 番号 氏名 11 山田 12 鈴木 13 田中 14 佐藤 15 今中 リストボックス外観は上記と同じ。 Private Sub ListBox1_Click() Cells(10, 1) = Sheet1.ListBox1.Column(0) Cells(10, 2) = Sheet1.ListBox1.Column(1) End Sub 14 佐藤の行をクリックすると A10:B10が 14 佐藤 となりました。 アクセスのコンボボックスに置き換えて、セルをTextBox1.Text等に 置き換えてみてください。 しかし苦労しました。

その他の回答 (1)

  • tiga-
  • ベストアンサー率19% (5/26)
回答No.2

テキストBOX1とテキストBOX2がテーブルとリンクしているかどうかで違ってくると思います。 非連結なら、計算式でいいでしょうし、テーブルにリンクしているならVBAあるいはマクロになると思います。 (私はマクロを使ったことがないので具体的にはわかりません) VBAの場合は、imogasiさんの感じでいいと思います。 私ならこんな感じですが。 private sub リスト_AfterUpdate() if isnull(me.リスト) then me.テキストBOX1=Null me.テキストBOX2=Null else me.テキストBOX1=me.リスト.column(0) me.テキストBOX2=me.リスト.column(1) end if end sub 単に表示するだけなら、テキストBOX1のソースに =IIf(isnull(リスト),"",リスト.column(1)) かなと思います。 なお、Nullの判定をしなくてもいいのかもしれませんが、今までNullのためにいろいろエラーが出たので、必ず判定する癖がつきました。 また、テーブルにリンクしている場合は、フィールドのプロパティで空文字の許可がされていない場合はNullではなく、""を代入しないとエラーになると思います。 デバッグしていないので、あんまり自信はありませんが経験上何とか動く気がします。 きっと、違う場合は、もっと詳しい人が説明してくれると思いますのでお許しください。

関連するQ&A

  • Accessレポートでコンボボックスが動かない

    Access2010のレポートでコンボボックスを使いたいのですが、コンボボックスが正しく表示されず困っています。 表示されないというのは、コンボボックスのリストを選択する逆三角形が表示されず、またリストも全く表示されません。つまりテキストボックスのように空のの四角い箱が表示されてしまいます。 表示したいリストはあるテーブルから引っ張っているのですが、全く同じことをリストボックスでやろうとするとすべての項目がうまく表示できることは確認しました。 またフォームの方ではコンボボックスをから項目が選択できることも確認できています。 レポートではコンボボックスが使えないような仕様になっているのでしょうか? お分かりになる方教えていただけますでしょうか?

  • コンボボックスの値が消えてしまいます。

    コンボボックスの値が消えてしまいます。 フォーム(1)にコンボボックスA(値集合ソースはテーブル1)があります、この リスト外入力時で別フォーム(2)(レコード追加用)を開きテーブル1にレコードを追加、 フォーム(2)を閉じる時にコンボボックスAをリクエリかけてフォーム(1)に戻るとコンボボックスAが空になっているのでリストを開き選択し直さなければいけません! フォーム(1)に戻った時コンボボックスAに入力した値を選択させておくにはどの様にすれば良いか アドバイスよろしくお願いいたします。 WIN XP ACCESS 2003で作成しています。

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

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

  • アクセス コンボボックス値をレポートに反映

    アクセス初心者の為、やりたい事を検索しコードコピー等真似ることで どうにか作っている状態です。 現在あと一歩のところでつまずいてしまったのでお力添え頂けると助かります。 環境:アクセス2003 ------------------------------------------------------------------------------ フォームのコンボボックスで表示された値と一致するレコードを下にあるテキストボックスで表示  ⇒レポートにその値を反映させたい ------------------------------------------------------------------------------ フォーム上: 送付先:「A社」 (コンボボックスで選択) 担当者:「Aさん」 (コンボボックスで選択するとテキストボックスで表示) 現在の状況: フォーム上ではコンボボックスの値、その値と一致するレコードを該当テーブル(T_送付先)から テキストボックスに表示されている。 レポート上でだけ何故か送付先の部分が元テーブル(T_送付先) の送付先ではなく(フォームでは表示されてるのに) 数字が代わりに表示されてます。 担当者のテキストボックスにはフォームと同様に表示されてます。 ------------------------------------------------------------------------------ フォーム上にある送付先のコンボボックスには↓ Private Sub コンボ8_AfterUpdate() ' コントロールの値と一致するレコードを検索する Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[ID] = " & Str(Nz(Me![コンボ8], 0)) If Not rs.EOF Then Me.Bookmark = rs.Bookmark End Sub ------------------------------------------------------------------------------ フォームの送付先を表示するテキストボックスには↓ =[Forms]![F_送付先]![コンボ8] ------------------------------------------------------------------------------ フォーム上のコンボボックス、コンボ8のプロパティ 値集合ソース: SELECT T_送付先.ID, T_送付先.送付先 FROM T_送付先; 連結列: 1 ------------------------------------------------------------------------------ テーブル(T_送付先)の一列目にID項目がありオートナンバー設定してあります。 その値が表示されてる気がします・・・ 他にもコンボボックスを使用してますが、全部レポートには表示されています。 コントロールの値と一致するレコードを検索するこのコンボボックスだけが 表示されない為コードが影響しているのかな・・と考えられますが お手上げ状態です・・・ どなたかアドバイス頂けると助かります。 よろしくお願いします。

  • VBA コンボボックス リスト表示について

    初心者ですいません エクセル VBAのフォームでコンボボックス3つと、テキストボックス3つがあります シートのListにA~F列までのデータがあり、コンボボックス1にA列のリストを表示し コンボボックス2にA列で選んだリストを参照したB列のリストを表示し、コンボボックス3 にコンボボックス1,2で選んだリストを参照し、C列のリストを表示した後、 コンボボックス1,2,3で選ばれたもののD列、E列分をテキストボックス1,2に 反映しようと思っておりますがうまくいきません どのようにしたらよいか、おしえてください 宜しくお願いします ちなみに、リストの内容は A列   B列   C列     D列   E列 テレビ 42インチ  HDD内蔵  台    100,000 テレビ 32インチ  BD内蔵   台     80,000 テレビ 19インチ          台     50,000 ビデオ HDD   1TB     台    100,000   ビデオ HDD   500GB    台     80,000 ビデオ BD            台     70,000 が、入ってます 希望は、質問の際のカテゴリ選択のようになればよいのですが... さらに、希望を言えば、自動で、行ごとに1,2,3...と番号を振るようにしており スピンボタンで番号を選べば、登録された上記のデータをフォームに反映させるようにしております これもうまくいきません お願いばかりで申し訳ありませんが 宜しくお願いします

  • アクセスのコンボボックスウィザードについて。

    アクセスのコンボボックスウィザードで、 進んでいきますと、 最後から3番目の画面で、 『コンボボックスで行を選択すると、 その行の値をデーターベースに保存したり、 値をあとで使うことができます。 一意に行を特定できるフィールドを選択してください。 データベースに保存または使用する値は、 コンボボックスでどの列に含まれていますか?』 と出てくるのですが、 これのメッセージの意味が分かりません。 主キーになっているものを選ぶ必要がある、と 聞いたことがあるのですが、 どういうことなのでしょうか? 主キーじゃないものを選ぶとどうなるのでしょうか? どのフィールドを選択しても、 画面上では何も変わらないのでさっぱり意味が分かりません。 初心者です。 どうか宜しくお願い致します。

  • Accessで、コンボボックスから2つの値を返す方法

    Accessで、コンボボックスから2つの値を返すことはできるでしょうか。 たとえば、 名称|CODE1|CODE2 ------------------ いち|11111|AAAAA にい|22222|BBBBB さん|33333|CCCCC というクエリを値集合ソースにしたコンボボックスで、 「いち」の行を選択したら、 CODE1の「11111」をテキストボックスAへ、 CODE2の「AAAAA」をテキストボックスBへ 入れたいのです。 このようなことは可能か不可能か、 もし可能ならどのようにすればいいのか、 教えて頂けないでしょうか。

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

    2007です。いつもお世話になります。 フォーム上にチェックボックスがあります。 チェックが入った時点で同じフォーム上のコンボボックスのリストから特定のものを選択したいです。 しかし、チェックか゛入っていなければそのコンボボックスのリストから特定のものを除いたものを選択するようにする・・出来るでしょうか? チェックありならばコンボボックスの値集合ソース1.2.3の内の2だけを チェックなしならばコンボボックスの値集合ソース1.2.3の内の1.3だけしか選択出来ない というイメージです。 分からないなりに =IIf([チェック1]="true","1,"2" Or "3") にしたら、リストから選択どころか、-1という数字が出てきてしまいました。

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

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

  • Access コンボボックスの複数選択

    Access2007を勉強中の初心者です。 「空白のフォーム」から作成したコンボボックスで、複数選択が可能になるような設定はありませんか? テーブル項目の「ルックアップ」「複数の値を許可」を許したテーブルから作成したフォームでは、コンボボックスで複数の値を選択可能になりますが、「空白のフォーム」から作成した場合にはできないのでしょうか。 リストボックスではスペースをとってしまう為、コンボボックスで行いたいです。 言葉足らずな内容かもしれませんし、大変お手数をおかけしますが、よろしくお願いいたします。

専門家に質問してみよう