首页 > 解决方案 > MS Access 2016 VBA 错误“无效操作”它在第二个 CASE 中显示第一个 IF 语句的错误

问题描述

Option Compare Database
Option Explicit
Public Function Day1DU(InvFullBP As Single) As Single

Dim Current_Frm As Form
Set Current_Frm = Screen.ActiveForm
Dim CalcDuAdjs As Double, HBCO As Double, HBP As Double, AMRF As Double

只有我第二次发帖,所以请善待。我需要查看 SoldInfo_Tbl 的 FundDate 字段中是否有值。如果该字段为空白,则我们需要假设 2020 年 9 月 1 日。如果它不为空,则它需要大于 2020 年 8 月 31 日才能运行代码。我从来没有以这种方式寻找价值。我一直提到当前的形式。DAO.Database 有问题

逆市再融资费

Dim dbMyDB As DAO.Database
Dim tblSoldInfo As DAO.TableDef
Dim fldMyField As DAO.Field
Dim rs As DAO.Recordset

Set dbMyDB = CurrentDb
Set tblSoldInfo = dbMyDB![SoldInfo_Tbl]
Set fldMyField = tblSoldInfo![FundDate]
Set rs = CurrentDb.OpenRecordset("SoldInfo_Tbl", dbOpenTable)

逆市再融资费

Select Case Val(Current_Frm!InvestorID_Cbo.Column(0))
Case 2, 4, 15
    If Current_Frm!RateSheetDate_Txt > #8/12/2020# Then
      If Current_Frm!LoanType_Cbo <> "PURCHASE" And (Current_Frm!Plan_Cbo = "10" Or Current_Frm!Plan_Cbo = "20" Or Current_Frm!Plan_Cbo = "11" Or Current_Frm!Plan_Cbo = "55" Or Current_Frm!Plan_Cbo = "71" Or Current_Frm!Plan_Cbo = "101" Or Current_Frm!Plan_Cbo = "12" Or Current_Frm!Plan_Cbo = "10H" Or Current_Frm!Plan_Cbo = "20H" Or Current_Frm!Plan_Cbo = "55H" Or Current_Frm!Plan_Cbo = "71H" Or Current_Frm!Plan_Cbo = "101H" Or Current_Frm!Plan_Cbo = "11H" Or Current_Frm!Plan_Cbo = "12H") Then
        AMRF = 0.5
      Else
        AMRF = 0
      End If
    End If
Case 16, 17

我的问题在下面

    If Nz(rs![tblSoldInfo]![fldMyField], #9/1/2020#) > #8/31/2020# Then
      If Current_Frm!LoanType_Cbo <> "PURCHASE" And (Current_Frm!Plan_Cbo = "10" Or Current_Frm!Plan_Cbo = "20" Or Current_Frm!Plan_Cbo = "11" Or Current_Frm!Plan_Cbo = "12" Or Current_Frm!Plan_Cbo = "10H" Or Current_Frm!Plan_Cbo = "20H" Or Current_Frm!Plan_Cbo = "11H" Or Current_Frm!Plan_Cbo = "12H") Then
        AMRF = 0.5
      Else
        AMRF = 0
      End If
    End If
End Select

结束不利市场再融资费用

标签: vbams-access-2016

解决方案


我终于弄明白了。我有一个拆分的 ms-access 数据库。如果数据库被拆分,表不是本地的,我不能使用 OpenRecordset("SoldInfo_Tbl", dbOpenTable ),我必须使用dbOpenDynaset


推荐阅读