- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:AccessリンクテーブルFields.Countの取得)
AccessリンクテーブルFields.Countの取得
このQ&Aのポイント
- CSVファイルをリンクしている場合、リンクテーブルのFields.Countを取得する際に、自動で付けられたフィールド0が無視されてカウントされる問題があります。
- フィールド0はCSVのフィールド名にならず、自動で付けられるため、正確なFields.Countを取得することができません。
- この問題に対する解決策や別の方法などをご存知の方は、教えていただけると助かります。
- みんなの回答 (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形式にしてもともに期待通りでした
その他の回答 (1)
- redfox63
- ベストアンサー率71% (1325/1856)
回答No.1
リンクテーブル作成はどのようにして行ったのでしょう? Access2003の場合ウィザードを使うと2番目の画面で『先頭行をフィールド名として使う』のチェックボックスがありここをチェックするとCSVファイル内のフィールド名になります ご質問のようなコードを実行してみましたテーブル定義で表示される数が Fields.Countに返されるようです # Access2003の場合 『フィールド1』からになるようです
質問者
お礼
ご返信が大変遅くなり申し訳ないです。 リンクは自動で、実行中VBAで DoCmd.TransferText acLinkDelim でリンクを貼っています。 しかしDAOではなんかおかしいのです。 しかし解決しました。 ADOを使うと、Fields.Countで、DAOでは無視されていた自動で付いたフィールドを無視せず、思い通りのFields.Countを取得する事に成功しました。 疑問は残りますが、結果がADOで成功したので、 DAOからADOに変更しました。 どうもありがとうございました。
お礼
なるほど。検証ありがとうございます。 しかしDAOからADOにしただけで、他のソースは弄ってないのに、 何で成功したのでしょうね・・・。 疑問が残りますが、どうもありがとうございました^^