DAO97.pas或者是DAO2000.Pas
但好象接口错了,
你试一下吧
var MYEngine:DBEngine;
begin
MYEngine:=CoDBEngine.Create;
MYEngine.CreateDatabase('c:\NewAccess1.mdb',';LANGID=0x0804;CP=936;COUNTRY=0;',dbEncrypt);
end;
但好象接口错了,
你试一下吧
var MYEngine:DBEngine;
begin
MYEngine:=CoDBEngine.Create;
MYEngine.CreateDatabase('c:\NewAccess1.mdb',';LANGID=0x0804;CP=936;COUNTRY=0;',dbEncrypt);
end;
解决方案 »
- 更改DPI后界面会乱掉要如何解决
- 向流氓软件开火
- FastReport3的条码组件问题,code和text什么区别和控制?
- 怎样在生成的控件后面加入代码?
- CT检查登记系统,请大家试用,提出宝贵意见
- 在线紧急问题——怎么样让DataSet记住以前的记录,这样我可以连续POST好几次,添加几条类似的记录??
- 气死了,都来看看。
- 两个ActiveXform之间的如何互相调用数值?
- 怎样用别人工程文件中的单元文件????????
- 请问socket控件里RecievBuf方法里的参数Buf是什么类型的?
- 这句SQL怎么写???
- 在access库中又一个OLE 对象得字段,里面存的是二进制文件,怎样才能把它写到一个文本文件中?
相信各位都用通过OLE方式访问Word、Excel文件的经历,具体我不说太多,直接把具体代码写出来就完了
在引用部分加入:
uses ComObj;
实现部分:
procedure TFormOffice.BitBtn1Click(Sender: TObject);
var
CreateAccess:OleVariant;
begin
CreateAccess:=CreateOleObject('ADOX.Catalog');
CreateAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Aceco.mdb');
end; 说明:
1、在C:\下创建Aceco.mdb;
2、是Access2000格式,用Access97打不开;
3、系统需安装MDAC,这是好消息,客户不需安装Access也可以二、通过DBEngine创建
这才是关键中的关键,是我一定要写出来的原因!
各位是否还记得安装Delphi的时候,如果你选择自定义安装(我一般用Delphi写控件,所以当然是越小越好),会有很多安装选项,让你选择Access97或Access2000,还有MDAC等,问题就在这里!Delphi5.0中早就封装了现成的类,只是大家都没有注意而已它位于:
$Delphi5\Imports
目录下!
其中有DAO97.DCU文件,它是通过DAO350.DLL来完成的,其中的定义部分和DAO350.DLL如出一辙!OK,到现在,所有的一切都明白了(可惜我花了一天时间!)。那么具体实现起来就太方便了,具体过程如下:
在引用部分加入:
uses DAO97;
实现部分:
procedure TFormOffice.BitBtn4Click(Sender: TObject);
var
Engine:DBEngine;
begin
Engine:=CoDBEngine.Create;
Engine.CreateDatabase('c:\NewAccess.mdb',';LANGID=0x0804;CP=936;COUNTRY=0;',dbEncrypt);
end; 说明:
1、在C:\下创建NewAccess.mdb;
2、语言国家是简体中文;
3、压缩整理数据库用Engine.CompactDatabase('c:\invoice.mdb','c:\God.mdb','',0,'');就是将c:\invoice.mdb压缩整理成c:\God.mdb,剩下的只是将c:\invoice.mdb删除(DeleteFile('c:\invoice.mdb');),然后将c:\God.mdb重新命名(RenameFile('c:\God.mdb','c:\invoice.mdb');)即可。三、通过ODBC的API函数创建