Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: thorpax am Februar 11, 2015, 11:44:35

Titel: Problem beim löschen von Tabellen mit ADODB Command
Beitrag von: thorpax am Februar 11, 2015, 11:44:35
Hallo Leute :)

Bin etwas ratlos und kurz vorm verzweifeln.
Folgende Situation.

Wir habe eine Paradox 7 Datenbank. Bisher haben wir Access 2003 verwendet um auf die Daten der Paradoxdatenbank zugriff zu haben. Nun haben wir neune Server inkl Access 2010. Paradoxzugriff nahezu unmöglich. (Wird seitens Microsoft nur bis Access 2007 unterstützt  :( )

Vorher habe ich die Tabellen mit dem docmd.transferdatabase Befehl importiert.

DoCmd.TransferDatabase acImport, "Paradox 7.x", "C:\Wirtschaft", , " are.DB", "are001"

Hat Super funktioniert. Nun gehts nicht mehr. Also habe ich einen Code geschrieben, der mir mittels ADODB.Command über einen Sqlbefehl die Daten importiert.
Dieser Funktioniert auch .

Con und Cmd sind global dimensioniert.

Con.ConnectionString = "provider=microsoft.jet.oledb.4.0; data source=" & ParadoxPfad & "; extended properties=paradox 7.x"

Con.CursorLocation = adUseClient
Con.Open
Cmd.ActiveConnection = Con
Cmd.CommandType = adCmdText
Sql="select are.* into are in 'C:\wirtschaft\imported.mdb' from are;"
Cmd.CommandText = Sql
Cmd.Execute

Soweit so gut. Nur ist das Problem mit genau dieser Tabelle. (are)....
alle anderen Tabellen lassen sich so importieren. Auch eine Tabelle mit dem exakt gleichen Aufbau.

Ich habe es auch schon über die StroedProc Methode (also gespeicherte Abfragen ausführen) versucht. Tabellen mit exakt gleichen Aufbau lassen sich so übernehmen, nur diese eine nicht ....

Mein Ziel ist es, Access 2010 nutzen zu können, ohne Access 2003 zusätzlich installiert zu haben. Und dabei die Access 2003 mdb nur als Brücke zu nutzen...
Das ADODB kann (Jetengine) kann auch ohne Access 2003 darauf zugreifen.
Natürlich habe ich es schon mit Access 2010 über ADODB versucht, geht aber auch nicht ... :(

Hat jemand von euch eine Idee ??

LG
Andi
Titel: Re: Problem beim löschen von Tabellen mit ADODB Command
Beitrag von: DF6GL am Februar 11, 2015, 13:37:37
Hallo,


versuch mal:

Sql="select tmp.* into are in 'C:\wirtschaft\imported.mdb' from are As tmp;"
Titel: Re: Problem beim löschen von Tabellen mit ADODB Command
Beitrag von: thorpax am Februar 11, 2015, 14:17:56
Hallo DF6GL.

Vielen Dank für deinen Hinweis. Leider funktioniert es mit Alias auch nicht.
Es erscheint nach wie vor eine Fehlermeldung.

>Die Methode 'Execute' für das Objekt '_Command' ist fehlgeschlagen<

Was mich wundert ist das alle anderen Tabellen funktionieren.
Auch das Paradox Prüf, - und Reparaturtool sagt das die Tabelle i.O. ist ...

        daten = "c:\wirtschaft"
        Sql = "SELECT tmp.* INTO are IN 'c:\wirtschaft\imported.mdb' FROM are as tmp;"
       
        Con.ConnectionString = "provider=microsoft.jet.oledb.4.0; data source=" & daten & "; extended properties=paradox 7.x"
        Con.CursorLocation = adUseClient
        Con.Open
        Cmd.ActiveConnection = Con
        Cmd.CommandType = adCmdText
        Cmd.CommandText = Sql
        Cmd.Execute

Es gibt eine Tabelle Namesn ARA. Diese hat die Selbe Struktur und ist ein Archiv der ARE. Die ARA lässt sich so importieren.
Ich benutze zum testen eine Kopie der Datenbank. Also ist es ausgeschlossen das ein Fremdzugriff auf die ARE Tabelle erfolgt.
Die BDE Treiber sind auch installiert...die restlichen Tabellen funktionieren ja.

Ich weiss nun nicht mehr weiter :(
Titel: Re: Problem beim löschen von Tabellen mit ADODB Command
Beitrag von: DF6GL am Februar 11, 2015, 14:33:34
Hallo,

mhmm,  kann ich jetzt nicht weiterhelfen... 

Vielleicht ist "are" auch ein reserviertes Wort ....
Titel: Re: Problem beim löschen von Tabellen mit ADODB Command
Beitrag von: thorpax am Februar 11, 2015, 14:40:02
Daran habe ich noch garnicht gedacht are = sind ... we are, they are ..usw.

Vielleicht hat's daher ein Problem ... ????

Danke für den Hinweis ... :)

Ich werd versuchen einen anderen Weg zu gehen.