- ベストアンサー
Access DCountでの連番について
DCountで連番を追加したいのですが演算対象条件の記述方法が良く分かりません。 調査用品別販売データクエリの商品コードフィールドに対して連番を振りたいです。 商品コード、連番 00110 1 00110 2 00120 1 00120 2 上記のようにしたいのですが 式1: DCount("商品コード","調査用品別販売データ","商品コード=" & [調査用品別販売データ]![商品コード]) これではエラーが出てしまいます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
商品コードと同じようにしてやればいいのです 連番:式1: DCount("*","調査用品別販売データ","商品コード='" & [商品コード] & "' and ID <='" & ID & "'")
その他の回答 (3)
- CHRONOS_0
- ベストアンサー率54% (457/838)
DCountの第3項は抽出条件式です 抽出条件として書けるようなものなら除外できますよ
- CHRONOS_0
- ベストアンサー率54% (457/838)
アップされたフィールド以外に連番を降る順序を指定できるフィールドが必要です IDという数値型のユニークなフィールドがあると仮定すれば 連番:式1: DCount("*","調査用品別販売データ","商品コード='" & [商品コード] & "' and ID <=" & ID) エラーが出るのは商品コードがテキスト型なのにそういう書き方をしていないからです
補足
ありがとうございます。 IDが文字列でエラーが表示されます。 'でどこの部分まで囲めば良いのでしょうか?
式が、目的に合致しているかどうかは別として、 DCount関数のCriteria部分は、文字列型フィールドの値で絞り込む場合は、 "商品コード=" & [調査用品別販売データ]![商品コード] は "商品コード='" & [調査用品別販売データ]![商品コード] & "'" と、「'」で括らなくてはなりません。 しかし、残念ながらこの式はうまく動きません。 VBAを使わないと無理ではないかと思います。
補足
ありがとうございます。助かりました。 序にお聞きしたいのですが、IDの中に含めたくないIDがある場合 <>やnotで指定してやることはできるのでしょうか 出来ないようでしたら、あらかじめ含まれていないクエリを制作する必要がありますよね。