| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1828 人关注过本帖
标题:这个问题很恼人,请帮忙
取消只看楼主 加入收藏
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
收藏
得分:0 
程序代码:
THISFORM.EDIT1.VALUE=[]
ZDM=[]
FOR nCnt = 1 TO THISFORM.LIST1.ListCount
   IF THISFORM.LIST1.Selected(nCnt)
      ZDM=ZDM+THISFORM.LIST1.List(nCnt)+[,]&&在我的界面中,thisform.list1.list(nCnt)是数据表的字段标题,而不是字段名。如何让ZDM这个变量得到相应的数据表的字段名呢?
   ENDIF
ENDFOR
THISFORM.EDIT1.Value = LEFT(ZDM,LEN(ZDM)-1)
谢谢S版。问题貌似又回到了原点。
https://bbs.bccn.net/thread-397769-1-1.html

[ 本帖最后由 陶然愚者 于 2013-2-1 15:44 编辑 ]
2013-02-01 15:41
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
收藏
得分:0 
再次感谢SDTA版主。根据22楼提供的思路,将原来写的代码略作修改,解决了变量接收列表框多项选择值的问题,经测试,基本成功。
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

现在仍然没有解决的问题是:
本来我选择的是“企业代码”(qyjbxxb.jgdm)、“企业名称”(qyjbxxb.jbmc)、“企业地址”(qyjbxxb.jbdz)三项,可是显示出来的前两项正确,第三项却变成了“产品名称”(qyzycpk.zycp)。问题可能出在数组ZDLB上,不知该如何解决?
2013-02-01 16:09
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

如果不这样,请教SDTA版主更好的解决方案。谢谢!

[ 本帖最后由 陶然愚者 于 2013-2-1 16:23 编辑 ]
2013-02-01 16:18
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
收藏
得分:0 
回复 28楼 sdta
看过。数据表的结构已定,如果不在字段标题与字段名间转换,就得将数据表的字段名全部重新改成中文,而有的字段用中文10个字符实在是容纳不下
2013-02-01 16:26
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
收藏
得分:0 
由衷感谢sdta版主!问题解决。为表示对论坛的感激之情,特将修改后的代码分享如下:
1.表单的Init代码:
程序代码:
SET DEFAULT TO E:\qybzhglxt
SELECT qyjbxxb
for nIndex=1 to (FCOUNT()-1)
  WITH thisform.list2
   .additem(FIELD(nIndex,'qyjbxxb',1))
   .list(.newindex,2)='qyjbxxb.'+FIELD(nIndex,'qyjbxxb')
  endwith
ENDFOR
SELECT qyzycpk
for nIndex=3 to (FCOUNT()-1)
  WITH thisform.list2
   .additem(FIELD(nIndex,'qyzycpk',1))
   .list(.newindex,2)='qyzycpk.'+FIELD(nIndex,'qyzycpk')
  endwith
endfor
2、列表框list2的InteractiveChange代码:
程序代码:
xszd=[]
FOR nCNT=1 TO thisform.list2.listCount
   IF thisform.list2.selected(nCnt)=.T.
      xszd=xszd+thisform.list2.List(nCnt,2)+[,]
   ENDIF
ENDFOR
xszd=LEFT(xszd,LEN(xszd)-1)


程序运行完全达到预期目标:
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 陶然愚者 于 2013-2-1 17:35 编辑 ]
2013-02-01 17:28
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
收藏
得分:0 
关键在于列表框的list属性的灵活运用。再次感谢sdta版主!
2013-02-01 17:40
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
收藏
得分:0 
以下是引用TonyDeng在2013-2-1 18:19:22的发言:

多选的字段,每一个字段分别跟哪个运算符和条件匹配项配对?这一大堆字段都跟"360481"比较查找吗?
呵呵,‘360481’是查找条件筛选值,其表达式是qyjbxxb.xzqh='360481;多选的条件是输出字段选择。它们分别由两个变量xszd和cxtj接收,查询语句是:SELECT &xszd FROM qyjbxxb,qyzycpk WHERE &cxtj INTO  CURSOR cxjg
TonyDeng版觉得可行吗?
2013-02-02 09:01
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
收藏
得分:0 
回复 40楼 TonyDeng
    谢谢tonydeng版主的耐心解说。
    对于论坛里每位老师的热心帮助,我都心存感激,也会认真学习领会各位老师的指点。关于5楼那个界面,的确是一个成熟的系统里面截图下来的,这个系统我用过多年了(从93年第一版单机版开始直到现在的第5版网络版),虽然界面略有变化,但思路一直没变。就目前这个界面,查询条件的字段选择是在list1里进行的,建立表达式需要选择关系运算符、键入“查询值”,可以通过多次“添加条件”选择多个查询条件,其间用“逻辑运算符”.and.或.or.连接,这个表达式在查询语句的Where子句里使用;而list2里一次性多选的字段是确定查询结果显示时输出哪些字段值的,它根本不会参与到查询记录筛选里去。
    关于用户输入查询值的问题,的确如版主所讲,我在使用过程中也感觉到了,我倒没什么,因为我早年使用的早期版本是开放式的,我查阅过其中的DBF文件结构,但有些同志使用时就对“查询值”的输入无所适从,需要进行专门的操作员培训。
    关于多表问题,我也开始意识到可能是自己有些异想天开。原系统里是单表操作的,我在想是否可改为多表操作。正如你所说,就本表单言,似乎是通过了,但下层表单的制作可能会是更头疼的事情。
    之前说过,本人一方面基础太差,同时年纪也大了,学习很多东西时都会慢许多。但本人学习的态度是绝对端正的,也是虚心的。我在上世纪80年代也曾站过十年的讲台,可惜教的是语文和历史。也正是这十年的教师经历,使自己养成了一个终身学习的习惯和良好的学习态度。我虽然会执着地学习,但决不会狂妄地自大。因为我知道:只有虚心向他人学习,认真听取他人的意见,自己才有可能进步。
    日后肯定还会不断地遇到问题,我也会继续向各位请教,还望一如既往地给予帮助。再次感谢!

[ 本帖最后由 陶然愚者 于 2013-2-2 09:49 编辑 ]
2013-02-02 09:36
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
收藏
得分:0 
    TonyDeng版:关于“查询值”的输入问题,如果根据用户选择的不同字段类型在其旁以标签的形式给出相应的录入提示,界面会更好友好。请问这种设想可以实现吗?
    程序设计的思想,的确是应该宁可设计时辛苦一点,也要让使用者尽量方便一点。

[ 本帖最后由 陶然愚者 于 2013-2-2 10:57 编辑 ]
2013-02-02 10:54
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
收藏
得分:0 
关于这个表单的问题,已经开过好几个帖了,各位老师给予了热情的关注和解答,十分感激。虽然问题还没最终解决,但根据论坛规则,貌似也该到了结帖期限了,暂且结了此帖,后续问题容后再行开帖,还望各位老师继续不吝赐教。
2013-02-02 13:55
快速回复:这个问题很恼人,请帮忙
数据加载中...
 
   



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

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