| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3373 人关注过本帖
标题:我的这个代码怎么需要点击两下按钮才能全部执行呢?
只看楼主 加入收藏
fwy12
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2020-2-16
结帖率:94.44%
收藏
已结贴  问题点数:18 回复次数:13 
我的这个代码怎么需要点击两下按钮才能全部执行呢?
我写的这个代码想先修改数据表,然后在利用数据表的数值进行再次计算,并将结果更新在数据表内?为什么要点击两下按钮才可以呢?
按钮的click代码:
点击第一下,执行了前面的数据修改保存代码,修改了数据,在点击第二下,执行以后的代码,对数据重新计算并更新在了数据表内.
图片附件: 游客没有浏览图片的权限,请 登录注册

peidianxiang.rar (161.43 KB)


程序代码:
*-------------------------------------------以下代码用于修改后保存更新取费--------------------------------------------
Sele cundao
Replace 项目名称  With Thisform.container1.Txt项目名称.Value
Replace 配电柜编号 With Thisform.container1.TXT配电柜编号.Value
Replace 产品名称 With Thisform.container1.TXT产品名称.Value
Replace 规格型号 With Thisform.container1.TXT规格型号.Value
Replace 数量 With Thisform.container1.TXT数量.Value
Replace 单位 With Thisform.container1.TXT单位.Value
Replace 单价 With Thisform.container1.TXT单价.Value
Replace 合计 With Thisform.container1.TXT合计.Value
Thisform.grid1.SetFocus

Thisform.text59.Value=Thisform.container1.Txt项目名称.Value&&用于修改后数据的搜索
Thisform.text60.Value=Thisform.container1.TXT配电柜编号.Value&&用于修改后数据的搜索
Set Talk Off &&关闭计算显示,防止在界面上显示结算结果
Select cundao

aa=Thisform.text59.Value
bb=Thisform.text60.Value
cc=Thisform.text54.Value

Sum 合计 For 配电柜编号=Alltrim(Thisform.text60.Value) And 项目名称=Alltrim(Thisform.text59.Value) And 单位="只" To Thisform.text54.Value
Thisform.Refresh

Sele cundao
Replace 单价 With cc*Thisform.text3.Value For cundao.配电柜编号=bb And cundao.产品名称=Thisform.check12.Caption And cundao.项目名称=aa
Replace 合计 With cc*Thisform.text3.Value For cundao.配电柜编号=bb And cundao.产品名称=Thisform.check12.Caption And cundao.项目名称=aa

Replace 单价 With cc*Thisform.text50.Value For cundao.配电柜编号=bb And cundao.产品名称=Thisform.check13.Caption And cundao.项目名称=aa
Replace 合计 With cc*Thisform.text50.Value For cundao.配电柜编号=bb And cundao.产品名称=Thisform.check13.Caption And cundao.项目名称=aa

Replace 单价 With cc*Thisform.text51.Value For cundao.配电柜编号=bb And cundao.产品名称=Thisform.check14.Caption And cundao.项目名称=aa
Replace 合计 With cc*Thisform.text51.Value For cundao.配电柜编号=bb And cundao.产品名称=Thisform.check14.Caption And cundao.项目名称=aa

Replace 单价 With cc*Thisform.text52.Value For cundao.配电柜编号=bb And cundao.产品名称=Thisform.check15.Caption And cundao.项目名称=aa
Replace 合计 With cc*Thisform.text52.Value For cundao.配电柜编号=bb And cundao.产品名称=Thisform.check15.Caption And cundao.项目名称=aa

Replace 单价 With cc*Thisform.text53.Value For cundao.配电柜编号=bb And cundao.产品名称=Thisform.check16.Caption And cundao.项目名称=aa
Replace 合计 With cc*Thisform.text53.Value For cundao.配电柜编号=bb And cundao.产品名称=Thisform.check16.Caption And cundao.项目名称=aa
Thisform.Refresh
Thisform.grid1.Refresh

*-------------------------------------------以下代码用于修改后保存更改小计的费用--------------------------------------------
Select cundao
Sum 合计 For 配电柜编号=Alltrim(Thisform.text60.Value) And 项目名称=Alltrim(Thisform.text59.Value)  And 数量>0 To Thisform.text58.Value
Thisform.Refresh

Sele cundao
Replace 合计 With Thisform.text58.Value For cundao.配电柜编号=Alltrim(Thisform.text60.Value) And cundao.产品名称="小计" And 项目名称=Alltrim(Thisform.text59.Value)
*Go Recno()
Thisform.grid1.Refresh
Thisform.grid1.SetFocus





[此贴子已经被作者于2020-3-2 13:36编辑过]

搜索更多相关主题的帖子: Thisform And 名称 Value Replace 
2020-03-02 00:49
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:4 
这些东西thisform.text54.value,用变量代替,你的代码就不会这么长了。
2020-03-02 09:16
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:4 
代码不完整不好说,最好有完整文件测试
执行这段代码过程中有无触发其他事件引起异常
不用那么多Refresh了吧,GRID用setfocus就可以

2020-03-02 09:16
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:766
专家分:2517
注 册:2011-5-8
收藏
得分:4 
1、refresh只要数据更新完成有一次就可以了
2、setfocus有一次就可以了
3、字段名最好不要用中文
4、Grid的源最好用可更新临时表
5、skip -1是什么意思?如果想定位到原来的位置,可以在开始将GRID对应的表的当前记录保存到变量中,最后在refresh前用 go 就可以了。

dBase有人接盘了。
2020-03-02 10:47
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1730
专家分:3324
注 册:2012-2-29
收藏
得分:4 
回复 2楼 mywisdom88
好建议,要采纳,谢谢!
2020-03-02 12:34
fwy12
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2020-2-16
收藏
得分:0 
恩,多谢指点,我正在采用各位的建议修改代码。十分感谢
2020-03-02 13:02
fwy12
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2020-2-16
收藏
得分:0 
回复 3楼 吹水佬
我重新上传了程序,请问您下,能帮我打开看看什么问题么?
peidianxiang.rar (161.43 KB)
2020-03-02 13:37
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
回复 7楼 fwy12
“点击两下”是点击哪里?
2020-03-02 20:45
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
回复 7楼 fwy12
图片附件: 游客没有浏览图片的权限,请 登录注册

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

提供的项目文件不能正常打开
简单建个“项目1”和“程序1.prg”测试,未见据说的“两次点击”问题
在代码最后加一行测试:MESSAGEBOX(1111111111111)
第次点击都能跑到底,点击过程没问题。
测试文件“项目1”和“程序1.prg”
peidianxiang.rar (164.99 KB)




[此贴子已经被作者于2020-3-2 21:26编辑过]

2020-03-02 21:23
fwy12
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2020-2-16
收藏
得分:0 
回复 9楼 吹水佬
十分感谢,我在测试一下。感谢。
还有个问题想请教一下,就是在grid1双击,congtainer1显示,修改数据重新计算后,如何让grid的记录还回到刚双击的那个记录。
2020-03-03 10:26
快速回复:我的这个代码怎么需要点击两下按钮才能全部执行呢?
数据加载中...
 
   



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

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