プロが教えるわが家の防犯対策術!

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

A 回答 (4件)

> >抽出条件に指定した"[車番] = '" & Me.車番入力欄 & "'"


> そのままコピペしたのですが、「指定した式の構文が正しくありません。たとえば、演算子がないときにオペランドを指定しています。」というエラーがでました。

上記 "[車番] = '" & Me.車番入力欄 & "'" は、[車番]がテキスト型の場合です。
[車番]が数値型の場合には、"[車番] = " & Me.車番入力欄 のようにします。

違いは、比較する文字(Me.車番入力欄の値)を ' で囲むかどうかです。

> =DLookUp("[ドライバー]","車番")
この場合には、条件が設定されていないので、たまたま先頭にあったデータが拾われます。

DLookupは、ヘルプにあるように、
DLookup(抽出したいフィールド,テーブル名,抽出条件式 )になります。
    • good
    • 0
この回答へのお礼

30246kikuさん
もう一度最初からやり直してみたところ、やっとできました。何度もアドバイスいただいて感謝しています。勉強をつづけていきます。ありがとうございました。

お礼日時:2009/03/18 19:27

> 車種のテーブルにはほかのフィールドもあったのですが、それを削除して車番と全長のみにするとできました



例で挙げたもの
( DLookup("[全長]","車種","[車番] = '" & Me.車番入力欄 & "'") )
は、[車番](テキスト型)がMe.車番入力欄のものの「全長」を持ってくる
ことになるので、他のフィールドがどうであろうが関係ありません。

できなかった時の、「車種」テーブルの内容と、
抽出条件に指定した"[車番] = '" & Me.車番入力欄 & "'"を提示できますか。

こちらでもやってみます。
ただし、私の確認できる環境は Access2007+Vista Ultimate です。
    • good
    • 0
この回答へのお礼

30246kikuさんありがとうございます。実は前回「できました」としましたが、どうやらできていなかったようでした。

>できなかった時の、「車種」テーブルの内容
ここでどうかけばいいかわかりませんが・・・
ID | 車番 | ドライバー
1 | 100 | 山本
2 | 113 | 岡崎
3 | 2005 | 本田

というかんじです。([全長]ではなく[ドライバー]にしました)

>抽出条件に指定した"[車番] = '" & Me.車番入力欄 & "'"
そのままコピペしたのですが、「指定した式の構文が正しくありません。たとえば、演算子がないときにオペランドを指定しています。」というエラーがでました。

ヘルプを見て自分なりに解釈したのが↓です。
=DLookUp("[ドライバー]","車番")
これでいけたと思ったのですが、[車番]テーブルのいちばん最初のデータしかひろってきませんでした。

質問下手ですみません。

お礼日時:2009/03/11 18:50

ヘルプは見ない方のようですね。




DLookup("[全長]","車種","[車番] = '" & Me.車番入力欄 & "'")

とか、

DLookup("[全長]","車種","[車番] = " & Me.車番入力欄 )

とか
    • good
    • 0
この回答へのお礼

何度もありがとうございます。ヘルプは見たんですがピンとこなくてここで質問しました。車種のテーブルにはほかのフィールドもあったのですが、それを削除して車番と全長のみにするとできました。同じテーブルに複数のフィールドをおいて、そこから選択することができないのでしょうか?とにかく、ありがとうございました。

お礼日時:2009/03/09 19:14

DLookup("[全長]","車種","[車番] = XXX")



車種テーブルから、車番=XXX のものの全長が戻り値として得られます。

詳しくはヘルプで、DLookup 検索してみてください。
    • good
    • 0
この回答へのお礼

ありがとうございます。説明不足でした。
車番を入力するごとに結果を変えたいのですが、フォームに「車番入力欄」がありますが、そこに対応するデータを表示させたいと思っています。 教えていただいた"[車番]=XXX"にするとXXXのものしか表示されないかと思うのですが、どうすれば他の車番にも対応できるのか、すみませんが教えていただけませんか。

お礼日時:2009/03/09 04:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!