Office中国论坛/Access中国论坛

标题: [求助]如何在窗体中显示代码的实际值 [打印本页]

作者: tanjh    时间: 2005-11-8 18:09
标题: [求助]如何在窗体中显示代码的实际值
在表background中,有“性别”、“个人月收入”等字段,表background存放的只是代码并非实际值,而在表sexcode、incomecode等表则显示了对应代码的值(比如background表中的性别"1"表示男,"2"表示女,代码对应的值可从sexcode中获取)。现做出来的窗体显示的只是代码,而非实际值。

请问如何在窗体中以及查询条件中显示具体的值呢?谢谢!

[attach]14040[/attach]


作者: 一点通    时间: 2005-11-8 18:56
只帮你修改了"性别"字段,其它字段可按这个方法修改

[attach]14042[/attach]


作者: tanjh    时间: 2005-11-8 19:47
一点通:

    您好!我看到你在文本框的属性的“控件来源”改为了“sexcodenme”,别的地方还要修改吗?我按着这种方法修改别的字段,但出现“#名称?”,何解呢?谢谢

   还有,曾经有高手教我用组合框实现,但我搞来搞去都不行,请问是否也可以呢?应该怎样操作呢?

  两种方法哪种会更好?

[此贴子已经被作者于2005-11-8 11:49:16编辑过]


作者: wuaza    时间: 2005-11-8 20:05
首先将性别组合框的行来源改为SELECT SexCode.SexCodeNum, SexCode.SexCodeNme FROM SexCode;

然后更改性别组合框的列数为2,列宽为0cm;2cm



版主主要改了这句        strWhere = strWhere & "([SexCodeNme] like '*" & Me.性别 & "*') AND "



[此贴子已经被作者于2005-11-8 12:13:14编辑过]


作者: 一点通    时间: 2005-11-8 20:06
共改了三处

1  性别组合框

2  子窗体的数据源

3   查询代码    strWhere = strWhere & "([SexCodeNme] like '*" & Me.性别 & "*') AND "   '原来是[性别]改为[SexCodeNme]

[此贴子已经被作者于2005-11-8 12:09:03编辑过]


作者: tanjh    时间: 2005-11-8 21:36
谢谢两位高手的赐教!辛苦了!
作者: tanjh    时间: 2005-11-9 20:04
按照上述方法去实现显示具体值,但由于字段有N个需要实现具体值,我在做的过程中,一个查询只能实现一个字段显示具体值,那么是否要建立N个查询,然后再将各查询连接起来呢?有没有方法一条语句就实现呢?
作者: wuaza    时间: 2005-11-9 20:28
照我的方法不会有这个问题。
作者: tanjh    时间: 2005-11-9 21:36
Office职业侠客:

     您好!其实我是个初学者来的,我只是借用tanjh的帐号发贴。

    你的意思是否将子窗体的每个字段改为组合框,然后在“属性”->“控件来源”输入“SELECT SexCode.SexCodeNum, SexCode.SexCodeNme FROM SexCode;”?但我试过了不行呢?(主窗体查询条件中的按钮就可以实现,子窗体的就不行)

   你能具体说一下呢?期待你的回复

   谢谢!辛苦了!

[此贴子已经被作者于2005-11-9 14:18:49编辑过]


作者: 一点通    时间: 2005-11-9 22:18
以下是引用wuaza在2005-11-9 12:28:00的发言:

照我的方法不会有这个问题。

wuaza说得对,这样就不需要更改代码,子窗体不能显示实际值,还要增加一列来转换

[attach]14061[/attach]


作者: tanjh    时间: 2005-11-9 22:27
一点通:     您好!首先谢谢你们的不吝赐教!我是个初学者来的,只是借用tanjh的帐号发贴而已。    主窗体中我知道怎样实现,但在子窗体中老实现不了,应该怎样增加一列来实现呢?是不是把所有的文本框转为组合框啊?然后改成两列呢?我试过了,但不行呢!
作者: 一点通    时间: 2005-11-9 22:34
我不是给了你附例了吗?
作者: tanjh    时间: 2005-11-9 23:22
一点通:     您好!不好意思,请恕我愚笨!我对access确实不是很熟,因工作需要,所以一边学一边请教你们!    是的,我已经下载了附件,但是我看了跟昨天的没有什么区别?还望你多烦心为我指点一下。   我看到你有在线教程,一般是在什么时间的呢?还有怎样才可以看到你的在线教程呢?   谢谢指教!期待你的回复!
作者: 一点通    时间: 2005-11-10 00:16
    先说一下"性别"的组合框吧,昨天与今天显示不同的地方是:第一个例子是直接显示具体值,而第二个例子是间接显示具体值,原理是当列数=2,列宽=0;1时,第一列屏蔽了,而显示出第二列,但程序还是默认第一列的值.你看到的性别为:男,实际默认值是:1    而子窗体中的性别字段是性别ID,只能显示1或2,在这里只作为查询条件,正好符合性别列表框的默认值1或2,但我们不需要显示这个结果,而是要显示真正的值,所以就需要与性别表作关联了,同时在数据源中增加了SexCodeNme字段,性别文体框的控件来源就是取这个字段的值.    明白这些原理后,其它的字段就可用这个方法一一对应修改了
作者: tanjh    时间: 2005-11-10 01:36
非常感谢!终于可以了,好开心!你们提供的这个平台非常好,让我和别的学员每天都在不断地进步,衷心地谢谢你们!一点通:     您好!还想多请教一样东西:查询有限定字段的列数,我刚才做好以后,发现字段列数刚达到限制的,如果超过了应该怎么办啊?还有,为何你说按
作者: tanjh    时间: 2005-11-10 01:43
以下是引用wuaza在2005-11-9 12:28:00的发言:

照我的方法不会有这个问题。
wuaza说得对,这样就不需要更改代码,子窗体不能显示实际值,还要增加一列来转换

非常谢谢两位的赐教,在你们的耐心指导下,我已经可以做到了。一点通:      您好。“wuaza说得对,这样就不需要更改代码,子窗体不能显示实际值,还要增加一列来转换 ”为何说不用更改代码呢?我按照你说的去做后,查询条件的VBA代码还是要改了后才能查询。     还有,查询中有限定的列数,我这个表所用的字段数刚好达到它的极限,如果超过了应该怎么办呢?     还有,请问在什么时间以及怎样才能参加你的在线教程呢?    最后,衷心地谢谢各位的耐心教导!谢谢!
作者: 一点通    时间: 2005-11-10 07:02
说真的,你说的极限我还不知道是多少,可能你对代码不熟悉才会这样说,如果你对代码进一步分析,还会增加几十倍的内容,慢慢学习吧
作者: tanjh    时间: 2005-11-10 17:52
好的,谢谢您!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3