Verfasst: 02.10.2008 13:15
Super, dann kann ich Access ja endgültig den Rücken kehren, Bill Gates wird dir nicht so dankbar sein wie ich.... 

Das deutsche PureBasic-Forum
https://www.purebasic.fr/german/
Code: Alles auswählen
EnableExplicit
UseODBCDatabase()
UseSQLiteDatabase()
Define Werte.s
Define Wertzaehler.l
Define MDB.l
Define SDB.l
Define MDB_ODBC.s = "QM2"
Define SQLite_DB.s = "K:\VB-Programme\PURE BASIC\QM\Database\QM2.sqlite"
NewList Tabellenname.s()
; Nun trägst Du in der LinkedList die Namen der zu exportierenden Tabellen ein:
AddElement(Tabellenname()) : Tabellenname() = "Schadensrecht"
AddElement(Tabellenname()) : Tabellenname() = "SR_Anwartschaftsrecht"
AddElement(Tabellenname()) : Tabellenname() = "VerwProzR7_Normenkontrolle"
AddElement(Tabellenname()) : Tabellenname() = "Projekte"
; [...] und so weiter und so fort
MDB = OpenDatabase(#PB_Any, MDB_ODBC, "", "", #PB_Database_ODBC)
If MDB
If CreateFile(0, SQLite_DB)
CloseFile(0)
SDB = OpenDatabase(#PB_Any, SQLite_DB, "", "", #PB_Database_SQLite)
If SDB
ForEach Tabellenname()
If DatabaseQuery(MDB, "Select * From " + Tabellenname())
; TABELLENTYP PRÜFEN und in Abhängigkeit davon, die Tabellenstruktur erstellen
If Tabellenname () <> "Projekte"
If DatabaseUpdate(SDB, "Create Table " + Tabellenname() + " (FragenID INT, Frage STRING, AntwortID STRING, Thema STRING, HL INT, Link STRING)") = 0
Debug "DatabaseError: " + DatabaseError()
EndIf
Else
If DatabaseUpdate(SDB, "Create Table " + Tabellenname() + " (ProjektID INT, Projektname STRING, Rechtsgebiet STRING)") = 0
Debug "DatabaseError: " + DatabaseError()
EndIf
EndIf
; Insert-Into-Statement
DatabaseUpdate(SDB, "Begin Transaction")
While NextDatabaseRow(MDB)
Werte = ""
For Wertzaehler = 0 To DatabaseColumns(MDB) - 1
Werte + "'" + ReplaceString(GetDatabaseString(MDB, Wertzaehler), "'", "''") + "'"
If Wertzaehler < DatabaseColumns(MDB) - 1
Werte + ","
EndIf
Next
If DatabaseUpdate(SDB, "Insert Into " + Tabellenname() + " Values (" + Werte + ")") = 0
Debug "DatabaseError: " + DatabaseError()
EndIf
Wend
DatabaseUpdate(SDB, "Commit")
Else
Debug "!DatabaseQuery"
Debug DatabaseError()
EndIf
Next
CloseDatabase(SDB)
Else
Debug "!SDB"
EndIf
Else
Debug "!CreateFile"
EndIf
CloseDatabase(MDB)
Else
Debug "!MDB"
EndIf
Oho, der Junge hat GeschmackKiffi hat geschrieben: Budweiser Budvar wäre mir lieber![]()