标题:请教组合条件查询表单设计问题
只看楼主
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
得分:0 
以下是引用sdta在2013-1-24 15:24:33的发言:

的数据源是由中的字段决定的,去掉字段中重复的值,就是[选择值]组合框的数据源
本人愚笨,还是不太明白。“选择字段”组合框的数据源是表的“字段”;“选择值”组合框的数据源应该是“字段值”对吧。否则就生成不了表达式。而“字段值”似乎很难列举哦。不知我的理解对不对?

另外还有一个问题:之前在不少书中都看到关于“建立数据表时尽量不要使用中文作为字段名”的提示,说是那样会降低程序的运行速度。于是字段名都用英文字母或汉语拼音命名,而在“字段标题”中用中文注释。可是在学习编程的过程中,好些地方都需要在“字段名”和“字段标题”中转换,实在是十分的麻烦。不知到底应该如何抉择?
2013-01-24 17:11
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
回复 31楼 陶然愚者
那些书在误导。中文字段名,只是影响书写代码的输入速度,不影响程序执行速度。字段名其实是变量名,允许一切符合标识符的合法字符串,但有一个限制,它只能是10个字符长度,而对能够表达意义的字段标题来说,超过10字符的很常见的,所以安排在.DBC数据库中用一个字段来储存对应字段的Caption文字,而不是直接用变量名。
收到的鲜花
  • 陶然愚者2013-01-25 08:10 送鲜花  3朵   附言:非常感谢TonyDeng版主

授人以渔,不授人以鱼。
2013-01-24 17:21
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
举个例子,有一个字段,用来储存物品单价,很可能需要在显示文字上标注用什么货币,这时写的可能是“单价(元)”或“单价(人民币元)”,这种字眼,就算语言允许你拿来做变量名,相信你也不会用。
收到的鲜花
  • 陶然愚者2013-01-25 08:11 送鲜花  3朵   附言:非常详尽的解说。谢谢!

授人以渔,不授人以鱼。
2013-01-24 17:28
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
再看另外一种情况:假设表中有10个字段,设置为A01、A02、B01、B02、A03、B03、A04、A05、B04、B05,当你需要依次检索以A开头的5个字段时,这个设计做循环很方便,但如果你靠字段序号来循环,就做不到了(当然可以用数组来储存真实的带顺序字段清单来循环)。不要以为这种情况不会出现,因为数据表的结构随时会变动,临时增减、插入字段是很常见的,编辑过后,用browse浏览会看到显示的字段顺序与预想的未必一样。
收到的鲜花
  • 陶然愚者2013-01-25 08:12 送鲜花  3朵   附言:讲解得太好了。谢谢

授人以渔,不授人以鱼。
2013-01-24 17:37
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
回复 31楼 陶然愚者
在[选择字段]组合框的INTERACTIVECHANGE中,加入代码
SELECT DISTINCT 字段 FROM 表 INTO CURSOR TEMP

生成[选择值]组合框中的数据源
收到的鲜花
  • 陶然愚者2013-01-25 08:13 送鲜花  3朵   附言:谢谢!

坚守VFP最后的阵地
2013-01-24 18:11
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
得分:0 
以下是引用TonyDeng在2013-1-24 17:21:12的发言:

那些书在误导。中文字段名,只是影响书写代码的输入速度,不影响程序执行速度。字段名其实是变量名,允许一切符合标识符的合法字符串,但有一个限制,它只能是10个字符长度,而对能够表达意义的字段标题来说,超过10字符的很常见的,所以安排在.DBC数据库中用一个字段来储存对应字段的Caption文字,而不是直接用变量名。
谢谢TonyDeng版主。在引用表单、控件等对象的Caption时,我们可以用thisform.Caption等,那么要引用字段的Caption时,是否只有用函数field(nIndex,cAlisa,1)?是否也有象表单对象那种引用形式?
2013-01-25 08:22
bccn482561
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:80
专家分:142
注 册:2012-11-30
得分:0 
数组只有6个元素,你出错的时候挂起看看计数器已经是什么值了啊,没看到在什么地方复位计数器。。。。
2013-01-25 08:52
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:2 
以下是引用陶然愚者在2013-1-25 08:22:59的发言:

谢谢TonyDeng版主。在引用表单、控件等对象的Caption时,我们可以用thisform.Caption等,那么要引用字段的Caption时,是否只有用函数field(nIndex,cAlisa,1)?是否也有象表单对象那种引用形式?

函数field(nIndex,cAlias,1)其实就是那种引用形式,它相当于cAlias.Field[nIndex].Caption

授人以渔,不授人以鱼。
2013-01-25 09:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-397293-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.107448 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved