• 締切済み

DLOOKUP関数について

お世話になっております。 現在ACCESS2000を使用しております。 テキストボックスのコントロールソースにDLOOKUP関数を使用しております。 DLOOKUPで抽出して値(数値)を変数(Integer)に代入しております。 そこで何故か代入出来る値と出来ない値があり困っております。 デバックで確認するとDLOOKUPでは値を持ってこれておりますが 変数に代入する際に失敗しているようです。 何故そのような事象が起こるのか調べてもわからず質問させていただきます。 恐れ入りますが、心当たりあるかた、どうか教えて頂けませんでしょうか。 以上、よろしくお願い致します。

みんなの回答

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.3

cint( )でDLookupを囲う。 テキストボックスの値をNz( )で囲うと、なお良いかも。

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.2

a=DLookUp("抽出したいカラム","テーブル","機種=" & """" & テキストボックス & """") を a=int(DLookUp("抽出したいカラム","テーブル","機種=" & """" & テキストボックス & """")) としたらどうなるでしょう?

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

差しさわりがなければ、 コントロールソースに記述した内容と、どのような値をlookupした際に、失敗するのか? を補足していただけますでしょうか?

MTMmtmMTM
質問者

補足

記述しておりますコードになります。 Dim a As Integer a=DLookUp("抽出したいカラム","テーブル","機種=" & """" & テキストボックス & """") 以上、よろしくお願い致します。

関連するQ&A

  • dlookup関数が使えない

    ただいま、フォーム上のあるテキストボックスのコントロールソースに以下のような式を入れています。 「=DLookUp("[M00マスター]![個人名]","[M00マスター]","[M00マスター]![個人ID]=[K00オーナーテーブル]![個人ID]")」 このフォームは、K00オーナーテーブルがコントロールソースとなっています。 しかし、このテキストボックスには、エラーと出て、しかも、ずっと点滅し続けています。 この原因がお分かりになるかた、いませんでしょうか。 よろしくお願いします。

  • アクセスadpでのDLookUp関数

    アクセス2003 adpのレポートのあるコントロールのコントロールソースにDLookUp関数を使おうとしています。 =DLookUp("列名","ストアドプロシージャー名") *ストアドプロシージャーの抽出条件にパラメータを設定してあります レポートの「入力パラメータ」にも記入してあります *ストアドプロシージャーを実行した結果のレコードは1つのみです mdbでは =DLookUp("列名","クエリー名") でうまくいっていたのですが adpの場合#エラーになってしまいます 一時ファイルにレコードを追加してそれを引数にすればうまくいくのですが、 できればストアドプロシージャーを引数にしたいと思っています。 どなたかご教授をお願いいたします

  • Access Dlookupでエラー

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

  • 日付と文字列を条件としてDLookup関数で抽出さ

    日付と文字列を条件としてDLookup関数で抽出させたいです。アクセスです。 テーブル1のデザイン フィールド名 ID(数値型) フィールド1(テキスト型) 取得日時(日付/時刻型) テーブル1のデータ ID  フィールド1  取得日時 1       あ  2013/01/05 2       い  2013/01/05 この条件でvbaでIDの値を抽出したいのですが MsgBox DLookup("[ID]", "テーブル1", "[取得日時] = #2013/01/05#") だと、1が返ってきちゃうのでフィールド1でもフィルタをかけたいのですが どうやればいいでしょうか? MsgBox DLookup("[ID]", "テーブル1", "[取得日時] = #2013/01/05#" And "[フィールド1] = 'あ'") にすると、型が一致しません。(Error 13)になります。 ご教授よろしくお願いします。

  • accessのDLookup関数について

    ほとんど理解できていないAccess2000使用者です 数値型のDLookup関数では以下のようにしたら上手くいきいました Me![氏名] = DLookup("[氏名]", "[テーブル]", "[ID]= " & [ID]) 出来上がってから、[ID]をテキスト型にしなければいけなくなりました 後ろの"[ID]= " & [ID]の部分をどのように変えればいいか分からず・・ よろしくお願いします

  • Access2010フォーム関数からテーブル入力

    アクセス2010について過去からの質問があまりないようですので 浅学ながら質問させていただきます。 フォームのテキストボックス内にて DlookUp関数で返した値を、 "Aテーブル"へ自動で入力したいのですが、 そのような関数はあるのでしょうか? また、このような操作は Dlookupを記述しているコントロールソースから 改行でコードを入力すればよいのでしょうか? ご教示いただければ幸甚です。 よろしくお願いいたします。

  • ACCESSのクエリでDlookup関数・戻り値の属性は

    ACCESSのクエリの中で、抽出したい項目を式で定義しているのですが、Dlookup関数を使っています。 そのとき、数値項目だと思っていたのですが、文字として値が返ってきているようです。(数字が左詰めになっているので) Dlookup関数の戻り値は、このような使い方をした場合、文字として返ってくるのでしょうか。 (Nullというのが返ってきている場合もありました) クエリ上で使っている式は、このようなものです。 前月戸建契約数: DLookUp("契約数","テーブル名", "担当者名='" & [担当者名] & "' And 月次='" & [前月] & "'") [担当者名]は元になるテーブルにあり、[前月]はクエリ上で、(テーブル上の)[月次]-1で式として定義しています。 よろしくお願いします。

  • AccessのDlookup関数のエラー

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

  • Access DLookUp関数について

    DLookup関数を使用して、フォーム上にテーブルの値を返したいと思い、 試行錯誤をしたのですが、思うように値が返されません。。。 どうかお力添え下さいますようお願い致します。 「得意先&出荷先」テーブルに「得意先コード」「名称」項目を設け、 「詳細入力」フォームの「得意先コード」に値を入力をすると、 「得意先名称」項目に、テーブルの「名称」項目の値を返す動作を設定したいのです。 私は、下記のように書きましたが、「#Type!」と表示され、思うような動作をしません。 =DLookUp("[名称]","[得意先&出荷先]","[得意先コード] = '" & [Forms]![不具合詳細入力フォーム]![得意先名称] & "'") どこがおかしいのでしょうか?? またDLookUp以外でも、もし上記のような動作を実現させる方法がありましたら、ぜひご教授ください! 宜しくお願いいたします。

  • 【Access97】DLookupについて

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