Access2000のDLOOKUPについて

このQ&Aのポイント
  • Access2000での収支管理のDB作成中に、フォームのDLOOKUPの設定について質問です。
  • 「00_Account code」テーブルから「Account code テキスト」を抽出しようとしていますが、入力しても表示されず、一度フォームを閉じてから再度開くと表示される現象に遭遇しています。
  • 入力→エンター時に表示させる方法はありますか?
回答を見る
  • ベストアンサー

Access2000のDLOOKUPについて

Access2000にて収支管理のDBを作成中です。 フォームのDLOOKUPの設定についてお聞きしたいのですが、 テーブル 「00_Account code」に 「Account code」と「Account code テキスト」があります。 これを 「01_収支テーブル入力_フォーム」にて「Account code」入力時に「00_Account code」テーブルから「Account code テキスト」抽出しようと思い下記のような式を入れています。 =DLookUp("[Account code テキスト]","[00_Account code]","[Account code] =[Forms]![01_収支テーブル入力_フォーム]![Account code] ") しかしフォームにて[Account code]を入力してエンターをしても表示されず、一度フォームを閉じてから再度開くと表示されるという現象におちいっています。 これを入力→エンター時に表示させる方法はありますでしょうか? 何かの設定かと思うのですが・・・ぶつかっています。 どなたかお教え願えると助かります。よろしくお願いいたします。

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

  • ベストアンサー
  • paz777
  • ベストアンサー率47% (77/163)
回答No.1

こんにちは。 Dlookupの "[Account code] =[Forms]![01_収支テーブル入力_フォーム]![Account code] " を "[Account code] = '" & [Forms]![01_収支テーブル入力_フォーム]![Account code] & "'" にすれば直るような気もするのですが、私ならイベントプロシジャで書きます。 まず、フォーム上の[Account code]のプロパティを開き、 「フォーカス喪失後」を「イベントプロシジャ」として以下のコードを書きます。 -------------------------------------------------------------------------------- Private Sub Account_code_LostFocus() ' Me![Account code Text] = DLookup("[Account code Text]", _ "[01_Account code]", "[Account code] = '" & Me![Account code] & "'") ' End Sub -------------------------------------------------------------------------------- ではでは・・・

rerere_no_ojisan
質問者

お礼

paz777さん、 ありがとうございました。 どちらの方法でも解決しました。

関連するQ&A

  • Access DLookUp関数について

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

  • Access DLookupについて

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

  • 【Access97】DLookupについて

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

  • AccessのDlookup関数のエラー

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

  • (access ) dlookupの抽出について

    「会社テーブル」 **企業コード **商品コード *会社名 「商品テーブル」 **商品コード **担当者コード *商品名 「住所テーブル」 **担当者コード *担当者名 *住所 仮に上記のようなテーブルがあり、下記がその条件式です =DLookUp("担当者名","住所テーブル","[担当者コード] = " & [テキスト入力欄]) フォーム上の[テキスト入録欄]に 「**担当者コード」 の値を入力し、 担当者名 や 住所 を任意のテキスト枠に返します。 その方法で[会社テーブル]の会社名を返す場合はどのようにしたらいいのでしょうか 上記のテーブルの通り、会社名には 担当者コード が存在しておりません 企業コードや会社コードを入力するという方法は二度手間になるためやりたくありません フォームを作成して3つのテーブルを繫ぎ、下記の式で抽出しようと試みましたができません =DLookUp("会社名","フォーム","[担当者コード] = " & [テキスト入力欄]) どなたか方法を教えてください

  • Access2000 DLookup関数の使い方

    色々試してみたのですがわからないので質問させていただきます。 フォーム/サブフォームを作っています。 サブフォームにある商品コード(コンボボックス)を入力すると、同じサブフォームにある単位、単価に商品台帳テーブルの値(単位、単価)を持ってくるようにしたつもりなのですが・・・。 商品コードの更新処理後に以下のコードを記述したのですが、うまく動きません(エラーは出ない)。 Me![単価] = DLookup("[単価]","商品台帳","[商品コード] = [Forms]![フォーム]![サブフォーム]![商品コード]") どこが悪いか教えていただけないでしょうか?

  • Access非連結フォームから複数レコード挿入

    お世話になっております。 Access2003を使用しております。 <テーブル ”商品マスターT”> code   shouhin =========================== 1    チョコ 2    ラムネ 3    ジュース 4    団子 5    ガム <フォーム "商品入力フォーム"(非連結・単票フォーム)>      商品コード       商品名 1行目 [非連結(テキスト0)] [=DLookUp("shouhin","商品マスターT","code=" & [テキスト0])] 2行目 [非連結(テキスト1)] [=DLookUp("shouhin","商品マスターT","code=" & [テキスト1])] 3行目 [非連結(テキスト2)] [=DLookUp("shouhin","商品マスターT","code=" & [テキスト2])] 4行目 [非連結(テキスト3)] [=DLookUp("shouhin","商品マスターT","code=" & [テキスト3])] 5行目 [非連結(テキスト4)] [=DLookUp("shouhin","商品マスターT","code=" & [テキスト4])]  商品コードを入力すると商品マスターTより商品名を引っ張ってきます。 <テーブル "履歴T"> code2   shouhin2 ==============================  データは空です 上記のものがあるときに商品入力フォームで入力した行数分だけ テーブル履歴Tにレコード追加したいのですが・・・ そういったことは可能でしょうか?非連結フォームから複数レコード追加は難しいでしょうか? 以上宜しくお願いします。

  • AccessのDLookupについて

    AccessのDLookupについての質問です。 いろいろ調べたのですがわからなかったので教えてください。 テーブル「社員」…ID、社員コード、氏名、所属、回数 フォーム…テーブルと同項目 フォームで社員コードを入力すると、自動的に氏名、所属が表示されるようにしました。 しかし、所属が変更になった社員氏名がうまく表示できません。 ~例~ ID_社員コード_氏名 _所属_回数 1_1234   _山田 _東京_1 2_1234   _山田 _東京_2 3_1234   _山田 _大阪_3 とあったときに、表示したいのはID_3のデータなのですが、ID_1のデータが表示になってしまうのです。(回数が最大の氏名、所属を表示したい) x = Nz(DMax("回数", "社員", "社員コード=" & [社員コード]), 0) Me!氏名 = DLookup("氏名", "社員", "社員コード=" & [社員コード]) _ & " and 回数=" & x) としています。エラーは出ません。 どこが変なのでしょう? よろしくおねがいします。

  • Access Dlookupの#エラーについて

    AccessのDlookupの使い方について教えてください。 添付のファイルのようにAテーブルの複数のフィルドからBテーブルの1つのフィルドに紐づけることはできないので、Dlookup関数で表示させようと思っています。 以下の通り関数をビルドにいれ、表示させると「#エラー」と表示されてしまい、エラーの箇所をクリックすると「抽出条件でデータ型が一致しません」と表示されてしまいます。 ※それぞれのテーブルのデータ型は全て「短いテキスト」となっております。 ご教授いただければと思います。よろしくお願いいたします。 施設得意先: DLookUp("得意先","T_KNA1","通常納入使用駅 =" & [T_MD-Net].[施設コード] & "")

  • ACCESSでDLookupがうまく使えません。

    アクセス初心者です。 行き詰っているので、どうか教えてください。 医療事務をしていますがアクセスで管理できないものかと作り始めました。 tbl薬剤等製品のテーブルに 製品名:クスリA 製品番号:ABC123 販売元:あいう社 などがあります。 frm接種記録のフォーム作り、 フォーム上で製品番号から、tbl薬剤等製品の販売元を抽出してテキストボックスに代入したいのですが、 DLookup("[販売元]","tbl薬剤等製品","[製品番号] = Forms![frm接種記録]![製品番号]") としたのですが、うまくいきません。 どうしたら良いのでしょうか?

専門家に質問してみよう