combobox

  • Onderwerp starter Onderwerp starter RSpan
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

RSpan

Gebruiker
Lid geworden
10 jun 2009
Berichten
166
Hallo forumleden

Ik heb nog een keer jullie hulp nodig In een formulier heb ik 4 comboboxen door hiermee keuzes te maken wordt er een rapport geprint.
Er moet ergens in de code een fout zitten maar ik kan hem maar niet vinden.
4 boxen
1 CBO organisatie
2 CBO patient
3 CBO freelancer
4 CBO periode

de werking moet zijn:
kies organisatie of patient
kies freelancer
kies periode
en afhankelijk van de gemaakte keuze organisatie of patient wordt er een rapport geprint.
Wat gaat er fout::(
Alle organisaties waar de freelancer gewerkt heeft in die periode worden nu geprint, en dat is niet de bedoeling.
Alleen de geselecteerde organisatie moet natuurlijk geprint worden.

Ik hoop dat iemand de fout ziet, hieronder de code.

Code:
Private Sub cmdResetCo_Click()
    Me.cboSelectNameOrg = Null
    Me.cboSelectNameCo = Null
    Me.cboSelectWeekCo = Null
    Me.cboSelectNamePat = Null
End Sub

Private Sub CmdGenerateCorFr_Click()
 On Error GoTo Err_CmdGenerateCorFr_Click

 Dim stDocName As String
 Dim stWhere As String
   
    If IsNull(Me.cboSelectNameOrg) And IsNull(cboSelectNamePat) Then
            MsgBox "U moet nog een Client of Patient selecteren"
         ElseIf Not IsNull(Me.cboSelectNameOrg) And Not IsNull(cboSelectNamePat) Then
            MsgBox "U moet een Client of een Patient selecteren niet beide!"
         ElseIf IsNull(Me.cboSelectNameCo) Then
            MsgBox "U moet nog een Freelancer selecteren"
         ElseIf IsNull(Me.cboSelectWeekCo) Then
            MsgBox "U moet nog een weeknummer selecteren"
         Else
             If Not IsNull(Me.cboSelectNameOrg) And IsNull(cboSelectNamePat) Then
                stWhere = "[OrganisatieID]=" & Me.cboSelectNameOrg & " And "
                blnTrim = True
                stDocName = "rptfactFrlCoO"
                
             Else
              If Not IsNull(Me.cboSelectNamePat) And IsNull(Me.cboSelectNameOrg) Then
                 stWhere = "[patientID]=" & Me.cboSelectNamePat & " And "
                 binTrim = True
                 stDocName = "rptfactFrlCoP"

             End If
           End If
         If Not IsNull(Me.cboSelectNameCo) And IsNull(cboSelectNamePat) Then
                 stWhere = "[FreelancerID]=" & Me.cboSelectNameCo & " And "
                 blnTrim = True
         End If

         If Not IsNull(Me.cboSelectWeekCo) Then
                    stWhere = stWhere & stWhere & "[WeekID]=" & Me.cboSelectWeekCo & " And "
                    blnTrim = True
         End If
          
         If blnTrim Then
            stWhere = Left(stWhere, Len(stWhere) - 5)
         End If
     End If
     DoCmd.OpenReport stDocName, acPreview, , stWhere
     DoCmd.OpenReport stDocName, acViewNormal, , stWhere
     DoCmd.OutputTo acOutputReport, stDocName, acFormatPDF, "", False
     DoCmd.Close

           
     Exit Sub
         

Err_CmdGenerateCorFr_Click:
    MsgBox "Geannuleerd of geen gegevens om te printen"

End Sub


Nog even ter aanvulling in het rapport zie ik dat "hij" twee maal freelancer als selectiecreteria heeft staan ipv één maal freelancer en één maal organisatie.

Bij het filter in het rapport staat:
[FreelancerID]=9 And [FreelancerID]=9 And [WeekID]=1

terwijl er dit moet komen te staan

[OrganisatieID]=12 And [FreelancerID]=9 And [WeekID]=1

als ik dit handmatig invul dan komt er een correct rapport uit
Als ik de knop op het formulier gebruik, die dus met bovenstaande code werkt dan gaat het fout.
Ik hoop dat iemand enig idee heeft.
Groet
René
 
Laatst bewerkt:
De fout zit volgens mij in onderstaand stukje code:

Code:
         If Not IsNull(Me.cboSelectNameCo) And IsNull(cboSelectNamePat) Then
                 stWhere = [COLOR="Red"]stWhere &[/COLOR]  "[FreelancerID]=" & Me.cboSelectNameCo & " And "
                 blnTrim = True
         End If

De rode tekst ontbreekt in je code.

Rebmog
 
De fout zit volgens mij in onderstaand stukje code:

Code:
         If Not IsNull(Me.cboSelectNameCo) And IsNull(cboSelectNamePat) Then
                 stWhere = [COLOR="Red"]stWhere &[/COLOR]  "[FreelancerID]=" & Me.cboSelectNameCo & " And "
                 blnTrim = True
         End If

De rode tekst ontbreekt in je code.

Rebmog

Hoi Rebmog

wat jij aangeeft klopt inderdaad ik heb dat over het hoofd gezien er stond een stWhere te weinig en in de volgende regel stond er een te veel.

de code is dus nu alsvolgt:
Code:
 If Not IsNull(Me.cboSelectNameCo) And IsNull(cboSelectNamePat) Then
                 stWhere = stWhere & "[FreelancerID]=" & Me.cboSelectNameCo & " And "
                 blnTrim = True
         End If

         If Not IsNull(Me.cboSelectWeekCo) Then
                    stWhere = stWhere & "[WeekID]=" & Me.cboSelectWeekCo & " And "
                    blnTrim = True
         End If

Het werkt en dat is altijd weer prettig:D
Bedankt voor de hulp:thumb:
Groet
René
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan