//参考//这是动态创建不带密码Access数据库的代码
http://www.csdn.net/expert/Topicview2.asp?id=749317
注意Access的版本要修改为4.0
解决的思路也可以是“如何通过程序修改Access数据库的口令”关注中... ...

解决方案 »

  1.   

    可以使ALTER DATABASE PASSWORD 新口令 旧口令
    在SQL里面使用,也可以使用ADD USER 用户[, 用户, ] TO 组
    语法
    GRANT {特权[, 特权, 匽} ON
        {TABLE 表 |    
        OBJECT 对象|CONTAINER} 
    这是Access2002里面的东西,不知道对呢有没有用处
    在更改DataBase密码的时候要有互斥访问权限!
      

  2.   

    这是我创建的ACCESS2000的数据库带密码的,还有建库的全有!
    uses
    comobj,adox_tlb
    //---------------------------------------------------
    var
      CreateAccess:OLEVariant;
      strCon:string;   strCon := 'Provider=Microsoft.Jet.OleDB.4.0;' //ACCESS2000数据库
        //通过Jet OleDb直接操作Access数据库
        +'Data Source='+ExtractFilePath(Application.Name)+'Test.mdb;'
         +'Jet OLEDB:Engine Type=5;'
        //Jet 4.x格式,如为4,则Jet 3.x格式
        +'Locale Identifier=0x0804;'
         //支持简体中文(一定要有)
        +'Jet OLEDB:Database Password='123456985';//修改密码也在此;  CreateAccess:=CreateOleObject('ADOX.Catalog'); 
      CreateAccess.Create(strcon);//库建好--你应该用try..except捕获错误的,这里我就不多说了
        ADOCreate:=TADOQuery.create(ADOCreate);
        ADOCreate.Close;
        ADOCreate.SQL.Clear;
        ADOCreate.ConnectionString:=strcon;
        //建表---All_Clients//===================终端编号按序排列--------------最大为三位数字
        ADOCreate.SQL.Text:='Create Table mytable(ID int Identity(1,1),Name1 varchar(20) not null,'+
                 'SKID smallint null,SKStatus varchar(20) null,name2 varchar(10) null,PPI varchar(20) null)';
        ADOCreate.ExecSQL;
    ADOCreate.sql.clear;
    ADOCreate.sql.text:='...';
    ADOCreate.Execsql;
    ............
    可以建很多表!
      

  3.   

    Access的安全很差的,有密码等于没有
      

  4.   

    : luoshumeng(乡村意外)
    的方法OK
    但给ACCESS设置密码真没意思!
      

  5.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs,ComObj, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
    xx: OLEVariant;
    begin
    xx := CreateOleObject('ADOX.Catalog');
    xx.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\create.mdb;Jet OLEDB:Database Password=123') ;
    end;
    end.
      

  6.   

    非常感谢大家的回答!尤其是luoshumeng(乡村意外)和playyuer(小干部儿) 二位!二位的代码都可行,playyuer(小干部儿)的比luoshumeng(乡村意外)的简洁,但不知有何差别。
    分太少了,不好意思。