0

SQL 2005 テーブルにリンクしている Access 2007 データベースの DCount に問題があります。

次のコードは、テーブル " tblPART_CandD_MASTER" がローカルの場合に正常に機能します

DCount("*", "tblPART_CandD_MASTER", ("[InvalidContract] =0 and [MissingContract] =0  and DateTimeSubmittedtoDB = #" & Me.txtDateTime & "#"))

すべてのローカル テーブルを SQL 2005 サーバーに移動しました。さて、上記のコードは毎回ゼロを返します。

次の方法でコードを分割すると、それも機能します。

DCount("*", "tblPART_CandD_MASTER", ("[InvalidContract] =0 and [MissingContract] =0"))

DCount("*", "tblPART_CandD_MASTER", ("DateTimeSubmittedtoDB = #" & Me.txtDateTime & "#"))

上記の 2 行のコードが機能するので、なぜこれが機能しないのか、私は不満を感じています。

DCount("*", "tblPART_CandD_MASTER", ("[InvalidContract] =0 and [MissingContract] =0  and DateTimeSubmittedtoDB = #" & Me.txtDateTime & "#"))
4

2 に答える 2

0

エレガントではないソリューションを作成しました。SQLテーブルからローカルアクセステーブルに関連データを抽出し、機能したローカルテーブルでDCountを実行しました。この方法ではやめたほうがよかったのですが、この問題を後回しにする必要がありました。皆様のご意見ありがとうございました。

于 2012-09-19T17:53:02.020 に答える
0

少しいじると、これが機能することがわかります。

=DCount("*","dbo_tblPART_CandD_MASTER",("InvalidContract=false And MissingContract=false And  DateTimeSubmittedtoDB=#" & [DateTimeSubmittedtoDB] & "#"))

私にとっての難しさは、SQL Serverの値がNullの場合でも、MSAccessでFalseとして表示されるビットデータ型でした。これを回避する方法があります。SQLサーバーで実行して問題を見つけました:

select count(*) 
from tblPART_CandD_MASTER 
where MissingContract=0 
and InvalidContract=0 
and DateTimeSubmittedtoDB={d '2012-09-21'}
于 2012-09-13T17:08:58.513 に答える