关于access(50分)

  • 主题发起人 主题发起人 palm100
  • 开始时间 开始时间
P

palm100

Unregistered / Unconfirmed
GUEST, unregistred user!
请问能不能把access的数据库用自己的格式包装一下(用自定义扩展名),然后导入导出.,如果可以的话这么处理呢?
 
建议你是用链接表,这样的话直接写SQL语句就行了
至于扩展名,导入导出时自己可以加呀
 
我还是不明白,用sql能包装数据库吗??还有如果导出后使用了自己的后缀名的话,用access能不能打开?
 
不管用什么后缀都可以打开
新建数据库代码:

SConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'
+'Jet OLEDB:Database Password=%s;';

function GetTempPathFileName():string;
var
SPath,SFile:array [0..254] of char;
begin
GetTempPath(254,SPath);
GetTempFileName(SPath,'~SM',0,SFile);
result:=SFile;
DeleteFile(result);
end;

function CreateAccessFile(FileName:String;PassWord:string=''):boolean;
//建立Access文件,如果文件存在则失败
var
STempFileName:string;
vCatalog:OleVariant;
begin
STempFileName:=GetTempPathFileName;
try
vCatalog:=CreateOleObject('ADOX.Catalog');
vCatalog.Create(format(SConnectionString,[STempFileName,PassWord]));
result:=CopyFile(PChar(STempFileName),PChar(FileName),True);
DeleteFile(STempFileName);
except
result:=false;
end;
end;

导出SQL语句
Insert Into tabname in "C:/TEMP.MDB" select * from tab
导入SQL语句
Insert into tab select * from tab in "c:/temp.mdb"
 
楼上的
这么写好像对有密码的不行,至少一个
用ado原生对象可以解决链接表路径和密码问题
作一个模板,导入导出没问题
 
这样的话是导出整个数据库吗?
 
没问题
我做过导入导出
你把需求说详细点
 
后退
顶部