Office中国论坛/Access中国论坛

标题: 急问关于access的问题,跪谢!!!!!! [打印本页]

作者: scpc    时间: 2005-4-29 18:31
标题: 急问关于access的问题,跪谢!!!!!!
Option Compare Database




Private Sub Command4_Click()
DoCmd.Close
Dim db As DAO.Database
Dim rs As DAO.Recordset, rst As DAO.Recordset
Dim str As String, n As Integer
Set db = CurrentDb
db.Execute ("delete * from 薪资表")
Set rst = db.OpenRecordset("人事基本资料")
  rst.MoveFirst
While Not rst.EOF
Set rs = db.OpenRecordset("薪资表")
   rs.AddNew
   rs(0) = rst(0)
   rs(1) = rst(17)
   rs(4) = rst(12)
   rs(5) = rst(13)
   rs(6) = rst(14)
   rs(8) = rst(15)
   rs(13) = rst(16)
   If rst(10) = True Then
      rs(14) = 75
   Else
      rs(14) = 0
   End If
   If rst(11) = True Then
      rs(11) = 30
   End If
   n = ((Year(Date) - Left(rst(0), 4)) * 12 + Month(Date) - 1 - Mid(rst(0), 5, 2)) / 12 - 0.5
   Select Case n
        Case 0, 1, 2
           rs(10) = n * 15
        Case 3, 4, 5
           rs(10) = n * 20
        Case Is > 5
            rs(10) = 100 + 30 * (n - 5)
   End Select
   rs.Update
   rst.MoveNext
Wend
rs.Close
rst.Close
db.Close
DoCmd.OpenQuery ("薪资查询")
End Sub

Private Sub Command8_Click()
DoCmd.Close
End Sub

注:我运行时老时提示(n = ((Year(Date) - Left(rst(0), 4)) * 12 + Month(Date) - 1 - Mid(rst(0), 5, 2)) / 12 - 0.5........)有错,但我在一台服务上运行又没问题.多谢老师解答.谢谢!!!

作者: hi-wzj    时间: 2005-4-29 20:44
当出现有错误是,您可在错误处设置断点,然后监视各表达式的值及变量的值是否符合要求。根据出错的点来找原因。
作者: 周运良    时间: 2005-5-6 19:52
提示表达式有错很多情况下是全角的关系,如括号、空格等,在英文状态下将表达式重新输一次就ok了




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