Bonjour,
Comme annoncé en objet, j'ai un formulaire avec des listes déroulantes et des champs textes.
Deux champs date début et date fin peuvent être définies par l'utilisateur et constituent ma 1ère condition.
Ma seconde condition est un autre élément d'une liste ou champ texte.
Vous trouverez mon code ci-dessous.
Le problème que je rencontre, c'est que je ne peux pas ouvrir un état si mon deuxième filtre est de format monétaire.Par défaut, il m'ouvre l'intervalle des montants définis mais, toutes les dates, depuis le début de création de ma base
Exemple :
Je veux comme montant min : 250 et max 500 pour la période du 15/03/2011 au 19/11/2011 il va me sortir tous les enregistrements compris entre 250 et 300 euros et ce quelques soit la date début et/ou date fin:
Comment ouvrir mon état avec condition date et monétaire.
J'insiste à nouveau, la date choisie plus un autre élément de mes listes déroulantes, fonctionnent;Seul avec le montant, ça coince
J'espère avoir été clair et vous remercie
Je vous remercie
	
	
	
	
	
		
	
		
			
		
		
	
				
			Comme annoncé en objet, j'ai un formulaire avec des listes déroulantes et des champs textes.
Deux champs date début et date fin peuvent être définies par l'utilisateur et constituent ma 1ère condition.
Ma seconde condition est un autre élément d'une liste ou champ texte.
Vous trouverez mon code ci-dessous.
Le problème que je rencontre, c'est que je ne peux pas ouvrir un état si mon deuxième filtre est de format monétaire.Par défaut, il m'ouvre l'intervalle des montants définis mais, toutes les dates, depuis le début de création de ma base
Exemple :
Je veux comme montant min : 250 et max 500 pour la période du 15/03/2011 au 19/11/2011 il va me sortir tous les enregistrements compris entre 250 et 300 euros et ce quelques soit la date début et/ou date fin:
Comment ouvrir mon état avec condition date et monétaire.
J'insiste à nouveau, la date choisie plus un autre élément de mes listes déroulantes, fonctionnent;Seul avec le montant, ça coince
J'espère avoir été clair et vous remercie
Je vous remercie
		Code:
	
	
	Dim strfiltre As String, stDocName As String, strdatedebut As String, strdatefin As String, strintervalle As String
Dim strfil As String
 strdatedebut = Nz(Me.txtdatedebut, "")
   strdatefin = Nz(Me.txtdatefin, "")
    If IsDate(strdatedebut) And IsDate(strdatefin) Then
        strdatedebut = Format(Me.txtdatedebut, "dd/mm/yyyy")
        strdatefin = Format(Me.txtdatefin, "dd/mm/yyyy")
        End If
       strintervalle = "[Date d'enregistrement]>=#" & strdatedebut & "# AND [Date d'enregistrement]<#" & strdatefin & "#"
       If Me.FilterOn Then
           strfil = "WHERE " & Me.Filter & " AND " & strintervalle
        Else
            strfil = strintervalle
       End If
 
   
    stDocName = "Analyse : Suivi des affaires"
       ' strwhere = "[Qui]='" & Me!Qui & "'"
'filtre sur personne
If Not IsNull(Me!cmbqui) Then
strfiltre = "[Qui]='" & Me!cmbqui & "'"
End If
'filtre sur bl
If Not IsNull(Me.cmbbl) Then
If strfiltre <> "" Then strfiltre = strfiltre & " And "
strfiltre = strfiltre & "[bl]='" & Me.cmbbl & "'"
End If
'filtre sur cofor
If Not IsNull(Me.cmbcofor) Then
If strfiltre <> "" Then strfiltre = strfiltre & " And "
strfiltre = strfiltre & "[Cofor]='" & Me.cmbcofor & " '"
End If
'filtre sur ano
If Not IsNull(Me.cmbano) Then
If strfiltre <> "" Then strfiltre = strfiltre & " And"
strfiltre = strfiltre & "[Ano constatée]='" & "" & "" & Me.cmbano & "'"
End If
'filtre sur date facture
  strfil = "[Date d'enregistrement]>=#" & strdatedebut & "# AND [Date d'enregistrement]<#" & strdatefin & "#"
        If Me.FilterOn Then
            strfil = "WHERE " & Me.Filter & " AND " & strintervalle
             strfil = strintervalle
    
     End If
     
     
    strdatedebut = Nz(Me.txtdatedebut, "")
   strdatefin = Nz(Me.txtdatefin, "")
   If IsDate(strdatedebut) And IsDate(strdatefin) Then
        strdatedebut = Format(Me.txtdatedebut, "dd/mm/yyyy")
        strdatefin = Format(Me.txtdatefin, "dd/mm/yyyy")
 strintervalle = "[Date d'enregistrement]>=#" & strdatedebut & "# AND [Date d'enregistrement]<#" & strdatefin & "#"
End If
If Not IsNull(Me.txtdatedebut) Then
If strfil <> "" Then strfil = strfil & " AND "
 strfil = strfil & "[Date d'enregistrement]=#" & Me.txtdatedebut & "#"
 
End If
If Not IsNull(Me.txtdatefin) Then
If strfil <> "" Then strfil = strfil & " And "
 strfil = strfil & "[Date d'enregistrement]=#" & Me.txtdatefin & "#"
End If
'filtre sur référence
If Not IsNull(Me.cmbref) Then
If strfiltre <> "" Then strfiltre = strfiltre & " And "
strfiltre = strfiltre & "[Référence]='" & Me.cmbref & "'"
End If
'filtre sur filière
If Not IsNull(Me.cmbfilière) Then
'If strfiltre <> "" Then strfiltre = strfiltre & " And "
strfiltre = "[filière]='" & Me!cmbfilière & " '"
'strfiltre = strfiltre & "[filière]='" & Me.cmbfilière & " '"
 
End If
'filtre sur montant
If Not IsNull(Me.txtmontantmin) Then
If strfiltre <> "" Then strfiltre = strfiltre & " And "
strfiltre = strfiltre & "([Montant HT]>=" & Me.txtmontantmin & ")"
End If
If Not IsNull(Me.txtmontantmax) Then
If strfiltre <> "" Then strfiltre = strfiltre & " And "
strfiltre = strfiltre & "([Montant HT]<=" & Me.txtmontantmax & ")"
End If
DoCmd.OpenReport stDocName, acViewPreview, , strfiltre
End Sub