アプリ版:「スタンプのみでお礼する」機能のリリースについて

ACCESSのVBAで社内システムを作っています。
Dcount関数の引数1であるフィールド名を指定すると、下記のようなエラーが出てしまいます。

「クエリ式'Count(2A)'の 構文エラー:演算子がありません。」

色々切り分けして以下のような法則を見つけました。
・フィールド名が数字のみの場合→使用できる
・フィールド名の先頭が数字以外の場合→使用できる
・フィールド名の先頭が数字(全半角共に)の場合→エラー発生

全社システムからACCESSにインポートするデータのフィールド名が「2A」「3A」などの商品コードになっているためこのまま使用したいのですが、手段はありますでしょうか。

■使用しているツール
Microsoft Office Access 2007


よろしくお願いします。

A 回答 (2件)

現象には一致しておりませんが、以下を一読してみて



http://support.microsoft.com/kb/932994/ja


DCount に指定するフィールド名部分を [ ] で囲んでみてどうなりますか。

解消できなかったらごめんなさい。
解消できたらできたで、同様な他場所の修正等が必要になると思います。
    • good
    • 0
この回答へのお礼

[] を使用してエラー回避できました!

>解消できたらできたで、同様な他場所の修正等が必要になると思います。
レコードセットでフィールド名リストを呼び出しているので、修正は一か所で済みました。

cnt = Dcount("[" & rs(2) & "]","フィールド名リスト")

大変参考になりました。
ありがとうございました。

お礼日時:2011/02/24 11:48

回避方法は、30246kiku さんの方法で出来るのではと思いますが


access フィールド名 数字 をキーワードにGoogleと一杯!出てきます。
出来るものなら変更したいところです。
上記の検索で出てきたものの中に興味深い回答がありました。
ACCESSのテーブルのフィールド名を「0」から始まる数字にしてしまった場合
http://detail.chiebukuro.yahoo.co.jp/qa/question …

>データのフィールド名が「2A」「3A」などの商品コード
どうもExcel的なテーブル構造のような気がします。
だとしたら今後面倒なことになりかねない気もしますので
『テーブルの正規化』も検討された方が宜しいのでは?
    • good
    • 0
この回答へのお礼

30246kiku さんの方法で解決できました!

教えていただいたリンクも確認しました。
今後もVBAでプログラミングする上で参考になるページでした。

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

お礼日時:2011/02/24 11:47

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

このQ&Aを見た人はこんなQ&Aも見ています