• ベストアンサー

Access Dlookupでエラー

選択クエリAのレポートを作成し、 レポート内のテキストボックスに値を表示させたいです。 ●表示させたい値 クエリA フィールド名[集計]が"昨年"の値を持つ、フィールド名[1月]の値を表示させる。 フィールド[集計]の書式は文字列、[1月]は数値です。 テキストボックスのコントロールボックス?に、 =dlookup("[1月]",[クエリA],"[集計]='昨年'' ) と入れたところ、エラー表示もなにも表示されませんでした。 どこが間違っているか、自分ではわからず困っています。 どうか教えていただきますようお願いいたします。

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

  • ベストアンサー
回答No.1

最後にAccessを触ったのは10年も前のこと。情けないことに、質問文を見てもエラー箇所を発見できませんでした。そこで、やむをえず「イミディエイトウインドウ」でテストしました。 Q、Access Dlookupでエラー。 A、イミディエイトウインドウを利用するとよい! >イミディエイトウインドウはプログラムコード中の変数やプロパティの値を調べる場合に 使用します。

semi076
質問者

お礼

イミディエイトウインドウを初めて知りました。 重いクエリを使って、いちいちトライ&エラーを時間をかけて試していましたが、 これなら即時にダメかどうかわかりますね。 教えていただいた方法で、自分の作った式を試してみたいと思います。 ありがとうございます!

関連するQ&A

  • 【Access97】DLookupについて

     Access97を使って今、データベースを作成していますが、行き詰まってしまいました。  まず大まかな構成を書くと… <テーブル> 【○○班データ】テーブル ・「データナンバー」フィールド ・「部材名」フィールド ・「部材ナンバー」フィールド ・「部材コード」フィールド 【部材マスター】テーブル ・「部材名」フィールド ・「部材ナンバー」フィールド ・「部材コード」フィールド <クエリー> 【○○班データクエリー】 「○○班データ」テーブルを元に選択クエリーを作成(全てのフィールド) <フォーム> 上記のクエリーを元に作成。 ここからが質問内容になるのですが、「部材名」をコンボボックスで入力したら、Dlookup関数をテキストボックスのコントロールソースに記述して「部材ナンバー」と「部材コード」が表示されるようにはできました。 ですが、フォームで表示された「部材ナンバー」や「部材コード」がクエリーやテーブルには反映(入力)されておらず、どうしたらいいか手詰まりになっています。 もし、対処法を御存知の方がいらっしゃったら、是非とも御教示をお願いします。 念の為にテキストボックスのコントロールソースで記述したDLookup関数を書いておきます。 「部材ナンバー」の呼び出し =DLookUp("[部材ナンバー]","[部材マスター]","[部材名]='" & [部材名] & "'") 「部材コード」の呼び出し =DLookUp("[部材コード]","[部材マスター]","[部材名]='" & [部材名] & "'")

  • Access DLookupについて

    お世話になります。 ローカルクエリがあり、その抽出された内容を取得したいの ですがどのようにすればよいでしょうか。 クエリのフィールドは「拠点名」「端末数」の2つのみで、当該クエリは フォーム上のテキストボックス内の拠点名を条件としてます。  クエリの「拠点名」の条件として、 Forms![テスト]![拠点名] 直接クエリを開くと、ちゃんとその拠点名で抽出され、端末数も 表示されてます(必ず1レコードのみ抽出されます)。 で、この抽出結果をVBAで取得したいのですが。。 調べてみたところDLookup関数を使えば取得できるようなのですが、 指定の仕方がいまいち分からずにいます。 たとえば、フォーム上に「端末数」というテキストボックスを作成し、 そのレコードソースの箇所に「= DLookup("端末数","ローカルクエリ","[拠点名] = '" & Forms![テスト]![拠点名] & "'")」と指定するものなのでしょうか。 それとも、VBAで Forms![テスト]![端末数] = DLookup("端末数","ローカルクエリ","[拠点名] = '" & Forms![テスト]![拠点名] & "'")と指定するのでしょうか。 両ケースともに Forms![テスト]![端末数]にはNullが入ってしまい、端末数を 取得できません。 ちゃんとフォーム上の拠点名が参照できてないのか、それともDLookupの指定の 仕方が悪いのか分からずにいます。 勉強不足で大変恐縮ですが、ご教授の程よろしくお願い致します。

  • アクセス DLookup関数 なぜエラーになるのか

    アクセス DLookup関数 なぜエラーになるのかわからないです。 testと言うテーブルがあり、a・bと言うフィールドがあります。 aフィールドにあああと入ってる場合のbフィールドの値を取得したいのですが Debug.Print DLookup("[b]", "test", "[a] = あああ") だと、 実行時エラー2471「クエリ パラメータとして指定した式でエラー'[あああ]'が発生しました。」 になります。 どこがおかしいのか教えていただけますか?

  • AccessのDlookup関数の使い方を教えて下さい。

    超初心者です。どうぞよろしくお願いします。 教職員で出欠記録の管理をAccessでやろうと思っています。 AccessのDlookup関数の使い方が分かりません。 テーブルA:      フィールド名:授業日      データ   :2009/4/7            :2009/10/5 テーブルB:      フィールド名:期間名称   初日   最終日      データ   :前期    2009/4/1  2009/9/30            :後期    2009/10/1  2010/3/31 があるとします。クエリーの中でテーブルBの条件を見ながら テーブルAのデータを判断させて             授業日      期間名称      データ   :2009/4/7  →→→ 前期            :2009/10/5 →→→ 後期 と表示させたいのです。Dlookup関数でやれると思っているのですが うまくいきません。何とかならないでしょうか。今までは手入力していましたが無駄に思えます。 1.クエリーの中で 2.できるだけ簡単に を条件として何とかなりませんか。 モジュールとかVBAは全く分かりません。”簡単”というのを第一にお願いします。 なお,うまくいくようなら当然Dlookup関数にはこだわりません。 以上,よろしくお願いします。          

  • Access DLookup関数 行で指定

    Access2000 DLookup関数のcriteria部でクエリ指定行の値を求めたいのですが分かりません。 <参考> DLookup("フィールド", "クエリ", "指定行=10") クエリの10行目に有るフィールドの値を求める場合、criteria部の書き方を教えて下さい 検索で探したのですが見つける事が出来ませんでした・・。

  • AccessのDlookup関数のエラー

    【Access2003】 dlookup関数について教えてください。 やろうとしていることは、ある商品について任意の日付の時点での数量を表示したく、 練習として、 DLookup("[数量]", "t_商品情報", "[品番] = '"& "1001" & "' and [日付] = #" & "2007/12/17" & "#") と記述したときには正常な値が表示されました。 その後、「品番」と「日付」をフォーム上のテキストボックスで任意の値を入力したいと思い、下記のように書き直しました。 DLookup("[数量]", "t_商品情報", "[品番] = '"& "[Forms]![フォーム1]![txt品番]" & "' and [日付] = #" & "[Forms]![フォーム1]![txt日付]" & "#") フォームのテキストボックスにそれぞれ値を入力したところ、「日付の構文エラー」となってしまいました。 勉強不足なのでしょうか、原因がわからず困っております。 お詳しい方のアドバイスをお待ちしております。宜しくお願い致します。

  • ACCESSのDLOOKUPについて

    ACCESS超初心者です。クエリーでDLOOKUP関数を使って式を作っていますが、エクセルのLOOKUP関数のように使いたいのです。DLOOKUP関数は参照する値が一致しないと表示しません。LOOKUP関数は検査範囲として検査値を検索し、検査値が見つかると、配列の次の行または列の同じ位置にあるセルに含まれている値を返します。簡単な表を使うと A  B 10  100 20  200 =LOOKUP(10,A1:A2,B1:B2) であれば100が表示されます。エクセルのLOOKUP関数ならここで10を11や12になおしても100と表示されます。しかしアクセスのDLOOKUP関数はこのような範囲をつけられません。10から19までなら100、20以上なら200と表示する方法はあるのでしょうか。初心者なのでVBやSQLなどの高度な技はわかりません。ご指導お願いします。

  • テキストボックスに、クエリの集計カウント数を表示

    Access2019 クエリの商品毎の集計カウントをテキストボックスに、表示させよう取り組んでいますが表示出来る迄至っていません。 クエリ名:3_商品_全集計カウント クエリのフィールド:商品名 , 商品名のカウント 例> りんご 20 みかん 100 りんごのカウント数が表示するテキストボックスに、20が表示する様にしたいです。 テキストボックスは、それぞれ商品毎のテキストボックスをフォームに設けて、テキストボックスのコントロールソースに以下の関数を組んで結果は #Name? です。 DLookup("商品名のカウント", "3_商品_全集計カウント", "商品名 = '" & りんご & "'") ご教授頂けたら幸いです。 以上、宜しくお願い致します。

  • Accessのフォームで、ある項目の条件によって、数値の書式を変えたい

    フォームのコンボボックスで選択した値によって、 クエリで抽出(集計)した結果を表示するサブフォームで、 [商品名]や[合計金額]フィールド等を表示しています。 合計金額の桁数が多いので千円単位表示にしたく、 [合計金額]フィールドの書式に 『#,###,;-[赤]#,###,』 と入力しました。 ここまではいいのですが、ある商品(例えば「商品A」)は絶対千円以下なので、この商品の時は[合計金額]フィールドに上の書式を設定したくないのですが、どうすればいいのでしょうか? 「条件付き書式設定」も見たのですが、条件式で 『[商品名]="商品A"』 の時に色などを変えることはできたのですが、数値の書式の設定ができませんでした。 どなたかおわかりになる方がいらっしゃいましたら、教えていただけますでしょうか。 VBAでもかまいません。よろしくお願いします<m(__)m>

  • ACCESS メインFからサブFの値を参照

    サブフォームで集計した値をメインフォームで演算値として使用したいのですができません。 サブフォームのフォームヘッダに集計値を入れるテキストボックスを配置し、メインフォームにサブフォームの集計値を参照するテキストボックスを配置しています。 ほんとうはイベントの実行で直接サブフォームの集計値を使った演算を行いたいのですが出来ないのでメインフォームにテキストボックスを作成しました。 サブフォームの集計値は表示しますが、その値を演算値として使用できないのです。試しにMsgboxでメインフォームのテキストボックスの値を表示させると何も表示しません。 なぜメインフォームのテキストボックスにサブフォームの値は表示できるのにその値を使用できないのでしょうか? 具体的には次の通りです。 <サブフォームに配置したテキストボックス>  名前        :テキスト16  コントロールソース:SUM([枚数〕)  書式        :数値 <メインフォームに配置したテキストボックス>  名前        :テキスト130  コントロールソース:[Foms]![メインフォーム名]![サブフォーム名].Form!テキスト16  書式        :数値 <イベント>   MSGBOX テキスト130       ※何も表示されません!

専門家に質問してみよう