ich habe mich erfolgreich mit der Programmierung von Access-Dateien (*.mdb) verstanden.
Erstellen, Füllen, Lesen und dies wollte ich eigentlich auch weiterhin nicht missen. Inzwischen hat, ab Access 2007, Microsoft eine neues Format eingeführt '*.ACCDB' .
In meinem jugendlichen Leichtsinn
Jedenfalls bekomme ich immer die Fehlermeldung 'Komponente wurde in der Registrierung nicht gefunden'. Was immer das auch heißen soll.
Code: Alles auswählen
; Access DSN Erstellen
; OK = DSN_Create(Files.s)
Procedure.a DSN_Create(vFiles.s)
Shared mDSN, mCON
Protected n.i, pResult.i, *pMemory
Protected pTreiber.s = "Microsoft Access Driver (*.mdb,*.accdb)"
If OpenLibrary(1, "ODBCCP32.DLL")
mDSN = ReplaceString(GetFilePart(vFiles),".","_")
mCON = "Server=SomeServer; Description=Description For Purebasic MDB-ODBC;DSN=" + mDSN + ";DBQ=" + vFiles + ";UID=;PWD=;"
*pMemory = AllocateMemory(Len(mCON))
CopyMemory(@mCon, *pMemory, Len(mCon))
For n=1 To Len(mCON)
If PeekB(*pMemory+n-1)=Asc(";"): PokeB(*pMemory+n-1, #False): EndIf
Next n
pResult = CallFunction(1, "SQLConfigDataSource", 0, #ADD_DSN, @pTreiber, *pMemory)
SQLConfigDataSource_(0, #ADD_DSN, #Treiber, *pMemory)
FreeMemory(*pMemory): CloseLibrary(1)
If pResult: pResult = #True: EndIf
EndIf
ProcedureReturn pResult
EndProcedure Ich kann zwar auch weiterhin mit ' *mdb' Dateien arbeiten aber da es dies neue Format gibt, wollte ich auch damit versuchen zu arbeiten.