MDB Datei Erstellen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Pelagio
Beiträge: 424
Registriert: 11.11.2004 17:52
Computerausstattung: AMD Ryzen 5 7600 6-Core Prozessor 3.80 GHz
16,0 GB Arbeitsspeicher
Windows 11 Pro Betriebssystem
Wohnort: Bremen

MDB Datei Erstellen

Beitrag 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? :praise:
Ohne Zeit kein Fleiß
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win11Pro; PB6.20 LTS]. :allright:
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3875
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: MDB Datei Erstellen

Beitrag von bobobo »

gucke mal hier
(geht glaub ich nur mit ohne unicode)
aber immerhin
http://www.purebasic.fr/german/viewtopi ... 459#p98459
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Pelagio
Beiträge: 424
Registriert: 11.11.2004 17:52
Computerausstattung: AMD Ryzen 5 7600 6-Core Prozessor 3.80 GHz
16,0 GB Arbeitsspeicher
Windows 11 Pro Betriebssystem
Wohnort: Bremen

Re: MDB Datei Erstellen

Beitrag von Pelagio »

Danke bobobo :bounce:

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!
Ohne Zeit kein Fleiß
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win11Pro; PB6.20 LTS]. :allright:
Antworten