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 26/11/2010, 17h25   #1
Membre du Club
 
clément
Étudiant
Inscription : septembre 2010
Messages : 131
Détails du profil
Informations personnelles :
Nom : clément
Âge : 21

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2010
Messages : 131
Points : 59
Points : 59
Par défaut Filtrer mon etat

Bonjour !

J'ai un petit probleme !

Je dois faire un état en fonction d'une requete sql.

Mon état est fait et j'ai mis comme source une requete sql nommé "Appraisalform".

Cependant le probleme c'est quand je l'ouvres je voudrais que sa fasse un filtre sur Appraisal tel que :

"ID_Training_Session.ID = " & Me.ID_Session_Form & ""

j'ai ca comme code :
Code :
1
2
3
4
5
 
    Dim test As String
    test = "ID_Training_Session.ID = " & Me.ID_Session_Form & ""
 
    DoCmd.OpenReport "Appraisal", acViewPreview, test, , acWindowNormal
Mais sa ne fonctionne pas mais ne bug pas :o

Quelqu'un aurait'il une idée ? :s car peut etre que vu que la source de l'état c'est "Appraisalform" et pas une requete en direct, il apprécie pas ? :S

merci d'avance !
Mycose est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2010, 17h30   #2
Nouveau Membre du Club
 
Inscription : novembre 2010
Messages : 105
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 105
Points : 36
Points : 36
Salut,

Je ne connais pas les Etats (je n'en fait jamais) mais les requêtes SQL ont une formulation à respecter:

Code :
test = "SELECT * FROM ID_Training_Session WHERE (ID_Training_Session.ID ='" & Me.ID_Session_Form & "');"
Avec ID_Training_Session ta table et ID un champ texte de ID_Training_Session.
Cinesra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 03h30   #3
Membre Expert
 
Homme Pierre ANTOINE
Inscription : février 2008
Messages : 650
Détails du profil
Informations personnelles :
Nom : Homme Pierre ANTOINE
Âge : 43
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : février 2008
Messages : 650
Points : 1 302
Points : 1 302
Bonjour,
A priori, en effet, votre contenu de la variable "test" est erronée.

D'autre part, pourquoi ne pas directement envoyer comme source de l'état la chaine SQL correspondant à votre requête filtrée?

Pierre
pier.antoine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 09h44   #4
Membre du Club
 
clément
Étudiant
Inscription : septembre 2010
Messages : 131
Détails du profil
Informations personnelles :
Nom : clément
Âge : 21

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2010
Messages : 131
Points : 59
Points : 59
j'ai aussi pensé a sa mais comment j'accède a cette propriété ?

Je vais tenté de faire mon filtre mais si je trouves pour mettre la source directement sa sera plus simple ^^

Mais sinon pour le contenu de "test" c'est un filtre donc c'est pas toute la requete sql :s
Mycose est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 10h35   #5
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 237
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 237
Points : 11 023
Points : 11 023
Bonjour,

la syntaxe pour atteindre la source :

Reports!Appraisal.RecordSource = " le sql entre quotes "
ClaudeLELOUP est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 10h49   #6
Membre du Club
 
clément
Étudiant
Inscription : septembre 2010
Messages : 131
Détails du profil
Informations personnelles :
Nom : clément
Âge : 21

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2010
Messages : 131
Points : 59
Points : 59
Merci ! J'ai reussi a faire un truc x)

Vu que sa marchait pas en acViewPreview j'ai reussi a contourner ca x)

J'ai mis

Code :
1
2
    Me.RecordSource = "SELECT * FROM Appraisalform WHERE ID_Training_Session = " & Me.ID_Session_Form & ""
    DoCmd.OpenReport "Appraisal", acViewPreview, , , acWindowNormal
dans mon formulaire (pour stocker la requete et ouvrir l'état)

puis dans l'état j'ai mis :

Code :
1
2
3
Private Sub Report_Open(Cancel As Integer)
    Me.RecordSource = Forms![Training - Modify Session].RecordSource
End Sub
Pour récupérer la requete x) Et sa marche

Merci
Mycose 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 21h22.


 
 
 
 
Partenaires

Hébergement Web