Windows 7 デスクトップで VB6 を使用してテキスト ファイルを読み込んで作業していますが、変数を SELECT ステートメントに渡す際に問題が発生しました。私が持っているコードは次のとおりです。
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim cm As ADODB.Command
Set conn = New ADODB.Connection
conn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & ";" & _
"Extended Properties=""text;HDR=No;FMT=Delimited( )"""
inputFile = "C:\test data\test data.asc"
Set cm = New ADODB.Command
cm.ActiveConnection = conn
cm.CommandType = adCmdText
cm.CommandText = "SELECT * FROM " & inputFile
Set rs = New ADODB.Recordset
rs.Open cm, , adOpenKeyset, adLockOptimistic
問題は、入力ファイルへのパス名にスペースが含まれており、上記のコードを実行すると、rs.OPen 行で FROM 句の構文エラーというエラーで失敗することです。inputFile のパスにスペースが含まれていない場合、すべて問題なく機能します。
inputFile の周りで " ' [] などの多くの組み合わせを試しましたが、常に構文エラーまたは inputFile.txt が見つからないという別のエラーが発生します。
SQLステートメントでスペースを含むパス/ファイル名を処理する正しい方法を教えてください。