• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:AccessリンクテーブルFields.Countの取得)

AccessリンクテーブルFields.Countの取得

このQ&Aのポイント
  • CSVファイルをリンクしている場合、リンクテーブルのFields.Countを取得する際に、自動で付けられたフィールド0が無視されてカウントされる問題があります。
  • フィールド0はCSVのフィールド名にならず、自動で付けられるため、正確なFields.Countを取得することができません。
  • この問題に対する解決策や別の方法などをご存知の方は、教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

Access2003で DAOの設定を 『Microsoft DAO 2.5/3.51 Compatibility Library』 『Microsoft DAO 3.51 Object Library』 『Microsoft DAO 3.6 Object Library』 どの設定に変更しても 期待したとおりのカウントが返ってくるようです DB形式を 2000形式、2002-2003形式にしてもともに期待通りでした

yuji_from_kyoto
質問者

お礼

なるほど。検証ありがとうございます。 しかしDAOからADOにしただけで、他のソースは弄ってないのに、 何で成功したのでしょうね・・・。 疑問が残りますが、どうもありがとうございました^^

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

リンクテーブル作成はどのようにして行ったのでしょう? Access2003の場合ウィザードを使うと2番目の画面で『先頭行をフィールド名として使う』のチェックボックスがありここをチェックするとCSVファイル内のフィールド名になります ご質問のようなコードを実行してみましたテーブル定義で表示される数が Fields.Countに返されるようです # Access2003の場合 『フィールド1』からになるようです

yuji_from_kyoto
質問者

お礼

ご返信が大変遅くなり申し訳ないです。 リンクは自動で、実行中VBAで DoCmd.TransferText acLinkDelim でリンクを貼っています。 しかしDAOではなんかおかしいのです。 しかし解決しました。 ADOを使うと、Fields.Countで、DAOでは無視されていた自動で付いたフィールドを無視せず、思い通りのFields.Countを取得する事に成功しました。 疑問は残りますが、結果がADOで成功したので、 DAOからADOに変更しました。 どうもありがとうございました。