| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1253 人关注过本帖
标题:请教这段代码错在哪里?
只看楼主 加入收藏
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:27 
请教这段代码错在哪里?
以下是组合条件查询表单中“查询”按纽的Click事件代码:
cxtj=ALLTRIM(thisform.edit1.value)
IF cxtj<>null.and.xszd<>null
  SELECT &xszd FROM qyjbxxb,qyzycpk WHERE &cxtj INTO  CURSOR cxjg
ELSE
  =messagebox("未设置查询条件或未选择输出字段!",48 ,"错误信息")
  RETURN
ENDIF
thisform.Visible= .F.
DO form forms\zhcxjg&&zhcxjg是查询结果显示表单

运行时总是出现"未设置查询条件或未选择输出字段!"的提示框,是什么原因?
注:xszd变量在“显示字段选择”列表框的InterativeChange事件中已经赋值:
xszd=''
   FOR xh=1 TO THISFORM.LIST2.LISTCOUNT
      IF thisform.list2.Selected(xh)
          xszd=xszd+","+alltrim(THISFORM.LIST2.list(xh))
      ENDIF
   ENDFOR
xszd=LEFT(xszd,LEN(xszd)-1)   
搜索更多相关主题的帖子: 查询 null 
2013-01-28 09:24
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:3 
IF cxtj<>null.and.xszd<>null
改为
IF !empt(cxtj) and !empt(xszd)
看看
2013-01-28 09:40
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:1 
用调试器跟踪一下出现这个错误时代码执行到了哪一行

个性太多,无法显示
2013-01-28 10:06
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:3 
SELECT &xszd FROM qyjbxxb,qyzycpk WHERE &cxtj INTO  CURSOR cxjg
改成
SELECT &xszd. FROM qyjbxxb,qyzycpk WHERE &cxtj. INTO  CURSOR cxjg



IF cxtj<>null.and.xszd<>null
改为
IF !empty(cxtj) and !empty(xszd)

个性太多,无法显示
2013-01-28 10:07
sywzs
Rank: 10Rank: 10Rank: 10
来 自:辽宁
等 级:贵宾
威 望:15
帖 子:508
专家分:1725
注 册:2009-5-13
收藏
得分:3 
xszd=LEFT(xszd,LEN(xszd)-1)
改为
xszd=subs(xszd,2)    xszd=RIGHT(xszd,LEN(xszd)-1)


IF cxtj<>null.and.xszd<>null
改为
IF !empty(cxtj) and !empty(xszd)
2013-01-28 10:47
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:3 
  FOR xh=1 TO THISFORM.LIST2.LISTCOUNT
      IF thisform.list2.Selected(xh)
          xszd=xszd+","+alltrim(THISFORM.LIST2.list(xh))
      ENDIF
   ENDFOR
   xszd=LEFT(xszd,LEN(xszd)-1) && 这样写也是错误的,第一个字符永远是[,]
改为
  FOR xh=1 TO THISFORM.LIST2.LISTCOUNT
      IF thisform.list2.Selected(xh)
          xszd=xszd+alltrim(THISFORM.LIST2.list(xh))+IIF(XH<THISFORM.LIST2.LISTCOUNT,[,],[])
      ENDIF
   ENDFOR
试试

[ 本帖最后由 sdta 于 2013-1-28 11:35 编辑 ]

坚守VFP最后的阵地
2013-01-28 11:33
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
收藏
得分:0 
以下是引用tlliqi在2013-1-28 09:40:57的发言:

IF cxtj<>null.and.xszd<>null
改为
IF !empt(cxtj) and !empt(xszd)
看看
如此改后,运行时出现错误:
图片附件: 游客没有浏览图片的权限,请 登录注册


挂起后,显示错误行如下:
图片附件: 游客没有浏览图片的权限,请 登录注册
2013-01-28 13:55
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
收藏
得分:0 
以下是引用sdta在2013-1-28 11:33:44的发言:

  FOR xh=1 TO THISFORM.LIST2.LISTCOUNT
      IF thisform.list2.Selected(xh)
          xszd=xszd+","+alltrim(THISFORM.LIST2.list(xh))
      ENDIF
   ENDFOR
   xszd=LEFT(xszd,LEN(xszd)-1) && 这样写也是错误的,第一个字符永远是[,]
改为
  FOR xh=1 TO THISFORM.LIST2.LISTCOUNT
      IF thisform.list2.Selected(xh)
          xszd=xszd+alltrim(THISFORM.LIST2.list(xh))+IIF(XH
改后,还是提示错误:
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册
2013-01-28 14:05
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
收藏
得分:0 
同时已将IF cxtj<>null.and.xszd<>null
改为
IF !empty(cxtj) and !empty(xszd)
2013-01-28 14:06
陶然愚者
Rank: 1
等 级:新手上路
帖 子:151
专家分:8
注 册:2012-12-13
收藏
得分:0 
以下是引用taohua300在2013-1-28 10:07:22的发言:

SELECT &xszd FROM qyjbxxb,qyzycpk WHERE &cxtj INTO  CURSOR cxjg
改成
SELECT &xszd. FROM qyjbxxb,qyzycpk WHERE &cxtj. INTO  CURSOR cxjg



IF cxtj<>null.and.xszd<>null
改为
IF !empty(cxtj) and !empty(xszd)
改后提示错误同8楼。
2013-01-28 14:14
快速回复:请教这段代码错在哪里?
数据加载中...
 
   



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

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