以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 输入数字金额 转为繁体大写 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=11101) |
-- 作者:tungwun -- 发布时间:2011/7/7 21:34:00 -- 输入数字金额 转为繁体大写 输入数字金额 转为繁体大写? |
-- 作者:hhbb -- 发布时间:2011/7/7 21:56:00 -- CUMoney 将阿拉伯数字转换为中文货币格式。 语法 CUMoney(Value) Value:要转换的阿拉伯数字。 例如: Dim Currency as String
StrToTraditional
将字符串转换为中文繁体。 |
-- 作者:tungwun -- 发布时间:2011/7/7 22:06:00 -- 请问在何处修改 请问在何处修改? |
-- 作者:hhbb -- 发布时间:2011/7/7 22:10:00 -- DataColChanged 某一列的内容被更改后执行,此时列的内容已经是更改后的值。 e参数属性: DataTable:返回发生数据更改的数据表。 示例一 假定在客户消费数据表中,有一逻辑型数据列,列名为“已结帐”,我们希望对于已结帐的行,能够自动通过审核(锁定),以免被误编辑。 If e.DataCol.Name = "已结帐" Then \'如果是已结帐列的内容变动 示例二 列与列之间的计算,我们通常用表达式列来实现,但不是所有的计算都可以通过表达式来完成的。 If e.DataCol.Name = "身份证号码" Then \'如果更改的是身份证号码列If e.DataRow.IsNull("身份证号码") Then \'身份证号码是否为空 e.DataRow("出生日期") = Nothing \'如果为空,则清除出生日期 Else \'否则从身份证号码列中提取出生日期 e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号码")) End If End If 如果表中已经输入数据,那么在加入上述代码后,选择身份证号码列,然后在“数据表”功能区“列相关”功能组,单击下面的“重置”按钮: 即可计算出所有行的出生日期,今后新增数据或者修改身份证号码,出生日期可以自动计算得出,无需人工干预。 上面代码中,e.DataRow("身份证号码")和e.NewValue实际上是相等的,因为DataColChanged执行的时候,新值已经写入到表中。 同样,因为新的值已经写入表中,所以如果要判断旧的值是否为空,只能用:e.OldValue Is Nothing。 示例三 可以肯定的是,一个表的列与列之间的计算关系往往不只一个。 If e.DataCol.Name = "已结帐" ThenIf e.NewValue = True Then e.DataRow.Locked = True End If ElseIf e.DataCol.Name = "身份证号码" Then If e.DataRow.IsNull("身份证号码") Then e.DataRow("出生日期") = Nothing Else e.DataRow("出生日期") = ReadBirthday(e.NewValue) End If End If 或者采用Select Case语句进行条件分支判断: Select Case e.DataCol.NameCase "已结帐" If e.NewValue = True Then e.DataRow.Locked = True End If Case "身份证号码" If e.DataRow.IsNull("身份证号码") Then e.DataRow("出生日期") = Nothing Else e.DataRow("出生日期") = ReadBirthday(e.NewValue) End If End Select 我个人偏好Select Case语句,因为看上去更清晰简洁一些。 一些逻辑较为复杂的关系,可能需要多个Select Case语句才能表述: Select Case e.DataCol.NameCase "A列" \'代码一 Case "B列" \'代码二 Case "E列" \'代码三 End Select Select Case e.DataCol.Name Case "A列","B列","C列" \'代码四 Case "E列", "F列" \'代码五 End Select 上面这段代码有两个Select Case语句,如果修改的是A列,则执行代码一和代码四,如果修改的是E列,则执行代码三和代码五,如果修改的是F列,则只执行代码五。 |
-- 作者:hhbb -- 发布时间:2011/7/7 22:10:00 -- 建议你多看看帮助文件 |
-- 作者:明丰 -- 发布时间:2011/7/8 10:52:00 -- "第一列"数据类型设为字符型
表属性 编缉AfterEdit设置: If e.Col.Name = "第一列" Then
表属性 数据DataColChanged设置: If e.DataCol.Name = "第一列" Then [此贴子已经被作者于2011-7-8 12:34:24编辑过]
|