Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


355 / 2272 ツリー ←次へ | 前へ→

【12024】Dlookupの条件式の書き方について sui 11/7/14(木) 21:03 質問[未読]
【12027】Re:Dlookupの条件式の書き方について 小僧 11/7/15(金) 10:45 発言[未読]
【12028】Dlookupの条件式の書き方について sui 11/7/15(金) 21:09 お礼[未読]
【12035】Re:Dlookupの条件式の書き方について 小僧 11/8/9(火) 12:54 回答[未読]
【12041】Re:Dlookupの条件式の書き方について sui 11/8/18(木) 7:28 お礼[未読]
【12042】Re:Dlookupの条件式の書き方について sui 11/8/18(木) 7:29 お礼[未読]

【12024】Dlookupの条件式の書き方について
質問  sui  - 11/7/14(木) 21:03 -

引用なし
パスワード
   Access 2003
Windows XP

現在、"書籍の購入申込書の入力フォーム"を作成しています。
コンボボックスから選択した書籍名から、書籍コードを表示したいのです。
商品データテーブルから、Dlookupを使おうと試みているのですが、書籍名の参照がうまくいきません。

以下のようにしました。

テーブル名 : "商品データ"
テーブルのテキスト名のフィールド : "テキスト名"
表示するテキストボックス : "T_コード"
フォーム名 : "F_入力"
フォームのコンボボックスの名前 : "CB_テキスト名"

Me!T_コード = Dlookup("コード","商品データ","テキスト名 = Forms!F_入力!CB_テキスト名")

条件式の部分を指定するとうまくいくのですが、選択されたテキスト名を条件に抽出してコードを表示させたいのです。

簡単な部分だと思うのですが、わかりません。
教えてください。
よろしくお願いします。

【12027】Re:Dlookupの条件式の書き方について
発言  小僧  - 11/7/15(金) 10:45 -

引用なし
パスワード
   ▼sui さん:
こんにちは。

VBAで解決するのであれば、
suiさんのご提示の

>Me!T_コード = Dlookup("コード","商品データ","テキスト名 = Forms!F_入力!CB_テキスト名")

のDLookup関数の第3引数を

"テキスト名 = '" & Forms!F_入力!CB_テキスト名 & "'"

の様にしてあげると可能かもしれません。

解りづらい場合には、
コンボボックスの値を
いったん変数に格納してあげるのも良さそうですね。

valCB = Forms!F_入力!CB_テキスト名
Me!T_コード = DLookup("コード,"商品データ","テキスト名 = '" & valCB & "'")


> コンボボックスから選択した書籍名から、
> 書籍コードを表示したいのです。

コンボボックスの値集合ソースによっては
Accessの機能だけでもいけそうです。

CB_テキスト名
値集合ソース:
商品データテーブルより
1列目に商品コード
2列目に商品名を

列幅を
0cm;xxcm(xxは任意の値)の様に設定し、
1列目の幅を0cmにする事で見せない様にする。

T_コード の コントロールソースを
= [CB_テキスト名].column(0)
の様にコンボボックスの1列目を指定

【12028】Dlookupの条件式の書き方について
お礼  sui  - 11/7/15(金) 21:09 -

引用なし
パスワード
   ▼小僧 さん:こんばんは

わかりやすい回答ありがとうございます。

今日、小僧さんに教えて頂いた方法をやってみたところ、出来ました。

ですが、その後、フォームに少し手を加えたら、また表示されなくなってしまいました。

初め、コンボボックスから選択できる項目を手入力で入力していました。
その項目だと、小僧さんに教えて頂いた方法で表示されたのです。
今日、そのコンボボックスの項目をテーブルのフィールドを参照するように変更したところ、表示できなくなってしました。

下記のようにコードが書かれています。

CB = Forms!F_入力画面!CB_テキスト
Me!T_コード = DLookup("コード","T01_商品データ","テキスト名 = '" & CB & "'")

実現したいのは、
コンボボックス"CB_テキスト"から選択されたテキスト名に応じて、
テーブル"T01_商品データ"からテキスト名が"CB"のフィールド"コード"をテキストボックス"T_コード"に表示することです。

手入力とテーブル参照だとコードが変わるのでしょうか。
それとも、私のコードの書き方が間違っているのでしょうか。

教えてください。
よろしくお願いします。

【12035】Re:Dlookupの条件式の書き方について
回答  小僧  - 11/8/9(火) 12:54 -

引用なし
パスワード
   ▼sui さん:
こんにちは。
>下記のようにコードが書かれています。
>
>CB = Forms!F_入力画面!CB_テキスト
>Me!T_コード = DLookup("コード","T01_商品データ","テキスト名 = '" & CB & "'")
>

まずは、CBの値が取れているのかの確認が必要ですね。

「ACCESS ステップ実行」や「debug.print」などのキーワードで
WEB検索をし、CBの値が取れているかを確認してみましょう。

【12041】Re:Dlookupの条件式の書き方について
お礼  sui  - 11/8/18(木) 7:28 -

引用なし
パスワード
   ▼小僧 さん:
>▼sui さん:
>こんにちは。
>>下記のようにコードが書かれています。
>>
>>CB = Forms!F_入力画面!CB_テキスト
>>Me!T_コード = DLookup("コード","T01_商品データ","テキスト名 = '" & CB & "'")
>>
>
>まずは、CBの値が取れているのかの確認が必要ですね。
>
>「ACCESS ステップ実行」や「debug.print」などのキーワードで
>WEB検索をし、CBの値が取れているかを確認してみましょう。

遅くなりましてもうしわけありません。
結局、CBの値はとれておりません。
このような場面でいつもつまずいてしまうので、もう少し勉強を進めてから再度チャレンジしてみようと思います。
ありがとうございました。

【12042】Re:Dlookupの条件式の書き方について
お礼  sui  - 11/8/18(木) 7:29 -

引用なし
パスワード
   ▼小僧 さん:
遅くなりましてもうしわけありません。
結局、CBの値はとれておりません。
このような場面でいつもつまずいてしまうので、もう少し勉強を進めてから再度チャレンジしてみようと思います。
丁寧な回答をありがとうございました。
>▼sui さん:
>こんにちは。
>>下記のようにコードが書かれています。
>>
>>CB = Forms!F_入力画面!CB_テキスト
>>Me!T_コード = DLookup("コード","T01_商品データ","テキスト名 = '" & CB & "'")
>>
>
>まずは、CBの値が取れているのかの確認が必要ですね。
>
>「ACCESS ステップ実行」や「debug.print」などのキーワードで
>WEB検索をし、CBの値が取れているかを確認してみましょう。

355 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078193
(SS)C-BOARD v3.8 is Free