Ich arbeite in VB6 auf einem Windows 7-Desktop zum Lesen und Bearbeiten von Textdateien und habe ein Problem beim Übergeben von Variablen an eine SELECT-Anweisung. Der Code, den ich habe, ist:VB6 Dateipfad in SQL einfügen FROM-Klausel
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
Das Problem ist, dass der Pfad zu der Eingabedatei enthält Leerzeichen und wenn ich den Code oben laufen, scheitert es an der rs.OPen Linie mit einer Fehlermeldung, Syntaxfehler in FROM Klausel. Wenn der Pfad in der Eingabedatei keine Leerzeichen enthält, funktioniert alles problemlos.
Ich habe viele Kombinationen von " '[] usw. rund um die Eingabedatei versucht, aber immer die Syntaxfehler oder einen anderen Fehler erhalten, dass inputFile.txt kann nicht gefunden werden.
Kann mir jemand die richtige Methode für den Umgang mit Pfad/Dateinamen mit Leerzeichen in einer SQL-Anweisung bitte?
wenn sie auf eine Frage geht es zwischen den Markierungen oder einrücken es durch 4 Leerzeichen –
Was ist der Name der Tabelle, versuchen Sie zu Hinzufügen von Code auswählen von? Es sieht so aus, als ob Sie versuchen, aus einer Datei im Dateisystem auszuwählen, was keinen Sinn ergibt. – recursive
Ich versuche, die Daten aus einer Textdatei zu lesen. Wie gesagt, wenn der Pfad in der Eingabedatei keine Leerzeichen enthält, kann ich die Textdatei problemlos lesen. Sobald das rs geöffnet ist, verwende ich rs.GetRows, um die Daten in ein Array zu setzen, das ich dann verarbeite. – blueflash