Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

窗体字段间的计算?

pc高手  发表于:2008-03-17 09:50:38  
复制

我有一个问题请教:
窗体中数据源表有字段 A1--A5 和 TOTAL, 字段之间需要计算, 用 TOTAL = ME.A1 + M2.A2 + M2.A3 ... 就好使。 如果我换成初始化中定义的变量名, 就不好使了。  我的需求:因为程序中需要计算的地方和字段太多,如果都写进程序里,用户将来需求发生变化,就得改源代码,不方便。 所以,我将所有的计算公式都写在初始化的表中,用户将来可以自己随意变更公式。

我一下找不到原因。 请指教。 我随文发去 小例 原程序 “计算.MDB”。

 

我无积分,无法上传文件,怎么办?

怎样去获取积分????

 

无法上传,我用文字描述:

表: tbl计算 , 有6 个字段  A1,A2,A3,A4,A5,TOTAL 都是数字型。

表: tbl公式 , 有一个字段 , 公式1 ,文本型 ,内容:(A1 + A2 + A3 + A4 - A5)

 

窗体 : frm计算 :   显示 6 个字段。 A1 - A5 字段的事件 :

Option Compare Database
Option Explicit
Dim str公式1  As String

Private Sub A1_AfterUpdate()
    Call spr计算
End Sub

Private Sub A2_AfterUpdate()
    Call spr计算
End Sub
Private Sub A3_AfterUpdate()
    Call spr计算
End Sub
Private Sub A4_AfterUpdate()
    Call spr计算
End Sub
Private Sub A5_AfterUpdate()
    Call spr计算
End Sub

Sub spr计算()
'    Me.TOTAL = Me.A1 + Me.A2 + Me.A3 + Me.A4 - Me.A5    ''' 计算没有问题
    Me.TOTAL = A1 + A2 + A3 + A4 - A5                   ''' 计算没有问题
'    Me.TOTAL = str公式1                                  ''' 计算有问题 !!! ???
    Me.Refresh
End Sub

Private Sub Form_Load()
    '' 计算公式可以在初始化中维护 , 不必修改程序。
    str公式1 = DLookup("公式1", "tbl公式")
    Me.lbl公式.Caption = "计算公式: TOTAL = " & str公式1
End Sub

 

----

请高手指教。! 谢谢!

 

 

Top
马丽 发表于:2008-03-17 10:30:11

很显然,这里str公式1 是个字符串,想来把它直接符值给TOTAL字段确实不正确。

怎样修改到是还没想好?



pc高手 发表于:2008-03-17 11:20:26

你说的对! 就是因为它是一个字符串。

如果在vfp里,很容易解决, 用宏替换就行了, 字符串就变为内存变量了, 就直接运算了。

access里就是没有这样的功能。

 


看着问题很简单, 处理起来就是不顺利。

 

请高手们指教! 谢谢!



pc高手 发表于:2008-03-17 11:28:39

 

我问过了几个问题, 竹笛几乎没有回答过一个。 他回复的问题都是一些简单问题, 看不出他是

什么什么“专家” , 徒有虚名吧 !  钱玉伟还是不错的!  望这些年轻人继续努力呀!

我对竹笛的确不满意!他不是忙, 最近时间,他在网上也是回答了不少的问题。都是简单问题。

 

这段时间,我正在为一汽集团左一个系统, 等我忙完了。 我会尽量拿出一些时间, 帮大家回答
一些问题。 传授一些经验。

 

 



竹笛 发表于:2008-03-17 12:30:38

哈哈,被您说准了,在你眼里,钱玉炜是专家。不过在钱玉炜眼里,我是专家!

原因很简单,因为他帮你解决了你解决不了的问题,而我帮他解决了他解决不了的问题。



pc高手 发表于:2008-03-17 13:06:40

那好呀! 请你这位专家的专家帮我解决一下今天的问题。 还有以前的那个问题: 1. “就绪”问题   2. “on error goto” 深层问题。

 

 



pc高手 发表于:2008-03-18 09:21:15

看样子, 竹笛真是生我的气了!   把我的问题搁置一旁了!

 



总记录:6篇  页次:1/1 9 1 :