2011-10-21 16 views
0

Delphiを使用してタブ区切りのテキストファイルをMS ACCESSデータベーステーブルに読み込もうとしています。Delphiを使用してMS ACCESS TABLEにテキストファイルをロード

私が試してみて、私のデータをロードする際にこれまでのところ、私は新しいAccessデータベースとテーブルを作成することができたが、しているが、メッセージでEOLeExceptionを得る:

「INSERT INTOステートメントは、次の不明なフィールド名が含まれています。

cs := 'insert into TABLENAME(FIELD1, FIELD2, FIELD3, FIELD4, FIELD5, FIELD6, FIELD7,  FIELD8, FIELD9, FIELD10, FIELD11, FIELD12, FIELD13, FIELD14, FIELD15) select * from [FILENAME.txt] in "' + EditJobLocation.Text + '" "Text;HDR=Yes"'; 
ADOCommand2.CommandText := cs; 
try 
    ADOCommand2.Execute; 
etc... 

問題が何であるかわからないが、私はそれが1アンダースコアなど、すべてのフィールドを返す「*選択」部分に関係しています考えて次のように「FIELD1_FIELD2_FIELD3 _...」

私のコードです区切られた文字列。

私はいくつかの回答を見つけようとしていますが、まだ何も見つかりませんでした。

ご協力いただければ幸いです。

+0

"select *"が問題のように見える場合、明白な疑問があります。既に "select field1、field2、..."を試してみましたか? –

+1

FILENAME.txtの内容を調べることなく、最初の2〜3行では手助けができません。 –

答えて

0

提案:部分だけを残して、insert部分を削除してみてください。

cs := 'select * from [FILENAME.txt] in "' + EditJobLocation.Text + '" "Text;HDR=Yes"'; 

この改訂版のSQL文を使用して、レコードセットオブジェクトを開きます。成功した場合は、レコードセットのFieldsコレクションを調べます。つまり、返された列の数、名前、順序の位置などです。

これは、問題がテキストファイルからデータを取得しているのか、アクションを挿入します。

p.s.すでにアクセスしている場合は、schema.iniファイルを使用して、アクセスがテキストファイルのデータを列とそのデータ型でどのように見ているかをより詳細に制御できます。

関連する問題