| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1588 人关注过本帖
标题:关于全局变量
只看楼主 加入收藏
酹江月95
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-4-16
结帖率:0
收藏
已结贴  问题点数:20 回复次数:14 
关于全局变量
在超市pos系统中要设置一个全局变量dm,对它赋值登录时使用的员工代码,在后面超市收银表单中调用以统计每个员工的销售额。那么这个全局变量应该在哪里设置呢?
我在用户登录表单的load事件后面加了
public dm
dm=thisform.no.value
但是收银表单总是报错,那到底要怎么设置呢?
(no是输入员工代码的文本框的Name)
求助!!!
搜索更多相关主题的帖子: 表单 用户登录 public 文本框 
2013-04-16 17:05
taohua300
Rank: 12Rank: 12Rank: 12
来 自:光
等 级:贵宾
威 望:14
帖 子:1636
专家分:3906
注 册:2009-3-11
收藏
得分:3 
可以在主程序中定义dm

表单load的事件的时候
表单中的控件还没有加载
所以dm = thisform.no.value会出错

也可以放到表单的init事件中
OK

个性太多,无法显示
2013-04-16 17:17
酹江月95
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-4-16
收藏
得分:0 
这是收银表单 录入完毕按钮的click代码,红色为报错部分,数据类型不匹配
set talk off
select kc
set order to spdm_kc
select xs1
go top
do while ! eof()
     select kc
     seek xs1.商品代码
     replace 库存 with 库存-xs1.销售数量
     select xs1
     skip
enddo
select xs
append from xs1
replace all 员工代码 with dm for alltrim(员工代码)=""
select xs1
sum 销售价格*销售数量 to y
y=str(y,8,2)
=messagebox(y+"元!",0,"本次消费合计:")
delete all
thisform.refresh
2013-04-16 17:34
酹江月95
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-4-16
收藏
得分:0 
回复 2楼 taohua300
我试过加在init那里,但还是报错数据类型不匹配,显示dm为逻辑型数据
2013-04-16 17:37
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:3 
主程序MAIN.PRG中
PUBLIC DM
DM=[]

replace 员工代码 with dm for alltrim(员工代码)=""


[ 本帖最后由 sdta 于 2013-4-16 17:45 编辑 ]

坚守VFP最后的阵地
2013-04-16 17:44
酹江月95
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-4-16
收藏
得分:0 
回复 5楼 sdta
那是不是连编之后才不会报错
2013-04-16 18:01
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
如果是单个表单运行,可以在表单的LOAD事件中
PUBLIC DM
DM=[]
在COMMAND1事件中加入下面代码
DM=ALLTRIM(THISFORM.NO.VALUE)
replace 员工代码 with dm for alltrim(员工代码)=""

坚守VFP最后的阵地
2013-04-16 18:09
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用酹江月95在2013-4-16 18:01:11的发言:

那是不是连编之后才不会报错
不一定

坚守VFP最后的阵地
2013-04-16 18:09
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:3 
回复 3楼 酹江月95
数据类型不匹配

检查下表中是不是字符型
2013-04-16 19:30
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:3 
用了5 楼和7楼的方法,如果还是报错,则有如下可能。
你那个 xs 表也有不是字符型的字段 dm,(可以用 m.dm 避免内存变量与字段同名的冲突)
replace 员工代码 with m.dm for alltrim(员工代码)=""

或者 员工代码 不是字符型。

2013-04-16 23:23
快速回复:关于全局变量
数据加载中...
 
   



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

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