关于VFP的RecordSource应用问题求解惑
前任离职被拉黑名单联系不上,源代码残缺。。。VFP很多年没碰了。。。现系统有一订单查询子程序出现一明细表GrdOderTotal空白问题,求老师解惑附上Click代码:l...
前任离职被拉黑名单联系不上,源代码残缺。。。VFP很多年没碰了。。。
现系统有一订单查询子程序出现一明细表GrdOderTotal空白问题,求老师解惑
附上Click代码:
lcGroup=""
Thisform.GrdOderTotal.RecordSource= lcGroup
IF Thisform.ChkNationTotal.Value
lcGroup=" GROUP BY nation,ourstyle ORDER BY nation,ourstyle"
ENDIF
IF Thisform.ChkOrderTotal.Value
lcGroup=" GROUP BY ordernum,ourstyle ORDER BY ordernum,ourstyle"
ENDIF
IF Thisform.ChkColorTotal.Value
IF Thisform.ChkOrderTotal.Value
lcGroup=" GROUP BY ordernum,ourstyle,color_1 ORDER BY ordernum,ourstyle,color_1 "
ELSE
IF Thisform.ChkNationTotal.Value
lcGroup=" GROUP BY nation,ourstyle,color_1 ORDER BY nation,ourstyle,color_1 "
ELSE
lcGroup=" GROUP BY ourstyle,color_1 ORDER BY ourstyle,color_1 "
ENDIF
ENDIF
ENDIF
SUM csum TO lnSum
GOTO TOP
Thisform.TxtTot.Value=INT(lnSum)
RecordSourcetype设置0表时GrdOderTotal会显示全关系表数据,但设置1别名时却一直空白,请问哪个地方错了?万分感谢! 展开
现系统有一订单查询子程序出现一明细表GrdOderTotal空白问题,求老师解惑
附上Click代码:
lcGroup=""
Thisform.GrdOderTotal.RecordSource= lcGroup
IF Thisform.ChkNationTotal.Value
lcGroup=" GROUP BY nation,ourstyle ORDER BY nation,ourstyle"
ENDIF
IF Thisform.ChkOrderTotal.Value
lcGroup=" GROUP BY ordernum,ourstyle ORDER BY ordernum,ourstyle"
ENDIF
IF Thisform.ChkColorTotal.Value
IF Thisform.ChkOrderTotal.Value
lcGroup=" GROUP BY ordernum,ourstyle,color_1 ORDER BY ordernum,ourstyle,color_1 "
ELSE
IF Thisform.ChkNationTotal.Value
lcGroup=" GROUP BY nation,ourstyle,color_1 ORDER BY nation,ourstyle,color_1 "
ELSE
lcGroup=" GROUP BY ourstyle,color_1 ORDER BY ourstyle,color_1 "
ENDIF
ENDIF
ENDIF
SUM csum TO lnSum
GOTO TOP
Thisform.TxtTot.Value=INT(lnSum)
RecordSourcetype设置0表时GrdOderTotal会显示全关系表数据,但设置1别名时却一直空白,请问哪个地方错了?万分感谢! 展开
1个回答
推荐于2016-04-04
展开全部
别名发生变化时,Grid控件往往不能显示出数据,或者原有的Grid属性包括列及列标头属性全部丢失,恢复成Grid默认的属性。
2、使用Pack命令彻底删除表中某些记录时,其结果往往是Grid一片空白,什么都显示不出来.
解决方案:
在改变Grid或执行Pack命令前,先将Grid的recordsource属性置成Null,再执行相应的select-SQL语句、改变表别名或Pack命令,例如
1、
thisform.grid1.recordsource=Null
pack
thisform.grid1.recordsource='tablename' &&恢复原表别名
2、
thisform.grid1.recordsource=Null
thisform.grid1.recordsource='newtablename' &&改变了别名
3、
thisform.grid1.recordsource=Null
thisform.grid1.recordsource='select column1,column2 from tablename where column1=thisform.text1.value into cursor Temptable'thisform. grid1.recordsource='Temptable'
*这样Grid不但能正确显示变化后的数据,而且其属性不会丢失。
2、使用Pack命令彻底删除表中某些记录时,其结果往往是Grid一片空白,什么都显示不出来.
解决方案:
在改变Grid或执行Pack命令前,先将Grid的recordsource属性置成Null,再执行相应的select-SQL语句、改变表别名或Pack命令,例如
1、
thisform.grid1.recordsource=Null
pack
thisform.grid1.recordsource='tablename' &&恢复原表别名
2、
thisform.grid1.recordsource=Null
thisform.grid1.recordsource='newtablename' &&改变了别名
3、
thisform.grid1.recordsource=Null
thisform.grid1.recordsource='select column1,column2 from tablename where column1=thisform.text1.value into cursor Temptable'thisform. grid1.recordsource='Temptable'
*这样Grid不但能正确显示变化后的数据,而且其属性不会丢失。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询