2016-07-08 7 views
0

Excelファイルからデータを選択してAccessテーブルに挿入するためにInsert Intoクエリを使用しようとしています。私が持っている問題は、Excelの列の1つが文字、数字、またはその両方であることです。私はテキストとしてデータを選択したいと思いますが、テキストとテキスト/数値の入力には空白しか表示されません。テキストファイルが最初の行にあるようにExcelファイルを並べ替えると、すべてのデータが変換されます。 私は次のことを試してみました:Microsoft Accessのステートメントへの挿入Excelからデータを選択---フィールドが混在Intおよびテキスト

strSQL = "INSERT INTO tblImport ([TIMS Company Code]) " & _ 
    "SELECT [TIMS Company Code] " & _ 
    "FROM [Excel 8.0;HDR=YES;DATABASE=" & xlPath & "].[Manual Entry$];" 

==================================== ===================

strSQL = "INSERT INTO tblImport ([TIMS Company Code]) " & _ 
    "SELECT CStr([TIMS Company Code]) " & _ 
    "FROM [Excel 8.0;HDR=YES;DATABASE=" & xlPath & "].[Manual Entry$] " & _ 
    "WHERE [TIMS Company Code] IS NOT NULL;" 

====== ========================================== =================

strSQL = "INSERT INTO tblImport ([TIMS Company Code]) " & _ 
    "SELECT (CAST([TIMS Company Code]) AS TEXT) " & _ 
    "FROM [Excel 8.0;HDR=YES;DATABASE=" & xlPath & "].[Manual Entry$];" 

私はまた、「schema.iniという」と呼ばれるものの中に見てきましたが、それは少し私の頭の上にいるようです。

誰かが提供できるヘルプをいただきありがとうございます。

ジェイソン

+0

は何このように 'IMEX = 1'を追加するとどうなりますか? 'HDR = YES; IMEX = 1; DATABASE =' – HansUp

+0

こんにちは@HansUp、私はちょうど投稿後にこれを見てきました。残念なことに最初の8行または10行が数字になる可能性があるため、これは機能しません。私はレジストリの中で何かを変更すると動作するかもしれないことを発見しました。 https://support.microsoft.com/en-us/kb/194124 – jcarroll

答えて

2

は、アクセスが参考になろうとは、最初の8行に基づいてデータ型を推測します。

2つの回避策があります。

  1. 上部にあるテキストのダミー行を追加します -
  2. を読むときにはCSVファイルとして保存し、保存されたインポートの仕様を使用することを破棄
1

もっと多くの研究の後、私は多くのことを学びましたが、解決策を見つけていません。アクセスは、最初の8行に注目し、その

  • あり、いくつかの事柄に基づいてデータ型の決定を下すため

    • 問題が発生します。この道をつまずき誰のために、ここでいくつかのことは知っておく価値ありあなたは、接続文字列に追加することができますが、最初の8行は整数であり、テキストの少なくとも1行は、あなたができる最初の8
    • に存在する場合、テキスト値がある後で
    • IMEX=1が動作する場合はそれらのどれも助けませんレジストリ設定を調整して最初の8個以上を見てください:[HKLM\Software\Microsoft\Jet\4.0\Engines\Excel
    • 私はVBA内からレジストリ設定を変更する方法を見つけることができませんでしたが、C#.Netで作業している場合は完全に可能です。
    • この件に関する情報は、Microsoft SQL Serverに関するものですが、まだここで役に立つ
    • は、私が見つけた最も有用なウェブサイトへのリンクです:あなたが出ていたようにhttps://yoursandmyideas.wordpress.com/2011/02/05/how-to-read-or-write-excel-file-using-ace-oledb-data-provider/
  • 関連する問題