krijg een fout melding 3131 wat betekend dit

Status
Niet open voor verdere reacties.

dinoshop

Terugkerende gebruiker
Lid geworden
8 sep 2000
Berichten
1.100
het vet gedrukte deel geeft hij dus aan dat deze fout word gemaakt
de insteek is dat deze code zoekt naar email adressen en deze dan een rapport mailt met daarop een filter .
dus via filter zoekt hij de email adressen bij de werknemers .


Code:
Private Sub Test_Click()
Dim strSQL As String, strSQL_Rapport As String
Dim sTabel As String, sRapport As String, iAantal As String
Dim X As Integer
Dim strwhere As String

strSQL = "SELECT * FROM qryPlanning"
sRapport = "rptPlanning"

DoCmd.Echo False, "Bezig met openen van recordset."
With CurrentDb.OpenRecordset(strSQL)
    
    .MoveLast
    .MoveFirst
    iAantal = .RecordCount
    If iAantal > 0 Then
        For X = 1 To iAantal
        strwhere = strwhere & "([Werknemer] = " & Me.CboWerknemer & ").Value"
            DoCmd.Echo False, "Samenvoegen van Record " & X & " van " & iAantal & " records..."
            DoCmd.OpenReport sRapport, acViewDesign, , , acHidden
            sTabel = Reports(sRapport).RecordSource
            If InStr(1, UCase(sTabel), "WHERE") > 0 Then
                strSQL_Rapport = Left(sTabel, InStr(1, sTabel, "WHERE ") - 1)
            Else
                If InStr(1, UCase(sTabel), "SELECT") = 0 Then
                    If InStr(1, sTabel, " ") > 0 And InStr(1, sTabel, "[") = 0 Then
                        sTabel = "[" & sTabel & "]"
                    End If
                    strSQL_Rapport = "SELECT * FROM " & sTabel & " "
                Else
                    strSQL_Rapport = sTabel
                End If
            End If
            
            Do Until Right(strSQL_Rapport, 1) <> ";"
                strSQL = Left(strSQL_Rapport, Len(strSQL_Rapport) - 1)
            Loop
            
            
            strSQL_Rapport = strSQL_Rapport & Me.Filter
            Reports(sRapport).RecordSource = strSQL_Rapport
            DoCmd.Close acReport, sRapport, acSaveYes
            Me.Email = DLookup("email", "tblpersoneel", "PersoneelNR=" & [Werknemer])
            [B]DoCmd.SendObject acSendReport, "RptPlanning", acFormatPDF, Me.Email, , , , Me.Werknemer,[/B] True
            .MoveNext
        Next
    End If
    .Close
End With
End Sub
 
Laatst bewerkt:
Lees je vraag even terug: Ik zie in je code niet welk deel de foutmelding genereert, omdat (momenteel) niets vetgedrukt is.
Verder denk ik dat het zinvol is om al je string tests en operaties te documenteren, want vanaf If InStr(1, UCase(sTabel), "WHERE") ben je me kwijt. :)

Tijs.
 
Ik ken die fout niet, en zie ook geen regel vet staan dus ik moet een beetje gokken, maar ik zie wel een stevige fout in de code:
Code:
strwhere = strWhere & "([Werknemer] = " & Me.cboWerknemer & ").Value"
Dat zou moeten zijn:
Code:
strwhere = strWhere & "([Werknemer] = " & Me.cboWerknemer.Value & ")"
 
DoCmd.SendObject acSendReport, "RptPlanning", acFormatPDF, Email, , , Me.Werknemer, , True, """"

deze regel wordt geel als ik kijk op email staat daar netjes een email adres kijk ik bij werknemer krijg in ook de werknemer te zien dus wat is er mis .
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan