Ich möchte eine SQL Server-Tabelle abfragen und die Ergebnisse dieser Abfrage in einem Array speichern. Ich gebe nur einen Distinct()
von einem Feld zurück, also sollte es ziemlich direkt sein. Meine Syntax erzeugt die FehlerSQL-Tabelle abfragen und Ergebnisse im Array speichern
Ungültige Qualifier
Auf dieser Codezeile Set r = conn.Execute
und es unterstreicht das Wort conn
Wie soll ich diese Syntax neu schreiben noch ADO
verwenden aber in der Lage sein, erfolgreich diese laufen Verfahren?
Public Function ReturnData()
Dim c As ADODB.Connection
Dim r As ADODB.Recordset
Dim f As ADODB.Field
Dim conn As String
Dim arrResults() As Variant
Set c = New ADODB.Connection
With c
.Provider = "sqloledb.1"
With .Properties
.Item("Data Source") = "ServerName"
.Item("Initial Catalog") = "Database"
.Item("PassWord") = "password"
.Item("User ID") = "user"
End With
.Open
Set r = conn.Execute("SELECT Distinct(Name) from registered where cancelled IS NULL;")
i = 0
r.MoveFirst
Do Until rst.EOF
arrResults(i) = rst.Fields(0)
i = i + 1
Loop
rst.Close
Set rst = Nothing
c.Close
End Function
Sie conn haben, ist eine Zeichenfolge gibt, c ist eine Verbindung - können Sie c.execute tun – Cato
Es gibt ein paar Probleme mit diesem Code. Hast du das aus dem Internet kopiert/eingefügt? Es gibt mehrere Gelegenheiten, bei denen Sie die Variable first aufrufen. Aber das ist nicht definiert. Verdächtiger solltest du mit "r" ersetzen. Da zwei mit Aussagen. Aber nur 1 'Ende mit'. Die Variable i ist nicht deklariert. 'Dim i AS Integer' zu beheben. –