2016-05-12 23 views
0

I Spalte in eine vorhandenen Tabelle in MS Access 2010 mit adodb.recordsetFehler beim Hinzufügen einer Spalte in Access durch Cord-

rst.Open "ALTER TABLE tblPatients ADD COLUMN husband_profession TEXT", conn, adopendynamic, adlockoptimistic 

hinzufügen versuche ich erhalte die folgenden Fehler

ADODB.Recordset Fehler '800a0bb9'

Argumente sind vom falschen Typ, liegen außerhalb des akzeptablen Bereichs oder sind im Konflikt miteinander.

Antwort

2

Ein ADODB.Recordset ist ein Objekt, das Datensätze enthalten soll.

Eine ALTER TABLE-Anweisung gibt keine Datensätze zurück.

Das ist die Ursache des Konflikts bei rst.Open --- Sie geben nicht die Open Methode eine gültige Datenquelle für die Recordset.

Ihre conn Objektvariable ist eine gültige offene Verbindung, verwenden Sie seine Execute Methode Angenommen, Ihre ALTER TABLE wie folgt auszuführen:

ohne Größe
conn.Execute "ALTER TABLE tblPatients ADD COLUMN husband_profession TEXT" 

Beachten Sie die Access SQL TEXT Typ angegeben werden Sie tatsächlich eine geben Memofeld, wenn es von ADO ausgeführt wird. Wenn Sie stattdessen ein einfaches Textfeld wünschen, fügen Sie eine Größe nach dem Schlüsselwort TEXT hinzu. Die maximale Größe für ein Access-Textfeld beträgt 255 Zeichen. Sie können eine kleinere Zahl ersetzen, wenn Sie möchten.

conn.Execute "ALTER TABLE tblPatients ADD COLUMN husband_profession TEXT (255)" 
+0

Danke ... das Problem ist aussortiert –