Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: krijg fout melding 3131 en geeft geel op dikke gedeelte  (gelezen 1748 keer)

0 leden en 1 gast bekijken dit topic.

Offline dino

  • Lid
  • *
  • Berichten: 70
  • Geslacht: Man
  • De Oplossing!
krijg fout melding 3131 en geeft geel op dikke gedeelte
« Gepost op: 24 mei 2015, 16:54:41 »
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])
            DoCmd.SendObject acSendReport, "RptPlanning", acFormatPDF, Me.Email, , , , Me.Werknemer, True
            .MoveNext
        Next
    End If
    .Close
End With
End Sub
/code
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline dizzl

  • Ambassadeur
  • *****
  • Berichten: 2.345
  • I've Upped my standards,now,up yours!
Re: krijg fout melding 3131 en geeft geel op dikke gedeelte
« Reactie #1 Gepost op: 25 mei 2015, 08:40:27 »
- Waarom doe je een Movefirst? En meteen erna een MoveLast?
- Veronderstel je hebt 100 records in "SELECT * FROM qryPlanning" dan maak je een lus van 1-100 en telkens ga je in de deze lus naar een volgend record.


Zonder de database zelf kan ik daar weinig van zeggen.
Kan je een eenvoudiger bv maken of je database doorzenden?
Systeem  : Intel Core i5-4440 3.1Ghz, 3.1GHz 16Giga Ram 64Bits
Software : Windows 10 professional, Avira, Office 2016 Professional

 


www.combell.com