プロが教える店舗&オフィスのセキュリティ対策術

こんにちわ、ご教授よろしくお願いします。

win2000 Office97を使用しています。

ACCESS97でテーブルリンクでデータを抽出して、
クエリーを走らせた場合と、
リンクを一度テーブルに落としてから、
クエリーを走らせた場合とでデータ件数がちがってきてしまいます。

正しい結果は一度テーブルに落としてから、クエリーを走らせた場合が正しい結果が出ました。

97でテーブルリンクを使用する際に
なにか注意しなければならないことがあるのでしょうか?
一々、テーブルに落としてからクエリーを走らすにはかなりの数があるので、
できれば、テーブルリンクを使用してクエリーを走らせたいのです。

わかりずらい説明ですが、ぜひとも
ご教授お願いします!><

A 回答 (5件)

#2です。

ご提示頂いたSQL文を見る限りでは余りお役に立てそうもありません。以下、私がデバッグするならということも含めて

1.リレーションを取らないで
SQSBR_SUM_NT_SHINZAI_F.SHIN_HINBANとsinzaiの件数を比較するとどうなるか

2.二つのSQL文でSHIN_JITUZAISUとSHIN_EZAIFが異なっているが、同じにしたらどうか

3.SQLを単純化してSELECT SQSBR_SUM_NT_SHINZAI_F.SHIN_HINBAN, げんか.HINBAN
FROM SQSBR_SUM_NT_SHINZAI_F INNER JOIN げんか ON SQSBR_SUM_NT_SHINZAI_F.SHIN_HINBAN = げんか.HINBAN;
のように(どちらも直して)でどうか

4.多い方と少ない方の差分をSELECT クエリ1.SHIN_HINBAN, クエリ2.SHIN_HINBAN
FROM クエリ1 LEFT JOIN クエリ2 ON クエリ1.SHIN_HINBAN = クエリ2.SHIN_HINBAN
WHERE (((クエリ2.SHIN_HINBAN) Is Null));のように抽出して、何らかの規則性はないか

この方法で問題解決に近付く自信はありません。あくまでも私であればこのようにするということで、ご参考までに(^^;
    • good
    • 0

>下のほうにレコード数が表示されますので


>そこで確認しました。

リンクテーブルのほうのクエリー、一度最終レコードまで移動させました?


あと、
select count(*) from クエリー名;

このSQLの選択クエリーを新たに作って実行するとどうなりますか?
これで各クエリーで取得された件数を確認してみてください。

これで件数が違うようですと問題なんですが。


また、取得したデータはどのようにこのあと加工して利用するのでしょうか?

「コピーしてExcelに貼り付ける」とか、「CSVでエクスポートする」とかいうレベルでかまわないんで。

ちなみに、リンクテーブルのリンク先のDBは名前からしてSQLServerですか?
    • good
    • 0

あのう、データの取得ではなく『件数の取得方法』を確認したかったんですが。

この回答への補足

申し訳ありません^^;

件数はクエリーを実行したら
下のほうにレコード数が表示されますので
そこで確認しました。

よろしくお願いします。

補足日時:2005/03/25 18:26
    • good
    • 0

問題のクエリーをSQL文として提示できないでしょうか?

この回答への補足

SQL文は下記のとおりです。

●テーブルリンクのとき
SELECT SQSBR_SUM_NT_SHINZAI_F.SHIN_HINBAN, SQSBR_SUM_NT_SHINZAI_F.SHIN_EZAIF
FROM SQSBR_SUM_NT_SHINZAI_F INNER JOIN げんか ON SQSBR_SUM_NT_SHINZAI_F.SHIN_HINBAN = げんか.HINBAN;

●テーブルのとき
SELECT sinzai.SHIN_HINBAN, sinzai.SHIN_JITUZAISU
FROM げんか INNER JOIN sinzai ON げんか.HINBAN = sinzai.SHIN_HINBAN;

リレーションシップは
両方のテーブルの結合フィールドが同じ行だけを含めるです。

よろしくおねがいします

補足日時:2005/03/25 18:20
    • good
    • 0

それぞれのデータ件数はどのように取得していますか?

この回答への補足

ご回答ありがとうございます。

補足をさせていただきます。

データの取得ですが、
別のテーブルに抽出したい品番テーブルというのがあります。
その品番テーブルと同じ品番のデータを引っ張るだけのクエリーで抽出条件等は他にはありません。

これがテーブルリンクでデータを引っ張ってくると
データが少ないんです。

リンクしたデータを一旦テーブルに落としてから
クエリーを走らすと、ちゃんと全部ひっぱってこれます。

マイクロソフトのサイトもみたのですが、
わかりませんでした。。

よろしくお願いします><

補足日時:2005/03/25 15:10
    • good
    • 0

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

関連するカテゴリからQ&Aを探す