具有多个表的Openrecordset,Access 2016

时间:2017-11-29 23:17:17

标签: vba access-vba

我正在使用以下代码获取“对象变量或未设置块变量(错误91)”错误:

Dim db As Database
Dim rs As Recordset

Private Sub Form_Load()

    Dim mySQL As String
    mySQL = "SELECT Tuteurs.ID_Tuteur, Tarifs_17_18.*, Paiements_17_18.* " & _
            "FROM (Tuteurs INNER JOIN Tarifs_17_18 ON Tuteurs.ID_Tuteur = Tarifs_17_18.TuteurID_Trf) " & _
            "INNER JOIN Paiements_17_18 ON Tuteurs.ID_Tuteur = Paiements_17_18.TuteurID_Pmt " & _
            "WHERE ID_Tuteur =" & [Forms]![Eleves]![TuteurID_Elv]

    Set db = CurrentDb
    Set rs = db.OpenRecordset(mySQL, dbOpenDynaset, dbSeeChanges)
    rs.MoveFirst
End Sub

Private Sub btn_Enregistrer_Click()

    Dim totIns As Integer
    totIns = DSum("Montant", "Paiements_17_18", "[Mois_Regle]='Inscription'")

    If totIns = rs!Tarif_Inscription Then
        MsgBox "Yes" & totIns & " = " & rs!Tarif_Inscription
    Else
        MsgBox "No" & totIns & " # " & rs!Tarif_Inscription
    End If
End Sub

totIns工作得非常好,但rs!Tarif_Inscription是缺少的对象变量。

[Tarif_Inscription][Tarifs_17_18]表格中的字段。

请帮助吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案, 我的记录集不在范围内,我的变量在My procedure之外声明。 解决方案@ Moke123。