Access VBA質問箱 IV

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

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


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

【7754】条件を満たすデータの表示 KANI 06/4/24(月) 15:45 質問[未読]
【7755】Re:条件を満たすデータの表示 MJM 06/4/25(火) 11:14 回答[未読]
【7756】Re:条件を満たすデータの表示 KANI 06/4/25(火) 12:05 質問[未読]
【7757】Re:条件を満たすデータの表示 MJM 06/4/25(火) 13:45 回答[未読]
【7764】Re:条件を満たすデータの表示 KANI 06/4/26(水) 9:43 質問[未読]
【7765】Re:条件を満たすデータの表示 MJM 06/4/26(水) 9:57 回答[未読]
【7766】Re:条件を満たすデータの表示 KANI 06/4/26(水) 11:37 質問[未読]
【7767】Re:条件を満たすデータの表示 クロ 06/4/26(水) 13:09 発言[未読]
【7769】Re:条件を満たすデータの表示 MJM 06/4/26(水) 13:18 回答[未読]
【7770】Re:条件を満たすデータの表示 KANI 06/4/26(水) 15:39 質問[未読]
【7771】Re:条件を満たすデータの表示 MJM 06/4/26(水) 16:57 回答[未読]

【7754】条件を満たすデータの表示
質問  KANI  - 06/4/24(月) 15:45 -

引用なし
パスワード
   こんにちは。行き詰ったのでどなたか教えて下さい。
コンボボックスでそれぞれ、A(場所:東京or大阪)、B(品名1)、C(品名2)欄とあります。
優先順位1.B2.Aの順で条件を満たすもの(価格)をD欄のテクストボックスへ、
優先順位1.C2.Aの順で条件を満たすもの(価格)をE欄のテクストボックスへ、
表示させたいのですが、どうすればできますか?
VBAを組まないとできないでしょうか?
プロパティで設定できるものでしょうか?
テーブルはテーブル品名1で東京、大阪の価格、テーブル品名2で東京の価格、大阪の価格と作成しています。
皆さん、宜しくお願いいたします。

【7755】Re:条件を満たすデータの表示
回答  MJM  - 06/4/25(火) 11:14 -

引用なし
パスワード
   こんにちは。

>コンボボックスでそれぞれ、A(場所:東京or大阪)、B(品名1)、C(品名2)欄とあります。
>優先順位1.B2.Aの順で条件を満たすもの(価格)をD欄のテクストボックスへ、

テーブル品名1で、コンボAとBの条件に一致するデータの内、
最も低い価格をテキストDに表示する
という意味でしょうか?

であるなら、テキストDのコントロールソースに、
DMin関数を用いて、以下のような記述をされては如何でしょうか。

=DMin("価格","テーブル品名1","場所=' & コンボA & "' AND 品名 = '" & コンボB & "'")

テーブル名、フィールド名、コントロール名は実態に合せて置き換えて下さい。

【7756】Re:条件を満たすデータの表示
質問  KANI  - 06/4/25(火) 12:05 -

引用なし
パスワード
   ▼MJM さん:
こんにちは。
早速のアドバイスありがとうございます。
なのですが、私の説明がわかりにくく申し訳ありません。
テーブル品名1に東京と大阪の価格がある(テーブル品名2も同様に東京と大阪の価格があります)ので、優先順位として、1.東京、大阪のどちらなのか2.品名1なのか2なのか、という条件をみたした価格を
D欄(品名1でHITしたもの)とE欄(品名2でHITしたもの)にそれぞれ表示させたいのです。最も低い価格とかではなく、HITするものは常に一つしかありません。
条件を満たすものを表示させればいい場合はどんな関数を使えばいいですか?
宜しくお願いいたします。

【7757】Re:条件を満たすデータの表示
回答  MJM  - 06/4/25(火) 13:45 -

引用なし
パスワード
   > HITするものは常に一つしかありません。
> 条件を満たすものを表示させればいい場合はどんな関数を使えばいいですか?

それでは、DLookup関数を用いては如何でしょうか。
記述の仕方は、DMin関数と同様です。

【7764】Re:条件を満たすデータの表示
質問  KANI  - 06/4/26(水) 9:43 -

引用なし
パスワード
   ▼MJM さん:
>それでは、DLookup関数を用いては如何でしょうか。
>記述の仕方は、DMin関数と同様です。

アドバイスを元にコントロールソースに入れてみたところ、
「指定した式の構文が不正」とエラーがでました。

=DLookup("txt単価","T品名1","場所='& cmb場所 &"' AND 品名1='" & cmb 品名1 &"'")

としましたが、どこがマズイのでしょうか?

【7765】Re:条件を満たすデータの表示
回答  MJM  - 06/4/26(水) 9:57 -

引用なし
パスワード
   > =DLookup("txt単価","T品名1","場所='& cmb場所 &"' AND 品名1='" & cmb 品名1 &"'")

もしかして、cmb 品名1がcmb品名1?

でなければ、以下を確認して下さい。

T品名1というテーブルはありますか?

T品名1というテーブルに、
txt単価、場所、品名1というフィールドはありますか?

場所、品名1というフィールドはテキスト型ですか?

cmb場所、cmb品名1というコントロールはありますか?

【7766】Re:条件を満たすデータの表示
質問  KANI  - 06/4/26(水) 11:37 -

引用なし
パスワード
   ▼MJM さん:

>> =DLookup("txt単価","T品名1","場所='& cmb場所 &"' AND 品名1='" & cmb 品名1 &"'")
>
>もしかして、cmb 品名1がcmb品名1?
>
>でなければ、以下を確認して下さい。
>
>T品名1というテーブルはありますか?
>
>T品名1というテーブルに、
>txt単価、場所、品名1というフィールドはありますか?
>
>場所、品名1というフィールドはテキスト型ですか?
>
>cmb場所、cmb品名1というコントロールはありますか?


私の勘違い、説明不足のため、お手を煩わせてしまい申し訳ありません。
品名1はテーブルではありませんでした。

■テーブル概要■
テーブル名:T会社名
フィールド名1.:ID(オートナンバー型)
フィールド名2.:品名(テキスト型)
フィールド名3.:東京(通貨型)
フィールド名4.:大阪(通貨型)

■フォーム概要■
コンボボックス名1.:場所
コンボボックス名2.:品名
テキストボックス1.:数量
テキストボックス名2.:単価 →ここにコンボボックス1.2.の条件を満たす単価を表示させたい。
テキストボックス3.:金額

コンボボックスのラベルはそれぞれ上記の名前で、ボックスの名前(プロパティの“すべて”タブの名前)は「cmb場所」と言うように前に“cmb”をつけています。
(最終的にはこの単価X個数でテキストボックス3.に金額を表示させようと考えています。)
コンボボックス1.2.を選定した際、単価が切り替わったのか否かわからない為、
別に「表示」ボタン(コマンドボタン)を設けたいと思うのですが可能ですか?

【7767】Re:条件を満たすデータの表示
発言  クロ  - 06/4/26(水) 13:09 -

引用なし
パスワード
   こんにちは、クロです。
横レス失礼します。

=DLookup("txt単価","T品名1","場所='& cmb場所 &"' AND 品名1='" & cmb 品名1 &"'")
の第三引数のところで「"」がひとつ足りないような…

"場所='" & cmb場所 & "' AND 品名1='" & cmb 品名1 &"'"
ではないでしょうか?

【7769】Re:条件を満たすデータの表示
回答  MJM  - 06/4/26(水) 13:18 -

引用なし
パスワード
   =IIf(cmb場所="東京",DLookup("東京","T会社名","品名='" & cmb品名 &"'"),DLookup("大阪","T会社名","品名='" & cmb品名 &"'"))

ということでしょうか。

【7770】Re:条件を満たすデータの表示
質問  KANI  - 06/4/26(水) 15:39 -

引用なし
パスワード
   ▼MJM さん:
>=IIf(cmb場所="東京",DLookup("東京","T会社名","品名='" & cmb品名 &"'"),DLookup("大阪","T会社名","品名='" & cmb品名 &"'"))
>
>ということでしょうか。

即答、ありがとうございます。
クロさんも回答ありがとうございます。
上述の構文をテキストボックス2.「単価」のコントロールソースに貼り付けてみましたが、今度は「#Name?」というエラーがでてしまいました。
ボックスの名前がおかしいのでしょうか?

>コンボボックス1.2.を選定した際、単価が切り替わったのか否かわからない為、
>別に「表示」ボタン(コマンドボタン)を設けたいと思うのですが可能ですか?

このコマンドボタンにこの文をそのまま入れると、「イベントプロパティに指定した式クリック時でエラーが発生しました。名前が適切ではありません。:表示_click」とでます。
そのままコマンドボタンに入れるとだめなのでしょうか?

【7771】Re:条件を満たすデータの表示
回答  MJM  - 06/4/26(水) 16:57 -

引用なし
パスワード
   >=IIf(cmb場所="東京",DLookup("東京","T会社名","品名='" & cmb品名 &"'"),DLookup("大阪","T会社名","品名='" & cmb品名 &"'"))

当方のレスをそのままコピペではなく、
そちらの実態に合わせて、各オブジェクトの名称は置き換えて下さい。

cmb場所、cmb品名の部分は、抽出条件とするコンボボックスのコントロール名を、
T会社名の部分は、テーブル名を、
DLookup内の東京、大阪、品名の部分は、テーブル内のフィールド名を、
cmb場所="東京"の東京の部分は、場所のコンボボックスが返す値を、
それぞれ指定して下さい。

>このコマンドボタンにこの文をそのまま入れると、「イベントプロパティに指定した式クリック時でエラーが発生しました。名前が適切ではありません。:表示_click」とでます。
>そのままコマンドボタンに入れるとだめなのでしょうか?

ダメです。

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