Misschien heb je dat hier gelezen. Als ik de code daar vertaal, dan moet dat volgens mij zoiets worden voor ADO(X):
Delphi Code:
Const Jet10 = '1';
Const Jet11 = '2';
Const Jet20 = '3';
Const Jet3x = '4';
Const Jet4x = '5';
procedure CreateNewMDB(FileName, Format: string);
var
Catalog: OleVariant;
begin
Catalog := CreateOleObject('ADOX.Catalog');
Catalog.Create(Format('Provider=Microsoft.Jet.OLEDB.4.0;' +
'Jet OLEDB:Engine Type=%s;Data Source=%s', [Format, FileName]));
end;
// En dan voor een Access 2000+ database aanroepen met:
CreateNewMDB('G:\a2000.mdb', Jet4x);
Of de DAO/MDAC manier:
Delphi Code:
Const dbVersion10 = 1;
Const dbVersion11 = 8;
Const dbVersion20 = 16;
Const dbVersion30 = 32;
Const dbVersion40 = 64;
procedure CreateNewMDB(FileName: string; Format: Integer);
var
Engine: OleVariant;
begin
Engine := CreateObject('DAO.DBEngine.36');
Engine.CreateDatabase(FileName, ';LANGID=0x0409;CP=1252;COUNTRY=0', Format);
end;
//Create Access2000 database
CreateNewMDB('G:\a2000.mdb', dbVersion40);
Ik moet eerlijk bekennen dat ik het uit het hoofd heb (over)getypt zonder het te testen, maar dit is wel letterlijk wat daar staat, al blijft het altijd duimen bij VB of zo'n vertaling letterlijk klopt, met name vanwege de weak typing die wordt toegepast.
Bookmarks