Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/01/2011, 11h44   #1
Membre confirmé
 
Avatar de minot83
 
Homme
Administrateur de base de données
Inscription : mars 2006
Messages : 285
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Administrateur de base de données

Informations forums :
Inscription : mars 2006
Messages : 285
Points : 231
Points : 231
Par défaut Plusieurs conditions à l'ouverture d'un formulaire

Bonjour

J'ai un petit problème, je pose quelques conditions à l'ouverture d'un formulaire, mais je ne parviens à injecter une valeur dans ma variable "stdepuis".

J'ai essayé en variable public, même chose.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Private Sub BTN_CourrierA_Entité_Click()
    Dim stDocName As String
    Dim stlinkcriteria As String
    Dim stlinkcriteria2 As String
 
    stretard = Me.ZT_Retard
    stdepuis = Me.ZT_depuis
 
    stDocName = "F_Courrier_Arrivée_Liste"
    stlinkcriteria = "[Num_Service_Gestionnaire]=" & Me![ZLD_CourrierA_Entité] & " And (Date() - [T_Courrier_Arrivee].[Date création fiche arrivée]) >= " & stretard
    stlinkcriteria2 = "[Num_Service_Gestionnaire]=" & Me![ZLD_CourrierA_Entité] & " And (Date() - [T_Courrier_Arrivee].[Date création fiche arrivée]) >= " & stretard & " And  [T_Courrier_Arrivee].[Date création fiche arrivée] >= stdepuis And SR = False And [Date expédition doc] is Null"
 
 
   If Me.Cocher_a_traiter.Value = True Then
        sttitre_etat = "Courriers reçus jusqu'au " & (Date - stretard) & ", nécessitant une réponse mais n'en ayant toujours pas"
        stcondition = stlinkcriteria2
        DoCmd.Close
        DoCmd.OpenForm stDocName, , , stlinkcriteria2
    Else
        sttitre_etat = "Courriers reçus jusqu'au " & (Date - stretard)
        stcondition = stlinkcriteria
        DoCmd.Close
        DoCmd.OpenForm stDocName, , , stlinkcriteria
    End If
End Sub
En clair, tout se passe biens, sauf lorsque je rajoute ce critère
Code :
And  [T_Courrier_Arrivee].[Date création fiche arrivée] >= stdepuis
Merci d'avance.
minot83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 12h42   #2
Membre du Club
 
Inscription : juillet 2010
Messages : 56
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 56
Points : 52
Points : 52
Bonjour,

Il ne manquerait pas des guillemets :

Code :
And  [T_Courrier_Arrivee].[Date création fiche arrivée] >= " & stdepuis & "
jcdenton057 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 13h45   #3
Membre confirmé
 
Avatar de minot83
 
Homme
Administrateur de base de données
Inscription : mars 2006
Messages : 285
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Administrateur de base de données

Informations forums :
Inscription : mars 2006
Messages : 285
Points : 231
Points : 231
Citation:
Envoyé par jcdenton057 Voir le message
Il ne manquerait pas des guillemets
Merci de ta réponse, je reprends la mienne, afin que ce soit un peu plus clair.

avec
Code :
And  [T_Courrier_Arrivee].[Date création fiche arrivée] >= " & stdepuis & "
stdepuis n'est pas appliqué.

avec
Code :
And  [T_Courrier_Arrivee].[Date création fiche arrivée] >= stdepuis
une textbox s'ouvre et me demande d'entrer une valeur du paramètre stdepuis, et alors ça fonctionne.

J'aimerais donc que la valeur saisie dans le contrôle du précédent formulaire soit utilisée directement à l'ouverture de mon autre formulaire.

Voilà, en espérant que cela soit un peu plus compréhensible.

Merci d'avance
minot83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 10h10   #4
Membre confirmé
 
Avatar de Oliv'83
 
Homme Mon prénom cherche, c'est pas très dur...
Directeur commercial
Inscription : mars 2008
Messages : 356
Détails du profil
Informations personnelles :
Nom : Homme Mon prénom cherche, c'est pas très dur...
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Directeur commercial
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : mars 2008
Messages : 356
Points : 216
Points : 216
Bonjour Minot,

Et si tu utilisais un OpenArgs (http://access.developpez.com/faq/?pa...#PreremplChamp ).

Oliv'
Oliv'83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 13h58   #5
Membre du Club
 
Inscription : juillet 2010
Messages : 56
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 56
Points : 52
Points : 52
ah j'oubliai : si ta variable stdepuis est au format date, tu dois la mettre entre des #

Code :
And  [T_Courrier_Arrivee].[Date création fiche arrivée] >= #" & stdepuis & "#
jcdenton057 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 15h04   #6
Membre confirmé
 
Avatar de minot83
 
Homme
Administrateur de base de données
Inscription : mars 2006
Messages : 285
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Administrateur de base de données

Informations forums :
Inscription : mars 2006
Messages : 285
Points : 231
Points : 231
ça va nettement mieux ainsi, merci !

Par contre, truc de fou !!! Si je mets une date commençant par un jour dans les dizaines, vingtains, ou trente, c'est bon. Si mon date choisie commence par 01 par exemple, ça considère automatiquement janvier, et pas le 1er jour du mois . Pourtant j'ai précisé Date abrégée dans la table ou le contrôle du formulaire.
Il m'inverse "dd" et "mm" dès qu'il peut !

Donc je pense qu'il faut que précise le format de ma variable date. Je teste...
minot83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 15h53   #7
Membre confirmé
 
Avatar de minot83
 
Homme
Administrateur de base de données
Inscription : mars 2006
Messages : 285
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Administrateur de base de données

Informations forums :
Inscription : mars 2006
Messages : 285
Points : 231
Points : 231
Citation:
Envoyé par Oliv'83 Voir le message
Bonjour Minot,

Et si tu utilisais un OpenArgs (http://access.developpez.com/faq/?pa...#PreremplChamp ).

Oliv'
Salut voisin, et merci de ton intervention, je n'ai pas testé openargs, est-ce très différent de la condionwhere de la commande openform?

@+
minot83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 15h55   #8
Membre confirmé
 
Avatar de minot83
 
Homme
Administrateur de base de données
Inscription : mars 2006
Messages : 285
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Administrateur de base de données

Informations forums :
Inscription : mars 2006
Messages : 285
Points : 231
Points : 231
C'est bon, le problème venait donc du fait que je concaténais mal, et que jet traite les date au format US, donc il fallait convertir ma variable.

Code :
And [T_Courrier_Arrivee].[Date création fiche arrivée] >= #" & Format(stdepuis, "mm/dd/yyyy") & "#
Merci !!!
minot83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h26.


 
 
 
 
Partenaires

Hébergement Web