知识点汇总。


Private Sub Combo18_AfterUpdate()

Call 车损
Call 乘客保
Call 驾驶人保
End Sub

解析:Combo18该控件更新后,执行车损、乘客保、驾驶人保方法。


 

Private Sub 车损()
车损基础保费.Value = CurrentDb.OpenRecordset("SELECT 基础保费 FROM 机动车损失保险 WHERE 车型='" & Combo10.Value & "' and 座位='" & Combo12.Value & "' and 车龄='" & Combo18.Value & "'")![基础保费]
车损费率.Value = CurrentDb.OpenRecordset("SELECT 费率 FROM 机动车损失保险 WHERE 车型='" & Combo10.Value & "' and 座位='" & Combo12.Value & "' and 车龄='" & Combo18.Value & "'")![费率]
End Sub

解析:查询对应的数据,然后特定的值到控件上(更新车损基础保费)。参数格式: & Combo10.Value & ,该参数是Combo10的控件的值。


 

Private Sub 车损基础保费_AfterUpdate()
车损标准保费.Value = Nz(车损基础保费.Value, 0) + Nz(车损保险金额.Value, 0) * Nz(车损费率.Value, 0)
End Sub

解析:车损基础保费该控件更新后,执行这个模块


 出现错误:编译错误:类型不匹配。

 

 初步判定是 i 这个变量上面  Dim定义了类型不对。

解决方法:①将 Dim i  As Long 删去。②查看正确类型,并进行更改。

此处方法一无效,用方法二,修改后成功运行。

 

下面这个案例用方法一有效:(注释了)

 


 

 登录模块的VBA:

Private Sub 命令1_Click()
On Error GoTo Err_命令48_Click

  If IsNull(Trim(Me![编号])) Or IsNull(Trim(Me![密码])) Then
    MsgBox "用户编号和密码不能为空,请重新输入!", vbOKOnly, "警告信息"
    Me.编号.SetFocus
  Else
  '  With CodeContextObject
    '  rrr = "[操作员]![编号]='" & Trim(Me![编号]) & _
    '  "'And [操作员]![密码] = '" & Trim(Me![密码]) & "'"
    '  DoCmd.ApplyFilter , rrr
      
      
      
      
      ' 获取用户名和密码
Dim y, m, rs As Recordset ' 定义y表示用户名,m表示密码
y = Me.编号.Value 'Me.编号——登录界面中控件名为 编号 的框。
m = Me.密码.Value
Me.RecordSource = "select * from 操作员 where 编号='" & y & "' and 密码='" & m & "'"  '从操作员表中查询符合条件的相关数据
Set rs = Me.Recordset
If rs.RecordCount > 0 Then '查询到了就 rs就为查询的条数,若没查到则为-1
公用信息登录名 = y
DoCmd.Close    '该登录窗口关闭
DoCmd.OpenForm "教师信息表" '打开 教师信息表

   '   If (.RecordsetClone.RecordCount > 0) Then
   '   DoCmd.SetWarnings False
   '     DoCmd.RunSQL "UPDATE 操作员 SET 运行状态 = no" & _
   '                  " WHERE 编号 <> '" & Me.编号 & "'"
   '     DoCmd.RunSQL "UPDATE 操作员 SET 运行状态 = yes" & _
   '                  " WHERE 编号 = '" & Me.编号 & "'"
   '     DoCmd.Close
        
        'DoCmd.OpenForm "系统界面", acNormal, "", "", acReadOnly, acWindowNormal
                                 
      Else
        MsgBox "您输入的用户名或密码有误,请重新输入!", vbOKOnly, "警告信息" '弹出相关信息
        Me.密码 = Null  '密码框清空
        Me.密码.SetFocus '焦点设为密码框
      End If
   ' End With
  End If

Exit_命令48_Click:
    Exit Sub

Err_命令48_Click:
    MsgBox Err.Description
    Resume Exit_命令48_Click
End Sub

 

 

 

 

 

posted on 2021-06-22 11:57  汤姆猫8  阅读(81)  评论(0)    收藏  举报