Office中国论坛/Access中国论坛

标题: 问个菜一点的代码问题 [打印本页]

作者: boy1    时间: 2009-1-17 19:39
标题: 问个菜一点的代码问题
Me.总租金 = Nz(Me.租金) * Nz(Me.月数) + Nz(Me.日租金) * Nz(Me.天数))

出错,但不知错在哪里。如果Me.总租金 = Nz(Me.租金) * Nz(Me.月数) ,就正常。请给讲讲,写代码的规矩。谢谢
作者: ACMAIN_CHM    时间: 2009-1-17 21:37
Me.总租金 = Nz(Me.租金) * Nz(Me.月数) + Nz(Me.日租金) * Nz(Me.天数))

貌似多了一个括号。 另外正规的写法是
Me.总租金.value = Nz(Me.租金.value) * Nz(Me.月数.value) + Nz(Me.日租金.value) * Nz(Me.天数.value)
把属性写明确,而不是利用VB的控件的默认属性。
作者: ACMAIN_CHM    时间: 2009-1-17 21:42
写代码的规矩


1。 在模块级别中使用,强制显式声明模块中的所有变量
语法
Option Explicit 说明
如果使用,Option Explicit 语句必须写在模块的所有过程之前。
如果模块中使用了 Option Explicit,则必须使用 Dim、Private、Public、ReDimStatic 语句来显式声明所有的变量。如果使用了未声明的变量名在编译时间会出现错误。
如果没有使用 Option Explicit 语句,除非使用 Deftype 语句指定了缺省类型,否则所有未声明的变量都是 Variant 类型的。
注意 使用 Option Explicit 可以避免在键入已有变量时出错,在变量的范围不是很清楚的代码中使用该语句可以避免混乱。

2。 格式化代码
应尽可能多地保留屏幕空间,但仍允许用代码格式反映逻辑结构和嵌套。以下为几点提示:


  1. '*********************************************************
  2. ' 目的:    返回指定用户在 UserList 数组中第一次出现的位置。
  3. ' 输入:    strUserList():   所查找的用户列表。
  4. '           strTargetUser:   要查找的用户名。
  5. ' 返回:    strTargetUser 在 strUserList 数组中第一次出现时的索引。
  6. '           如果目标用户未找到,返回 -1。
  7. '*********************************************************
  8. Function intFindUser (strUserList(), strTargetUser)
  9.      Dim i                     ' 循环计数器。
  10.      Dim blnFound        ' 发现目标的标记。
  11.      intFindUser = -1
  12.      i = 0                     ' 初始化循环计数器。
  13.      Do While i <= Ubound(strUserList) and Not blnFound
  14.          If strUserList(i) = strTargetUser Then
  15.              blnFound = True   ' 标记设为 True。
  16.              intFindUser = i   ' 返回值设为循环计数器。
  17.          End If
  18.          i = i + 1             ' 循环计数器加 1。
  19.      Loop
  20. End Function
复制代码

作者: boy1    时间: 2009-1-18 15:59
标题: 多谢指教.感激不禁
多谢指教.[:32]
作者: wt980532    时间: 2009-2-6 11:26
一切向钱看!!!!!
作者: zjsmf933    时间: 2009-2-27 19:44
学了一手!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3