コンボボックスから得意先コードを選択した時に、名が自動入力されるにはどうしたいいのか教えて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

コンボボックスに値を格納するか、別のテキストボックスに格納するかによって違ってきます。



1.コンボボックスに格納する
コンボボックス作成ウィザードでリストに表示する値を得意先コードと得意先名の両方にします。するとコンボボックスに格納する値を聞いてきますので、得意先名を指定してください。

2.別のテキストボックスに格納する
上記の方法で得意先コードを保存してください。別のテキストボックスのコントロールソースに「=iif(Isnull(**2),"",Dlookup("得意先名","得意先マスター","得意先コード" = Forms!**1!**2))」と入力してください。(**1はフォーム名 **2はコンボボックス名)
これは**2がNULL(空白)でなければ、得意先マスターの得意先名を**1フォームの**2コンボボックスの値で抽出して表示しなさい。とい命令です。

コードをいじれるともっといろんなことが出来ますよ。
もしうまくいかなかった場合、コメントを下さい。
    • good
    • 0
この回答へのお礼

こんにちは。。
回答ありがとうございました。自動入力することができました (^o^)

コードを入力した時に、得意先名が自動入力された時は、「あ~っ!」て感動しちゃいました。。。

それと、もうひとつ教えて下さい、コードを入力しないと次に進めないようにするのにはどうしたらいいのですか。

それでは、よろしくお願いします。(^o^)丿

お礼日時:2001/09/25 16:44

アクセスでのことでしょうか?


あとはコンボボックスの設定等はどうなっているのでしょう?集合値ソースなど

この回答への補足

回答ありがとうございます。 すみません。すっごく初心者で、、、
そうですアクセスです。
値集合ソースは、SELECT得意先マスター.得意先コード.得意先マスター.得意先名FROM得意先マスター; となってます。。。 

よろしくお願いします。。

補足日時:2001/09/23 21:03
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QAccess2000で、コンボボックスの値から自動入力させる。

http://oshiete1.goo.ne.jp/kotaeru.php3?q=140115
の回答を参考に、自分なりに変更させてやってみたところ、変な結果になってしまいました。

今現在の状態としては、
「支払先テーブル」というものがあり、
No  支払先名1  支払先名2
というフィールドがあります。

また「フォーム1」というフォームがあり、
そちらには
支払先No  支払先名1  支払先名2  テキスト1
というフィールドがあります。

フォーム1の支払先Noはルックアップになっていて、選択すると、「支払先テーブル」のNo・支払先名1・支払先名2のすべてが出てきて、どれかを選ぶと、Noが出るようになっています。

希望としては、上記に書いた、フォーム1の支払先Noで、選択すると自動で支払先名1、支払先名2に自動で入力されるようにしたいのです。


一番最初にもかいたように、参照ページをみながらやったので、ためしに、新しいフィールドをフォームに作成しました。(テキスト1)
こちらのコントロールソースに
=DLookUp("支払先名1","支払先テーブル","No"=[Forms]![フォーム1]![支払先No])
と入力して、実行したところ、「支払先No」が空欄の場合だけ、一番最初の「支払先名1」が出てきて、支払先Noが入っているところは空欄になってしまいました。

一体どこが間違っているのでしょうか?
よろしくお願いします。

http://oshiete1.goo.ne.jp/kotaeru.php3?q=140115
の回答を参考に、自分なりに変更させてやってみたところ、変な結果になってしまいました。

今現在の状態としては、
「支払先テーブル」というものがあり、
No  支払先名1  支払先名2
というフィールドがあります。

また「フォーム1」というフォームがあり、
そちらには
支払先No  支払先名1  支払先名2  テキスト1
というフィールドがあります。

フォーム1の支払先Noはルックアップになっていて、選択すると、「支払先テーブル」のN...続きを読む

Aベストアンサー

失礼しました。

私は、更新後処理のイベントプロシージャで次のようにやっています。

参考になれば

Private Sub 支払先No_AfterUpdate()
me![支払先名1] = me![支払先No].Column(1)
me![支払先名2] = me![支払先No].Column(2)
End Sub

Qコンボボックスで選択実行後、次を選択

いつもお世話になっていますm(__)m
オフィス系で回答を得られなかったため
あちらを削除してこちらに移動してきました。
アクセス2000で在庫管理・発注書フォームを作っているアクセス初心者です。
発注書フォーム内で
サブフォームの発注明細に入力するため、
メインフォームで連動するコンボで、絞込みをしながら商品を選択
(大項目・中項目・小項目と3つのコンボで商品を絞込み)すると
サブフォーム内のコンボボックスに小項目まで絞り込まれた商品数点が表示され、(4つめの絞込み)
そこで選択すると、
見た目一行の状態で(1レコード)、
IDや単価などの詳細がそれぞれのテキストボックスに表示、
数量を選択するとこの商品の小計金額を表示するという形になっています。(意味が伝わるでしょうか。。?^^;)
最後の項目まで行き、enterキーを押すと
次の新規レコード(2行目)に移動するのですが
そこで、大項目のコンボボックスから選択しようとすると
最初のレコード(1行目)に戻ってしまいます。

理想としては商品を選択し、数量など最終項目まで入力してenterキーを押すと、
次の行(次のレコード)に移動すると同時に
メインフォームのコンボボックスが空白の状態になって
また再度選択したものが2個目のレコードに反映される。。
という形にしたいのですが
どうもうまくいきません。

説明がうまくできなくて恐縮ですが
どなたかご教授のほどよろしくおねがいします。。

いつもお世話になっていますm(__)m
オフィス系で回答を得られなかったため
あちらを削除してこちらに移動してきました。
アクセス2000で在庫管理・発注書フォームを作っているアクセス初心者です。
発注書フォーム内で
サブフォームの発注明細に入力するため、
メインフォームで連動するコンボで、絞込みをしながら商品を選択
(大項目・中項目・小項目と3つのコンボで商品を絞込み)すると
サブフォーム内のコンボボックスに小項目まで絞り込まれた商品数点が表示され、(4つめの絞込み)
そこで選択...続きを読む

Aベストアンサー

>サブフォームをさわるとレポートまで影響するのか気になったので
フォームの変更がレポートに影響したりはしません
テーブルやクエリをさわると大変ですけどね

>帳票にしても うまくコンボの選択は働きませんが
帳票にしただけでうまくいくようになる訳じゃありません
帳票なら仕掛けを組み込めるようになるということです

メインフォームに非連結のコンボボックスを置く方法ですと
サブフォームとの連携が面倒です
大項目、中項目もサブのソースの方に取り込んでしまう方が簡単なのでそれで説明しますね

サブのソースである発注明細テーブルを下のようなものにします

●発注書明細
「明細コード」「発注書コード」「大項目」「中項目」「商品コード」「数量」「摘要」
この大項目、中項目をフォームで上ではコンボボックスにするのです
非連結でなくテーブルに連結していますから、新規レコードでは自動的に空欄になります

絞り込みは同じように行ってください
絞り込みのタイミングは上位コンボボックスの更新後とレコード移動時の2つです

帳票フォームですからあるレコードの大項目、中項目にあわせて絞り込みを行うと
他のレコード下位の項目の表示が出来なくなります
ですから中項目、商品コードは同じソースで絞り込みを行わないコンボボックスを作り
絞り込みを行うコンボボックスの下にぴったり重ねておきます
絞り込みを行う方は背景を透明にしておきます

以上です
納得がいくまで、簡単なものを作っていろいろ試してみてください

>サブフォームをさわるとレポートまで影響するのか気になったので
フォームの変更がレポートに影響したりはしません
テーブルやクエリをさわると大変ですけどね

>帳票にしても うまくコンボの選択は働きませんが
帳票にしただけでうまくいくようになる訳じゃありません
帳票なら仕掛けを組み込めるようになるということです

メインフォームに非連結のコンボボックスを置く方法ですと
サブフォームとの連携が面倒です
大項目、中項目もサブのソースの方に取り込んでしまう方が簡単なのでそれで説明し...続きを読む

Q★アクセス コンボボックスの選択内容

この教えてgooで質問をする時にステージ選択をしますが、
ステージ1で何を選択するかによって。次のステージ2での選択内容が変わっていく、というようなコンボボックスは、アクセス2000で作れますか?

Aベストアンサー

フォーム上にコンボボックスが 2個あり、
最初のコンボボックス(名前を コンボ1 とします。)に
1 から いくつかの 数値が 入っているとして
その数値により、
次のコンボボックス(名前を コンボ2 とします。)の
内容を 変える VBAです。

コンボ1 の値が 1 から 3 の時、
コンボ2 は テーブル2 から テーブル4 の 
aaaフィールドの 値を 表示します。

コンボ1 の値が 4 の時には、表示する値を
この場でセットしています。

コンボ1 の値が 1 から 4 の中に含まれない場合には、
コンボ2 には "値が不正です。" と 表示させます。
--------------------------------------------------
Private Sub コンボ1_AfterUpdate()

Select Case Me.コンボ1.Value
Case 1
Me.コンボ2.RowSourceType = "Table/Query"
Me.コンボ2.RowSource = "SELECT [テーブル2].[aaa] FROM テーブル2;"
Case 2
Me.コンボ2.RowSourceType = "Table/Query"
Me.コンボ2.RowSource = "SELECT [テーブル3].[aaa] FROM テーブル3;"
Case 3
Me.コンボ2.RowSourceType = "Table/Query"
Me.コンボ2.RowSource = "SELECT [テーブル4].[aaa] FROM テーブル4;"
Case 4
Me.コンボ2.RowSourceType = "Value List"
Me.コンボ2.RowSource = "000;111;222;333;444;555"
Case Else
Me.コンボ2.RowSourceType = "Value List"
Me.コンボ2.RowSource = "値が不正です。"
End Select

End Sub
--------------------------------------------------

フォーム上にコンボボックスが 2個あり、
最初のコンボボックス(名前を コンボ1 とします。)に
1 から いくつかの 数値が 入っているとして
その数値により、
次のコンボボックス(名前を コンボ2 とします。)の
内容を 変える VBAです。

コンボ1 の値が 1 から 3 の時、
コンボ2 は テーブル2 から テーブル4 の 
aaaフィールドの 値を 表示します。

コンボ1 の値が 4 の時には、表示する値を
この場でセットしています。

コンボ1 の値が 1 から 4 の中に...続きを読む

Q同一値集合ソースの複数コンボボックスでプルダウンメニューに既入力値を再表示させない

まだ6ヶ月程度のAccess初心者です。データ入力上の誤入力を避けたいのですが方法がわからず悩んでいます。初心者で、未だ基本的な理解ができていないためだと思いますが、どなたか解決法をご教授いただければありがたく存じます。
 1つのフォーム上に複数のコンボボックスを用意して、同じ値集合ソース(テーブル)を参照して入力をしようとしています。
 このとき、まず、コンボボックス1に、参照しているテーブルから”DATA1”という値を入力したとき、次のコンボボックス2のプルダウンメニューには、先の”DATA1”を表示しないように、SQLステートメント:クエリビルダの抽出条件を設定しようと考えています。
 このフォームにはコンボボックスを全部で4つ用意して、順次入力の都度、入力済みのデータはプルダウンメニューに表示しないようにし、重複を避けたいというのが目的です。
 
 コンボボックス2の値集合ソースとして設定する際に、SQLステートメント:クエリビルダの抽出条件に記載したものは次のようなものです。

<>[Forms]![フォーム1]![コンボボックス1]  And  <> [Forms]![フォーム1]![コンボボックス3]  And  <>[Forms]![フォーム1]![コンボボックス4]

 ほかのコンボボックス3~4にも、自分以外のコンボボックスと重複させないつもりで、それぞれ抽出条件を入力しました。

 さて、実際にこれで動かしてみると、1回目はうまくいって喜んだのですが、入力値をDeleteして再入力を試みたところ、リストボックスが何も表示されない状態になり、悩んでいます。
 何か設定上で不足している、あるいは論理上で考え違いをしているのだと思いますが、何とか解決したいと切に思っています。何卒よろしくお願いします。

まだ6ヶ月程度のAccess初心者です。データ入力上の誤入力を避けたいのですが方法がわからず悩んでいます。初心者で、未だ基本的な理解ができていないためだと思いますが、どなたか解決法をご教授いただければありがたく存じます。
 1つのフォーム上に複数のコンボボックスを用意して、同じ値集合ソース(テーブル)を参照して入力をしようとしています。
 このとき、まず、コンボボックス1に、参照しているテーブルから”DATA1”という値を入力したとき、次のコンボボックス2のプルダウンメニューには、先の...続きを読む

Aベストアンサー

[フィールド名]<>[Forms]![フォーム1]![コンボボックス1]
は、[コンボボックス1] が空白の場合に
True でも False でもなく Null になります。
Null と ある値の And 演算の結果は Null になります。
(VBE のヘルプで「And 演算子」を調べてください。)
よって、1つでも未入力のコンボボックスがあると
抽出条件に 「Null」 と書いたのと同じことになってしまいます。

これを回避するには、空白の場合に Null にならないように
Nz 関数を使います。

<>[Forms]![フォーム1]![コンボボックス1]

<>Nz([Forms]![フォーム1]![コンボボックス1] ,"")
のようにしてください。

Nz 関数についてもヘルプで調べてください。

なお、入力するたびに、コンボボックスのリストが変化するように、
下記のような、再クエリの処理が必要なのは、言うまでもありません。
念のため。

Private Sub コンボボックス1_Enter()
  Me.ActiveControl.Requery
End Sub

[フィールド名]<>[Forms]![フォーム1]![コンボボックス1]
は、[コンボボックス1] が空白の場合に
True でも False でもなく Null になります。
Null と ある値の And 演算の結果は Null になります。
(VBE のヘルプで「And 演算子」を調べてください。)
よって、1つでも未入力のコンボボックスがあると
抽出条件に 「Null」 と書いたのと同じことになってしまいます。

これを回避するには、空白の場合に Null にならないように
Nz 関数を使います。

<>[Forms]![フォーム1]![コンボボックス1...続きを読む

Qコンボボックスのリスト外入力について(Access2002)

お世話になっております。
ひとつお聞きしたいのですが、Accessのコンボボックスプロパティの「リスト外入力」の設定のしかたが分かりません。
コンボボックスを非連結にして、コンボボックスより選択してフィルタをかける動作と、コンボボックスに値がなかったらコンボボックスに直接入力して新しい値を元に新規にレコードを追加すると言ったロジックを組み込みたいのですが可能でしょうか?よろしくお願いいたします。
まとめると、
(1)コンボボックスより値を選択して、フィルタをかける。
(2)コンボボックスに値が無かったら、コンボボックスに直接入力して新規レコードとして、レコードを追加する
こう言った、流れでの作業です。

Aベストアンサー

自分はAccess2000ですのでちょっと違うかも知れませんが・・・

まず、OnNotInList/リスト外入力時イベントは、、"LimitToList/入力チェック" プロパティに [Yes/はい] が設定されている場合のみ発生します。
そして、LimitToList/入力チェック" プロパティに [Yes/はい] が設定されている場合、一覧の選択項目にないテキストを入力することはできません。

これを考慮すると、次のようにすれば、リスト以外の項目が入ったときは、元のリストの一覧に追加できます。

(1)"LimitToList/入力チェック" プロパティに [Yes/はい] を設定

(2)OnNotInList/リスト外入力時イベントに次のような処理を行う。
Dim rst As New ADODB.Recordset

Set rst = New ADODB.Recordset
rst.Open "コンボボックスの元テーブル名", CurrentProject.Connection, adOpenKeyset, adLockOptimistic

rst.AddNew
rst![追加するフィールド名] = NewData
rst.Update

rst.Close
Set rst = Nothing

Me.コンボボックスのコントロール名 = ""
Me.コンボボックスのコントロール名.Requery

とすれば、コンボボックスの元リストに新しい項目を追加できます。

フィルタをかけたければ更新後イベントでフィルタの処理をいれればよいと思います。

とりあえずご参考まで。

自分はAccess2000ですのでちょっと違うかも知れませんが・・・

まず、OnNotInList/リスト外入力時イベントは、、"LimitToList/入力チェック" プロパティに [Yes/はい] が設定されている場合のみ発生します。
そして、LimitToList/入力チェック" プロパティに [Yes/はい] が設定されている場合、一覧の選択項目にないテキストを入力することはできません。

これを考慮すると、次のようにすれば、リスト以外の項目が入ったときは、元のリストの一覧に追加できます。

(1)"LimitToList/入力チェック" プロパ...続きを読む


人気Q&Aランキング

おすすめ情報