• 締切済み

こんなこと出来ますか?

Windows2000とACCESS2000 AとBのテーブルがあって、注番でリレーションが設定してます。 Aの名前・住所・電話番号はBの名前・住所・電話番号・家族・・・のテーブルからDLOOKUPで表示されるようにしてます。 注番が10-10だとしたらその後に-8を付け加えた注番も注番だけの場合と同じ様に名前・住所・電話番号を表示させることって出来るのでしょうか? もし、出来るのならその設定方法を教えて下さい。 宜しくお願いします。

みんなの回答

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.4

ごめんなさい。補足要求を見逃しておりました。 そうですか。ダメだったんですか~。 うーん… ○[CTRL+G]を押して、VBエディタを表示してください。 [ツール]-[参照設定]で、「Visual Basic for Application」にチェックは付いていますか?(これは、あんまり関係ない気はするのですが(汗) ○「A.注番」のところを、「[テーブル名].[フィールド名]」のように、大括弧で括ってみてはどうでしょうか。

twingo
質問者

お礼

お返事遅くなって申し訳ございませんでした。 他の設定の仕方で無事したかった事が出来ました。 いろいろアドバイス有難うございました。 まだまだ分からない事だらけで投稿すると思いますが、その際は宜しくお願い致します。

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.3

ん~、何ででしょうねぇ。手元でやった実験では値が取得できているんですが… まずは、お約束ではありますが、スペルミスをチェックしてみてください。 あとは、思いついたことをざっと書いてみます。 ○注番は文字型のフィールドですよね? ○シングルコーテーションは半角で入力していますか? フィールド名称なども、全角半角の区別はできていますか? ○「A.注番」は、Aテーブルの注番フィールドって意味です。「A」をお使いのテーブル名に置き換えていますか? ○AccessのLike演算子は、半角カナの濁点の扱いがちょっと特殊です。 Like 'サ*' (←半角だと思ってください。) は「サトウ」(←半角)にはマッチしますが「ザイツ」(←半角)にはマッチしません。

twingo
質問者

補足

こんにちは。 お返事遅くなり申し訳ございませんでした。 スペル間違いかと思いチェックしましたが間違ってませんでした。 チュウバンは文字型のフィールドだし、コーテーション等も間違ってませんでした。 Aをテーブル名に置き換えますし・・・ で、1つ思ったのですが、Like演算子が・・・ 注番は2002-10-10の記述の仕方をしてるのが原因の1つかな?と思ったのですが・・・ ご迷惑お掛けして申し訳ございませんが、宜しくお願い致します。

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.2

> 10-10 一郎 10-10-1 一郎(10-10と同じ)だったら大丈夫って事ですよね? はい。この場合でしたら大丈夫ですね。 ところで、#1は 誤 のように該当レコードが複数ある場合には、レコードが返ってくるかは指定できません。 正 のように該当レコードが複数ある場合には、「どの」レコードが返ってくるかは指定できません。 でした~ キチンと推敲しなかったことがチョンばれですねぇ(^^;

twingo
質問者

補足

おはようございます。 アドバイス有難うございます。 で、早速教えて頂いたとおりに設定してみたのですが、レコードが返ってきませんでした。 10-10のレコードは存在するけど、10-10-1のレコードは Bのテーブルには存在しないからでしょうか? 10-10の注番を入れても10-10のレコードも出てこないって事は他に何か原因があるのでしょうか? お手数掛けますが、再度アドバイス頂けたらと思います。 宜しくお願い致します。

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

=Dlookup("名前", "B", "注番 ='" & A.注番 & "'") というような感じで作られているのでしょうか? その場合でしたら、 =Dlookup("名前", "B", "注番 Like '" & A.注番 & "*'") で、何とかなるかもしれません。 ただし、DLookupはあくまでも、検索をかけて『内部的に』最初に見つかったレコードを返す関数でありますので、 10-10-1 一郎 10-10-2 次郎 10-10-3 三郎 : のように該当レコードが複数ある場合には、レコードが返ってくるかは指定できません。 もし複数件のデータ全てを表示させたいという要望がおありでしたら、DLookup以外の方法を取らなくてはなりません。

twingo
質問者

補足

おはようございます。 お返事遅くなってすいません。 >ただし、DLookupはあくまでも、検索をかけて『内部的 >に』最初に見つかったレコードを返す関数でありますの >で、 10-10-1 一郎 10-10-2 次郎 >>10-10 一郎 10-10-1 一郎(10-10と同じ)だったら大丈夫って事ですよね? 同じ人で10-10 の注番と10-10-1の注番が同じ人で表示されれば良いので・・・ 分かりにくい質問ですいません。 再度アドバイス頂けたらと思います。

関連するQ&A