VC++ 6.0 MFCで Access2000のDBを操作しています。
テーブルを複数結合しSQLを投げた時、なぜか何度も結果を取得しているみたいです。。。
ひとつのテーブルではそんな事もなかったのですが、、、
誰か教えてください。お願いします。。
従業員管理、仕入、売上テーブルの各従業員IDで結合しています。
デバックでiを見ても693となり、whileの中で回りすぎてるみたいです。
CString SQL;
CSQLSet db;
int i=0;
SQL=SELECT * FROM [MT_従業員管理] A,[T_仕入] B,[T_売上] C WHERE A.[従業員ID]=B.
[従業員ID] AND A.[従業員ID]=C.[従業員ID] AND [会社ID]=1 OR [会社ID]=2 AND B.[日
付] BETWEEN #1990/02/01# AND #1990/03/31#;
db.Open( CRecordset::snapshot,SQL);
if(!db.IsEOF()){
db.MoveFirst();
while(!db.IsEOF()){
AfxMessageBox(db.m_column3);
fprintf(fp,%s,db.m_column3);
db.MoveNext();
i++;
}
}
db.Close();
ここ
[会社ID]=1 OR [会社ID]=2
は
([会社ID]=1 OR [会社ID]=2)
では?
指摘ありがとうございます。
そうです。。
([会社ID]=1 OR [会社ID]=2)
ですね。。。
すいません
解決でしょうか?