Seite 1 von 1
MDB Datei Erstellen
Verfasst: 26.03.2013 14:44
von Pelagio
Hallo,
ich kann mit PB in einer Access-Datei Tabellen erstellen, Daten auslesen und schreiben. Das was ich bis dato noch nicht geschafft habe ist aus PB heraus eine neue Access-Datei zu erstellen. Bei SQLite ist dies relativ einfach (Datei erstellen und SQL Befehl [CREATE TABLE [TestTab] (Test CHAR(10));] ausführen) aber wie man es für Access macht?

Re: MDB Datei Erstellen
Verfasst: 26.03.2013 15:18
von bobobo
gucke mal hier
(geht glaub ich nur mit ohne unicode)
aber immerhin
http://www.purebasic.fr/german/viewtopi ... 459#p98459
Re: MDB Datei Erstellen
Verfasst: 28.03.2013 09:05
von Pelagio
Danke bobobo
dein Hinweis hat sich als hilfreich erwiesen und Ich konnte mir jetzt eine eigene MDB-Datei, aus PB heraus, erstellen.
Code: Alles auswählen
#ODBC_Access_Treiber = "Microsoft Access-Treiber (*.mdb)"
Enumeration
#ODBC_Access_Database
#ODBC_Access_ADD_DSN ; Add Data source
#ODBC_Access_CONFIG_DSN ; Configure (edit) Data source
#ODBC_Access_REMOVE_DSN ; Remove Data source
#ODBC_Access_ADD_SYS_DSN ; Add a system DSN
#ODBC_Access_CONFIG_SYS_DSN ; Configure a system DSN
#ODBC_Access_REMOVE_SYS_DSN ; Remove a system DSN
#ODBC_Access_REMOVE_DEFAULT_DSN ; Remove the default DSN
EndEnumeration
Procedure.i AccessFile_Create(vFiles.s, vUser.s = #NULL$, vCode.s = #NULL$)
Protected n.i, *pMemory, pResult.i
Protected pFiles.s = GetFilePart(vFiles.s) : pFiles = Left(pFiles, Len(pFiles) - 4)
Protected pAttributes.s = "CREATE_DB=" + vFiles + " General;UID=" + vUser + ";PWD=" + vCode + ";"
*pMemory = AllocateMemory(Len(pAttributes))
CopyMemory(@pAttributes, *pMemory, Len(pAttributes))
For n=1 To Len(pAttributes)
If (PeekB(*pMemory+n-1)=Asc(";"))
PokeB(*pMemory+n-1, #False)
EndIf
Next n
pResult = SQLConfigDataSource_(0, #ODBC_Access_ADD_DSN, #ODBC_Access_Treiber, *pMemory)
FreeMemory(*pMemory)
ProcedureReturn pResult
EndProcedure
DANKE!