如何动态打开ACCESS数据库文件???(急急)(100分)

  • 主题发起人 主题发起人 kai
  • 开始时间 开始时间
K

kai

Unregistered / Unconfirmed
GUEST, unregistred user!


有一程序,需要能显示不同的ACCESS数据库文件,
现FORM中有四个控件:opendialog,datasource,
table,dbgrid.


如果是要显示不同的dbf数据库文件,可以实现,
把opendialog中的filename付给table中的tablename,
再连接dbgrid,就可以显示表单了.


但是打开ACCESS数据库文件就不同,
首先是table中的databasename需要设一个ACCESS别名,
一个别名连的ACCESS数据库文件是固定的;
其次一个ACCESS数据库文件包含几个mdb表单,无法控制
dbgrid中显示的表单;


此问题如何解决,帮我.

(再有,如何去掉密码登录??)

 
用 tdatabase 中的 loginprompt 设为false可以去掉登录密码
用 session 好像可以解决一个ACCESS数据库文件包含几个mdb表单,无法控制dbgrid中显示的表单的问题
 
是session的gettablenames属性可以显示某个.mdb文件中有几个表
 
要显示的table不是和你的SQL语句有关吗?
比如: select * from abc 则显示abc的内容, 这有什么难的呢?
 
to cakk:
因为是动态的,即每次的mdb文件不一样,
所以table是不一样的,
所以abc每次不一样,
无法用你的select
 
还是不太明白,table的名字你总该知道吧? 更换mdb的时候,更换SQL语句就可以了呀.
 
别名是可以写你的mdb的路径/*.mdb,
而且你的alise甚至可以用BDE API来
改为你所选择的数据库.

至于表名,MDB里含有多个表,你可以分别
查询出他门的tablename
~~~~~~~~~~~

查了半天帮助没找到!help !
 
to cakk:
也许我没说清楚,程序的功能是这样的:

1.用opendialog选择任意的mdb文件,
2.显示出此文件中的所有的表单文件,
3.可以用dbgrid显示任选的表单文件.

 
可以使用<a href="http://cytown.yeah.net" target="new">Diamond Access</a>打开任何access文件,
不需要设置BDE.
如果MDB文件有密码, 在PARAM里设置USER NAME和PASSWORD, 其中USER NAME是
空, 如果没有密码, 就都为空, LOGINPROMPT设为FALSE.
另外, 有解ACCESS密码的程序.
 
1.添加/修改别名用Session部件的以Add/Modify打头的几个函数;
2.得到mdb中table列表:
var list:tstringlist;
begin
List := TStringList.Create;
try
Session.GetTableNames('wenhua', '',False, False, List);
^^^^^^^改成你自己的别名
Lst1.Items:= List;
finally
List.Free;
end;

3.就不用说了吧?
 
多人接受答案了。
 
后退
顶部