几个小问题?

thllv 2010-02-25 03:44:13
1.如何用ADO获得表的主键和外键字段名?
2.能否给ACCESS的链接表添加查找路径(以防每次拷贝时手动刷新)?
3.ACCESS的帮助里说可以用“$#,##0.00[Green];($#,##0.00)[Red];"Zero";"Null"”类似方法定义数据的显示
我的表里有一个数字型字段,选格式“0;0;0;N[Red]”但不工作?
总是被ACCESS改成“0;0;0;"N[Red]"”(想把空字段显示成红色,但却显示“N[Red]”),我写的格式那里有问题?
...全文
47 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
thllv 2010-02-26
  • 打赏
  • 举报
回复
能否说明一下问题2:
2.能否给ACCESS的链接表添加查找路径(以防每次拷贝时手动刷新)?
的具体实现方法?

当前的情况是:
我把a电脑上的MDB文件拷贝到B电脑上,打开时任何一个窗体都不能运行啊!
直接提示“...不是一个有效路径...”,这时怎么用VBA呢?
使用“加载项?”怎么用啊?
可否解释一下!谢谢!
thllv 2010-02-26
  • 打赏
  • 举报
回复
引用 5 楼 wwwwa 的回复:
引用 4 楼 thllv 的回复:哈哈!感谢! 我运行查询: SELECT * FROM MSysRelationships; 为何一条记录都看不到呀?
建立关系没有?

建立了啊?
WWWWA 2010-02-26
  • 打赏
  • 举报
回复
引用 4 楼 thllv 的回复:
哈哈!感谢!
我运行查询:
SELECT *
FROM MSysRelationships;
为何一条记录都看不到呀?

建立关系没有?
thllv 2010-02-26
  • 打赏
  • 举报
回复
我的程序最开始处是从主窗体的Form_Open事件开始的,
我试了加On Error也抓不到“...不是一个有效路径...”这条错误啊!
如何解决呢?
thllv 2010-02-26
  • 打赏
  • 举报
回复
引用 9 楼 acmain_chm 的回复:
你的关系建在哪个数据库文件中了?!


大侠真是一语中的啊!

我的数据库经过拆分了,数据和窗体不在一起!
关系是在保存数据表的MDB文件里定义的,我在保存窗体的MDB文件里SELECT * FROM MSysRelationships;
没有记录。
经大侠提醒,在保存数据表的MDB文件里运行查询,这回有记录了,感谢!!!

拷贝后->链接路径不对->手动刷新,这是目前采用的方法。
想用程序处理,但窗体运行不了(它用的所有表的路径都不对)!
这种情况,上述的“问题2”能解决吗?


ACMAIN_CHM 2010-02-26
  • 打赏
  • 举报
回复
你的关系建在哪个数据库文件中了?!
wwwwb 2010-02-26
  • 打赏
  • 举报
回复
链接表是什么数据库的?建议不用链接表
thllv 2010-02-25
  • 打赏
  • 举报
回复
哈哈!感谢!
我运行查询:
SELECT *
FROM MSysRelationships;
为何一条记录都看不到呀?
ACMAIN_CHM 2010-02-25
  • 打赏
  • 举报
回复
1.如何用ADO获得表的主键和外键字段名?
主键ADO 不行,要用ADOX来获取
外键 可以通过系统表MSysRelationships得到

2.能否给ACCESS的链接表添加查找路径(以防每次拷贝时手动刷新)?
可以通过VBA程序来改变链接表的地址。


3.ACCESS的帮助里说可以用“$#,##0.00[Green];($#,##0.00)[Red];"Zero";"Null"”类似方法定义数据的显示我的表里有一个数字型字段,选格式“0;0;0;N[Red]”但不工作?
总是被ACCESS改成“0;0;0;"N[Red]"”(想把空字段显示成红色,但却显示“N[Red]”),我写的格式那里有问题?

0;0;0;N[Red] 设置正确,但这个设置是字体颜色,都为空了,你到哪看红色的字呢?如想设置背景色,则使用条件格式。
WWWWA 2010-02-25
  • 打赏
  • 举报
回复
1、用ADO、ADOX均可
Dim rs2 As New ADODB.Recordset
Dim rs3 As New ADODB.Recordset
Set rs2 = Nothing
Set rs2 = cn.OpenSchema(adSchemaForeignKeys, Array(Empty, Empty, qw, Empty))
Do While Not rs2.EOF
MsgBox "123" & rs2("PK_TABLE_NAME") & rs2("FK_TABLE_NAME") & rs2("PK_TABLE_SCHEMA")
MsgBox "456" & rs2("PK_column_NAME") & rs2("fK_column_NAME")
qqtyp = rs2("PK_TABLE_NAME")
qqtyf = rs2("fK_TABLE_NAME")
Set rs3 = Nothing
Set rs3 = cn.OpenSchema(adSchemaPrimaryKeys, Array(Empty, Empty, qqtyp))
Do While Not rs3.EOF
'MsgBox "123" & rs3("column_NAME")
rs3.MoveNext
Loop
rs2.MoveNext
Loop

Set rs2 = Nothing

2、要用代码解决
WWWWA 2010-02-25
  • 打赏
  • 举报
回复
3、
$#,##0.00[Green];($#,##0.00)[Red];"Zero";"Null"
是用来设置窗体中TEXTBOX的条件格式的,非表中字段格式

7,712

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧