PDA

Vollständige Version anzeigen : Via Batch-Datei eine Tabelle kopieren


itsmi
05.03.2001, 15:31
Hallo
Ich bin an einer wichtigen Arbeit und suche um Rat.
Gerne möchte ich via einer Batch-Datei eine Tabelle aus einer Datenbank in eine andere Datenbank kopieren.
Um jeden Tip oder Hilfe bin ich dankbar.

Squirli
05.03.2001, 20:21
Hallo Itsmi,

Tabellen können über SQL in eine externe Datenbank exportiert werden. Habe einen Code für die Übertragung aller vorhandenen Tabellen. Den kann man leicht auf eine einzelne Tabelle umschreiben:

Public Function Start()
On Error GoTo Err_Function_Start
Dim lDB As Database, lSp As Workspace, lDbZiel As Database, lQuery As QueryDef, lTab As TableDef
Dim lTabname As Variant, lSelect As String, i As Byte, z As Byte
Dim ExtDb As String, lAntwort As String

ExtDb = "d:\eigene dateien\test.mdb" 'muss in richtige Datei mit Pfad geändert werden!

lAntwort = MsgBox("Sollen die vorhandenen Tabellen nach " & ExtDb & " exportiert werden?", vbQuestion + vbYesNo)
If lAntwort = vbYes Then

Set lSp = DBEngine.Workspaces(0)
Set lDbZiel = lSp.OpenDatabase(ExtDb, True)

' Alle Tabellen der Zieltabelle löschen
i = lDbZiel.TableDefs.Count
z = 0
Do Until z = i
Set lTab = lDbZiel.TableDefs(z)
lTabname = lTab.Name
If Left(lTab.Name, 4) <> "msys" Then
lDbZiel.Execute "drop table [" & lTabname & "]"
End If
z = z + 1
Loop
Set lDbZiel = Nothing
Set lSp = Nothing

' Tabellenerstellungsabfrage erstellen und ausführen

Set lDB = CurrentDb
i = lDB.TableDefs.Count
z = 0

Do Until z = i
Set lTab = lDB.TableDefs(z)
lTabname = lTab.Name
If Left(lTab.Name, 4) <> "msys" Then

lSelect = "SELECT [" & lTabname & "].* INTO [" & lTabname & "] IN "
lSelect = lSelect & "'" & ExtDb & "'" & " FROM [" & lTabname & "];"
Set lQuery = lDB.CreateQueryDef("", lSelect)
lQuery.Execute
End If
z = z + 1

Loop
End If
Exit_Function_Start:
Exit Function

Err_Function_Start:
MsgBox Err.Description
Resume Exit_Function_Start

End Function

RQ
09.04.2001, 11:11
Hallo Squirli,

Deine Prozedur hat auch mir sehr weitergeholfen. Ich habe mir noch ein paar MsgBoxes und eine Sprungmarke für den Abbruch hinzugefügt.

Vielen Dank
Gruß
RQ