Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
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 03/03/2011, 14h54   #1
Membre habitué
 
Homme Christian Roignot
Logisticien
Inscription : janvier 2009
Messages : 308
Détails du profil
Informations personnelles :
Nom : Homme Christian Roignot
Âge : 59
Localisation : France

Informations professionnelles :
Activité : Logisticien
Secteur : Industrie

Informations forums :
Inscription : janvier 2009
Messages : 308
Points : 112
Points : 112
Par défaut Erreur d'une expression à la propriété RowSource non valide

Bonjour,

J'ai une erreur d'exécution 2455 à l'ouverture d'un report.
J'aimerai changer la propriété RowSource à l'ouverture de l'état, et j'ai cette erreur.
Ci-dessous le code:
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
26
27
 
Private Sub Report_Open(Cancel As Integer)
Dim numprod As Integer
Dim sql As String
 
numprod = OpenArgs
 If numprod = 1 Then
        sql = " TRANSFORM Sum(rqyQtéProdGraphMois.Qté) AS SommeDeQté SELECT rqyQtéProdGraphMois.Mois,"
        sql = sql & " Sum(rqyQtéProdGraphMois.[Qté]) AS [Total A + AL], Sum(IIf([NomMachine]<> '" & "Hercule" & "',[Qté])) AS [Total A]"
        sql = sql & " FROM rqyQtéProdGraphMois GROUP BY rqyQtéProdGraphMois.Mois PIVOT rqyQtéProdGraphMois.NomMachine;"
        Debug.Print
        Me.Graph.RowSource = sql
        Me.Graph.Requery
        Me.Titre.Caption = "Statistiques A9 du mois de : " & PeriodeStats
    End If
'Active............
    If numprod = 2 Then
        MsgBox "A définir", vbInformation, "Iformation"
        Exit Sub
    End If
'Active................
    If numprod = 3 Then
        MsgBox "A définir", vbInformation, "Iformation"
        Exit Sub
    End If
Me.Graph.Requery
End Sub
Dans un formulaire le code fonctionne bien.

Quelqu'un a t'il une solution?
Merci d'avance de votre aide

Christian
rch05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 15h04   #2
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 258
Points : 5 258
Salut Christian,

Je ne sais pas si ca vient de ça, mais dans ton sql tu as mis:

Code :
Sum(IIf([NomMachine]<> '" & "Hercule" & "',[Qté])) AS [Total A]
ce serait pas plutôt :

Code :
Sum(IIf([NomMachine]<> '" & "Hercule" & "',[Qté],0)) AS [Total A]
De plus,

dans le code :

Code :
Me.Titre.Caption = "Statistiques A9 du mois de : " & PeriodeStats
Il ne reconnait peut-être pas lq fonction PeriodeStats :
La fonction PeriodeStats doit être déclarée dans le module de l'état du genre:

Code :
1
2
3
Private Function PeriodeStats() As String
...
End Function

ou déclarée publique dans 1 module indépendant.

Code :
1
2
3
Public Function PeriodeStats() As String
...
End Function
A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 15h22   #3
Membre habitué
 
Homme Christian Roignot
Logisticien
Inscription : janvier 2009
Messages : 308
Détails du profil
Informations personnelles :
Nom : Homme Christian Roignot
Âge : 59
Localisation : France

Informations professionnelles :
Activité : Logisticien
Secteur : Industrie

Informations forums :
Inscription : janvier 2009
Messages : 308
Points : 112
Points : 112
Bonjour Denis,

J'ai la même erreur
Ce que je remarque, il est impossible de changer la requête dans le RowSource via VBA.
Bizarre!!!

Comment faire?
@+

Christian
rch05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 15h32   #4
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 258
Points : 5 258
Re,

Dans ce cas pourquoi ne pas définir une seule fois en dur le contenu de la propriété rowsource en mode création de l'état.
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 15h43   #5
Membre habitué
 
Homme Christian Roignot
Logisticien
Inscription : janvier 2009
Messages : 308
Détails du profil
Informations personnelles :
Nom : Homme Christian Roignot
Âge : 59
Localisation : France

Informations professionnelles :
Activité : Logisticien
Secteur : Industrie

Informations forums :
Inscription : janvier 2009
Messages : 308
Points : 112
Points : 112
Oui, c'est sur.
Mais, il y a + d'une cinquantaine de graphiques à imprimer, donc 50 états!!!!

Ca fait lourd.

Par contre, j'au lu le tuto ''Programmez MS Graph'' de Fabrice Constans, chapitre V.
J'ai effectué comme indiqué, et là j'ai une erreur 424 OBJET REQUIS au niveau suivant:
Code :
1
2
 
vGraph.initialiser Me.Graph
@+
rch05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 15h58   #6
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 258
Points : 5 258
Salut,

Il faudrait demander à Fabrice, l'auteur du tuto, mais il me semble qu'il te faut déja avant tout référencer une librairie, (Microsoft Graph 12.0 Object Library) pour manipuler l'objet graph...

A+ je m'absente...
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 16h04   #7
Membre habitué
 
Homme Christian Roignot
Logisticien
Inscription : janvier 2009
Messages : 308
Détails du profil
Informations personnelles :
Nom : Homme Christian Roignot
Âge : 59
Localisation : France

Informations professionnelles :
Activité : Logisticien
Secteur : Industrie

Informations forums :
Inscription : janvier 2009
Messages : 308
Points : 112
Points : 112
J'ai référencé cette librairie.

Ok, je vais le contacter.

Merci
@+
rch05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 17h21   #8
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 258
Points : 5 258
Attention il ne lit pas les mp

Note tout de même que dans le tuto l'auteur se place au niveau d'1 formulaire et non d'1 état

Il y a aussi certainement moyen d'utiliser les paramètres du formulaire et de mettre le code sql de la requête à la main sur le rowsource du graph...
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 18h12   #9
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 205
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 205
Points : 5 258
Points : 5 258
ReSalut,

J'ai réfléchi à ton problème, et je ne vois pas d'autre solutions que de modifier la propriété rowsource de l'objet graphique en mode design (création) de l'état.

Par exemple au niveau du bouton sur ton formulaire qui ouvre ton état (ici : "R_Stats") :

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
26
Private Sub CmdImprimer_Click()
Dim numprod As Integer
Dim sql As String
 
numprod = Me.IdCompteProdution
 
   If numprod = 1 Then
 
      DoCmd.OpenReport "R_Stats", acViewDesign
 
      sql = " TRANSFORM Sum(rqyQtéProdGraphMois.Qté) AS SommeDeQté SELECT rqyQtéProdGraphMois.Mois,"
      sql = sql & " Sum(rqyQtéProdGraphMois.[Qté]) AS [Total A + AL], Sum(IIf([NomMachine]<> '" & "Hercule" & "',[Qté],0)) AS [Total A]"
      sql = sql & " FROM rqyQtéProdGraphMois GROUP BY rqyQtéProdGraphMois.Mois PIVOT rqyQtéProdGraphMois.NomMachine;"
 
    Reports!R_Stats.Graph.RowSource = sql
 
    DoCmd.Close acReport, "R_Stats", acSaveYes
 
   'Ouvre l'état "R_Stats" en mode aperçu avant impression.
   DoCmd.OpenReport "R_Stats", acViewPreview
 
end if
 
...
 
End Sub
A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/03/2011, 18h49   #10
Membre habitué
 
Homme Christian Roignot
Logisticien
Inscription : janvier 2009
Messages : 308
Détails du profil
Informations personnelles :
Nom : Homme Christian Roignot
Âge : 59
Localisation : France

Informations professionnelles :
Activité : Logisticien
Secteur : Industrie

Informations forums :
Inscription : janvier 2009
Messages : 308
Points : 112
Points : 112
Re Denis,

C'est ce que j'ai cru comprendre concernant le Tuto.
Je vais tester ta proposition demain.
J'ai lu, qu'il falait modifier la source en mode création.
Ta solution correspond à celle-ci, et je ne savais pas comment faire (encore un peu jeune pour les subtilités comme celle-ci)

Je te tiens au courant, après avoir effectué le test.
Merci et bonne soirée

Christian
rch05 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 09h06   #11
Membre habitué
 
Homme Christian Roignot
Logisticien
Inscription : janvier 2009
Messages : 308
Détails du profil
Informations personnelles :
Nom : Homme Christian Roignot
Âge : 59
Localisation : France

Informations professionnelles :
Activité : Logisticien
Secteur : Industrie

Informations forums :
Inscription : janvier 2009
Messages : 308
Points : 112
Points : 112
Bonjour Denis,

mein Freund ist wunderbar (c'est merveilleux mon ami)

Cela fonctionne parfaitement.

Un grand MERCI de ton aide.

Bonne journée et bon WE.
@+

Christian
rch05 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 15h30.


 
 
 
 
Partenaires

Hébergement Web