Este codigo te puede servir. Tambien podes usar el Server de Delphi
TAccessAplicacion en lugar de CreateOleObject.
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
Access: Variant;
begin
Access := CreateOleObject('Access.Application');
try
Access.OpenCurrentDatabase('c:\mycarpeta\db1.mdb');
Access.DoCmd.RunMacro('mymacro');
finally
Access.Quit;
end;
end;
Saludos