2011-01-14 3 views
1

CSVファイルをRecordSourceとして使用するには、アクセスレポートが必要です。CSV /テキストファイルをレポートのレコードソースとして使用する

私は多くのことを検索して試しましたが、これを達成する方法はありませんでした。他のデータベースのテンポラリテーブルはであり、オプションはではありません。

私はDAO RecordSetを使用しようとしてきたが、私は、レポートのRecordSetとして設定することはできませんし、両方のアプローチがエラーにつながるとして、私はRecordSourceプロパティとしてそのNameを使用することはできませんRecordSetだけで罰金を読むことができますが。

私は方法を見つける手助けをしてください!

答えて

2

Iレポートのレコード、接続文字列を指定するFROM句でIN演算子を使用します。

SELECT [TestMailing#txt].* 
    FROM [TestMailing#txt] IN 'C:\Documents and Settings\My Documents'[Text;FMT=Delimited;HDR=NO;IMEX=2;CharacterSet=1252]; 

基本的には、テキストファイルのINは2つの部分がありますが最初はファイルがあるパスで、2番目は括弧内の接続文字列オプションです。私は、テキストファイルへのリンクを作成し、その接続文字列を調べることによって、そのパラメタがどこにあるのかを知りました。

最後に、テキストファイルを#と置き換えてファイル名を使用してテーブルとして参照します。拡張のために。

アクセスクエリビルダを使用すると、クエリのプロパティシートにこれらのオプションを配置できます。パスはSource Databaseプロパティで、接続文字列オプションはSource Connect Strプロパティです。これらをプロパティシートに配置したら、[ADD TABLES]ツールバーアイコンをクリックして、指定したフォルダ内の特定の接続文字列のファイルのリストを取得できます。

レポートで同じ構造ファイルを使用する場合は、保存されたインポート仕様を作成して信頼性を向上させることができます。これは接続文字列オプションでも指定できます。これは、テキストファイルへのリンクテーブルを作成し、その接続文字列を調べることで見つけることができます。

しかし、そのような場合は、テキストファイルにリンクを作成して永久に残すべきではないという貴重な理由はありません。

1

AFAIKを実行する唯一の方法は、csvファイルをリンクすることです。実行時にリンクし、リンクが継続している場合は、レポートが完了した後にリンクを解除することができます。 DoCmdオブジェクトのTransferTextメソッドを使用すると、VBAでリンクできます。

詳しい情報:http://msdn.microsoft.com/en-us/library/aa220768(v=office.11).aspx

+0

この情報は前に見つかりましたが、TransferTextメソッドまたはCreateTableDef関数(これに相当するはずです)のドキュメントが見つかりませんでした。リファレンスマニュアルへのリンクを提供してください。私はそれが必要な議論を知らない! – Falcon

+0

さて、リンクを追加しました。 Accessを使用している場合、Intellisenseはこれらのことを多くサポートします。また、一部のバージョンのAccess HelpはObject Browserと同様に非常に便利です。 – Fionnuala

関連する問題