标题:请教组合条件查询表单设计问题
只看楼主
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
得分:0 
回复 10楼 sdta
数组的元素数量应该是组合条件的条件个数吧,测试中“添加条件”次数并未超过6次,为什么会警示“超界”?
2013-01-22 13:52
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
得分:0 
试了一下:引用数组变量时不用下标,貌似可以解决问题。不知对否?
2013-01-22 14:11
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
不设置数组,试试看
收到的鲜花
  • 陶然愚者2013-01-23 07:59 送鲜花  3朵   附言:谢谢斑竹指点

坚守VFP最后的阵地
2013-01-22 14:17
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
得分:0 
回复 13楼 sdta
回头抽时间再试。测试成功再来汇报。谢谢斑竹持续在线指导。
2013-01-22 14:27
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
CASE thisform.Optiongroup1.Value=1

CASE thisform.Optiongroup1.option1.Value=1
....
....
收到的鲜花
  • 陶然愚者2013-01-23 07:58 送鲜花  3朵   附言:谢谢斑竹指点
2013-01-22 14:28
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:5 
在1楼第一幅图出错语句之前,添加一句messagebox(I),查看当前的i值是不是超过6。

注意:你定义public i全局变量,是很危险的事。这个i标识符,极可能被后面的方法或函数的私有同名变量遮蔽,或在无意间修改了全局变量的值。不要用这样的变量名,让全局变量更特殊,比如gnIndex,g标明是public(全局),n标明是integer(整数),这样的命名,被无意篡改数据的可能性就大大降低了。

“无效的下标引用”,多数是此时i值不是整数了,我看极可能是.F.。
收到的鲜花
  • 陶然愚者2013-01-23 07:57 送鲜花  3朵   附言:谢谢斑竹

授人以渔,不授人以鱼。
2013-01-22 14:52
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:5 
最好用表单自定义属性替换全局变量[I],这样就不会出现错误
ADDPROPERTY()方法,参照帮助文件

坚守VFP最后的阵地
2013-01-22 15:42
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
得分:0 
    谢谢各位指点。试着从以下几个方面进行了改进:
    1、去掉了表单中load事件建立数组和变量i的语句,直接在其Init事件中定义五个变量,分别用于存贮“字段条件”、“关系运算符”、“查询值”、“逻辑运算符”和组合条件表达式。
    2、将TEXT4改用编辑框控件。
    3、Combo1的InteractiveChange事件代码末尾加一行代码恢复初始设置:
        
    4、各控件中InteractiveChange事件代码中接收相关值的变量均去掉下标。
    经过以上修改,问题基本得到解决,用户可以选择多个条件进行组合,编辑框edit1中能够动态显示组合条件表达式。运行结果如下图:

    其他的一些关于条件表达式生成中的细节问题尚待进一步学习修正。学习中遇到的问题本人会及时提出,还请各位老师赐教。

[ 本帖最后由 陶然愚者 于 2013-1-22 17:29 编辑 ]
2013-01-22 17:16
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
将LISTBOX改为COMBOBOX,LISTBOX在表单上占用空间较多
关系运算符改为组合框最合适,属性STYLE=2 下拉列表框

[ 本帖最后由 sdta 于 2013-1-22 18:20 编辑 ]
收到的鲜花
  • tlliqi2013-01-22 19:45 送鲜花  20朵   附言:耐心 加分
  • 陶然愚者2013-01-23 07:59 送鲜花  3朵   附言:谢谢斑竹指点

坚守VFP最后的阵地
2013-01-22 18:17
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:3 
在设置组合查询时,要考虑到数据的类型。

坚守VFP最后的阵地
2013-01-22 18:27



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




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

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