• 締切済み

マイクロソフトアクセス Dlookupの使い方

先日、同じ質問をした者です。別角度からのトライをしてみました。 (経緯) Table1とTable2を作りました。Table1には5レコードを入力済みです。 tabale2からFoam2を作りました。で、table2のField2にDlookupの定義を書いてみました。単純に、Field1を選んだらField2がコピーされてくるだけです。(予定では・・・) Foam2でField1を選ぶ事は出来るのですが、Field2に移動しても何も表示されません。Field3に移動するとエラーがでます。debugを選ぶとdlookup分が黄色に反転してます。 参考書片手に苦戦しましたが変化無しです。アドバイスをお待ちしています! ●エラー Run-time error'3464'. datatype mismatch in criteria expression ●書いた定義 Private Sub Text6_Click() If Not IsNull(bakk) Then Field1 = DLookup("Field1", "Table1", "Field1=" & Field1) End If End Sub ●テーブル定義 Table1 Field1 (Text) Fleld2 (Text) Field3 (Text) Table2 Field1 (Table1のField1をコンボボックスで選択) Field2 (Table1のField2を自動で表示したい) Field3 (自分でテキストを入力) データタイプはTextで10文字指定です。

みんなの回答

noname#140971
noname#140971
回答No.1

はっきりとしている点だけ! If Len(Me.controlname & "") Then   Me.xxxxx = DLookup("fieldname", "tabalename", "fieldname='" & Me.controlname & '") End If または、 Me.xxxxx = DLookup("fieldname", "tabalename", "fieldname='" & Nz(Me.controlname) & '") fieldname=100 fieldname='aaaaa' fieldname=#2007/08/10# 列タイプが数字、文字、時刻・日付型でいわゆる WHERE 節の書き方が違います。 DLookup の実態は、 SELECT fieldname FROM tablename WHERE fieldname=100; SELECT fieldname FROM tablename WHERE fieldname='aaaaa'; SELECT fieldname FROM tablename WHERE fieldname=#2007/08/10# まあ、シングルクォーテーション(')が足りないということです。 <疑問> Private Sub Text6_Click()   ・・・・・・   ・・・・・・   ・・・・・・ End Sub このイベントに書かれている理由が判りません。

UK123
質問者

補足

ご返事が遅くなり、申し訳ありません。 素人には先が長い話になりそうです。 <疑問>ですが、テストでFieldが増えてしまい、6番目のFieldを使ったためです。特に意識したわけでは・・・ まだまだ格闘が続きそうです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 【Access97】DLookupについて

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

  • Access DlookUpのネスト

    Access 2010 です。 コントロールソースでの利用を想定しています。 DlookUpでDlookUpの結果を条件にネストする場合 =DLookUp("外フィールド1","外テーブル","[外フィールド2]=DLookUp(内フィールド,'内テーブル','rs('内フラグ')=Yes')") の様な利用の仕方をしたいのですが#エラーになってしまいます。 検索条件の =DLookUp(内フィールド,'内テーブル','rs('内フラグ')=Yes')") 単体では正しく取得出来ているので、 ネストする際のクォーテーション絡みなどで正しく値が取得できていないのでは と考えておりますが、正しくはどう記述するべきでしょうか?

  • Dlookup関数の使い方 (Access2007)

    まったくのAccess初心者です。Dlookup関数の使い方がどうやってもわからないので教えてください。 車種というテーブルには[車番]と[全長]というフィールドがあります。 データというテーブルに[車番]やその他([定員]や[車高]など)のフィールドがあり、フォーム入力で車番を入れると車種テーブルから全長を引っ張ってくるようにしたいのですが、どうすればいいでしょうか。 ネットや参考書で調べていますが、=dlookup(  )の中をどう書けばいいかさっぱりわかりません。 質問の書き方もおかしいかもしれませんが、よろしくお願いします。

  • Access Dlookup関数について

    Dlookupで悩んでいます。 ExcelのVlookと違い、“数字”のコードでなければ引っ張ってこれないのでしょうか? 以下、がその内容です。 「T_得意先マスタ」の得意先コードフィールドに aaa というコードがあり、得意先名フィールドに ○○商事 とあります。 どうやってもできないのです。 なぜか、aaa ではなく、数字(例. 123)にすると出ます。 教えてください。 Private Sub 得意先コード_AfterUpdate() Dim a As Variant, b As String b = "得意先コード = " & Me![得意先コード] a = DLookup("得意先名", "T_得意先マスタ", b) If IsNull(a) = True Then Me.テキスト1.Value = "該当がありません。": Me![得意先コード] = Null Else Me.テキスト1.Value = a End If End Sub

  • アクセス DLookUpについて

    職員番号入力後、自動で部署コードを入力できるようにしたいのですが、このアクセスのフォームで、正常に動くフォームと動かないフォームがあり困っております。どこが悪いか御教示お願いできませんでしょうか。 -------------------------------------------------------- 使用テーブル T_職員名簿 : ID、氏名漢字、氏名カナ、部署コード、部署名 イベントプロシ―ジャ内容 Private Sub 職員番号_AfterUpdate() Me.[部署コード] = DLookup("部署コード", "T_職員名簿", "職員番号= " & Me![職員番号] & "") End Sub エラー内容 イベントプロパティに指定した式更新後処理でエラーが発生しました。 --------------------------------------------------------

  • 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]を入力してエンターをしても表示されず、一度フォームを閉じてから再度開くと表示されるという現象におちいっています。 これを入力→エンター時に表示させる方法はありますでしょうか? 何かの設定かと思うのですが・・・ぶつかっています。 どなたかお教え願えると助かります。よろしくお願いいたします。

  • アクセス DLookup

    myStr = DLookup("[感想]", "TEST", [感想] = "'A'") このコードがvbaでエラーになります。 実行時エラー13 型が一致しません になります。 TESTと言うテーブルは存在するし感想と言うフィールドは存在します。 エラーの原因を教えて下さい。

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

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

  • アクセス DLookup

    If Nz(DLookup("[主キー]", strテーブル名, "[主キー] = '" & str主キー & "'"), False) = True Then bl_未転記データ = True 'ないならば Else bl_未転記データ = False 'あるならば End If このコードはどこがおかしいですか? テーブルに主キーがあるかどうかを調べたいのですが あってもなくても、 bl_未転記データ = False 'あるならば になってしまいます。

  • Access2010 DLookup 関数で!

    店舗を管理するデータベースをAccess2010で、 テキストボックスを二つ作り 1.にs店舗no ・2.にs店舗名を作り 店舗NO・店舗名のどちらかに入力すれば検索する「イベントプロシージャ」を書きました。 [イミディエイト]ウィンドウを開きながら構文しましたが、[イミディエイト]ウィンドウ では、うまく作動しますが、イベントロシージャで実際に組みますと「コンパイルエラー:構文エラー」 と表示されます。どこが間違っているのかわかりません。 何方か教えて頂けませんでしょうか? 宜しくお願い致します。 Private Sub s店舗no_LostFocus() If Not IsNull(s店舗no) Then 'DLookup("店舗名","t店舗","[店舗no]= forms![ft店舗seach]![s店舗no]") DLookup("[店舗名]","[t店舗]","[店舗no]="& Forms![ft店舗seach]![s店舗no])   End If End Sub [イミディエイト]ウィンドウ ? DLookup("[店舗名]","[t店舗]","[店舗no]="& Forms![ft店舗seach8]![s店舗no]) 梅が丘店 相模原鵜野森店 ?DLookup("店舗名","t店舗","[店舗no]= forms![ft店舗seach8]![s店舗no]") 梅が丘店 相模原鵜野森店

DCP-J973のトレイが引き出せない
このQ&Aのポイント
  • DCP-J973のトレイが引き出せないという問題が発生しました。
  • 2L版の用紙を印刷しようとして、誤ってスライドトレイを前方に押し込んでしまい、引き出すことができなくなってしまいました。
  • 環境はWindows10で無線LANに接続されており、電話回線はひかり回線となっています。
回答を見る