IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème requete SQL [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2012
    Messages : 136
    Par défaut Problème requete SQL
    Bonjour,

    Je ne suis pas certaine si je poste ma demande au bon endroit dans le forum.

    Mon problème est que ma requête SQl fonction très bien dans SQl Développer et quand je l'insère dans EXCEl erreur ora-00933 command not proprely ended.

    Voici ma requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    sReq = sReq & _
                "SELECT " & vbCrLf & _
                "CASE WHEN WV.Orde_Line > 1000 THEN WV2.Xfo_Vendu ELSE WF.Xfo_Fab END AS Xfo_Fab," & vbCrLf & _
                "CASE WHEN WV.Orde_Line > 1000 THEN WV2.Version ELSE WF.Revision END AS Revision, " & vbCrLf & _
                "X.Id_Xfo," & vbCrLf & _
                "Min (PEX.Debut_Execution)" & vbCrLf & _
                "FROM Planif_Etape_Xfo PEX" & vbCrLf & _
                "INNER JOIN Xfo X ON" & vbCrLf & _
                "X.In_Entity = PEX.In_Entity AND" & vbCrLf & _
                "X.Id_Xfo = PEX.Id_Xfo" & vbCrLf & _
                "INNER JOIN Wo_Fab WF ON" & vbCrLf & _
                "WF.In_Entity = X.In_Entity AND" & vbCrLf & _
                "WF.Wo_No = X.Wo_No" & vbCrLf & _
                "LEFT JOIN XfoChois XC ON" & vbCrLf & _
                "XC.In_Entity = X.In_Entity AND" & vbCrLf & _
                "XC.Id_Xfo = X.Id_Xfo" & vbCrLf & _
                "LEFT JOIN Wo_Vendu WV ON" & vbCrLf & _
                "WV.In_Entity = XC.In_Entity AND" & vbCrLf & _
                "WV.Orde_No = XC.Orde_No AND" & vbCrLf & _
                "WV.Orde_Line = XC.Orde_Line" & vbCrLf & _
                "LEFT JOIN Wo_Vendu WV2 ON" & vbCrLf & _
                "WV2.In_Entity = WV.In_Entity AND" & vbCrLf & _
                "WV2.Orde_No = WV.Orde_No AND" & vbCrLf & _
                "WV2.Orde_Line = (WV.Orde_Line - 1000)"
     
         sReq = sReq & _
                "WHERE PEX.In_Entity = 'DG' AND" & vbCrLf & _
                "((WV.Orde_Line <= 1000 AND" & vbCrLf & _
                "(PEX.Etape_No = 700 OR" & vbCrLf & _
                "PEX.Etape_No = 705)) OR" & vbCrLf & _
                "(WV.Orde_Line > 1000 AND" & vbCrLf & _
                "PEX.Etape_No = 850)) AND" & vbCrLf & _
                "PEX.Debut_Execution BETWEEN TO_DATE('" & dfPer.Debut & "', 'YYYY/MM/DD') AND TO_DATE('" & dfPer.Fin & "', 'YYYY/MM/DD')" & vbCrLf & _
                "Group BY" & vbCrLf & _
                "WF.Xfo_Fab," & vbCrLf & _
                "WF.Revision," & vbCrLf & _
                "X.Id_Xfo," & vbCrLf & _
                "WV.Orde_Line," & vbCrLf & _
                "WV2.Xfo_Vendu," & vbCrLf & _
                "WV2.Version" & vbCrLf & _
                "Union"
     
     
          sReq = sReq & _
                "SELECT" & vbCrLf & _
                    "WV2.Xfo_Vendu AS Xfo_Fab," & vbCrLf & _
                    "WV2.Version AS Revision," & vbCrLf & _
                    "X.Id_Xfo," & vbCrLf & _
                    "Min (PE.Debut_Execution)" & vbCrLf & _
                "FROM" & vbCrLf & _
                    "Wo_Vendu WV"
     
          sReq = sReq & _
                "INNER JOIN Wo_Vendu WV2 ON" & _
                    "WV2.In_Entity = WV.In_Entity AND" & _
                    "WV2.Orde_No = WV.Orde_No AND" & _
                    "WV2.Orde_Line = (WV.Orde_Line - 1000)" & vbCrLf & _
                "INNER JOIN XfoChois XC ON" & _
                    "XC.In_Entity = WV.In_Entity AND" & _
                    "XC.Orde_No = WV.Orde_No AND" & _
                    "XC.Orde_Line = WV.Orde_Line"
     
         sReq = sReq & _
                "INNER JOIN XfoChois XC2 ON" & _
                    "XC2.In_Entity = WV2.In_Entity AND" & _
                    "XC2.Orde_No = WV2.Orde_No AND" & _
                    "XC2.Orde_Line = WV2.Orde_Line" & vbCrLf & _
                "INNER JOIN Xfo_Ext X ON" & _
                    "X.In_Entity = XC.In_Entity AND" & _
                    "X.Id_Xfo = XC.Id_Xfo"
     
         sReq = sReq & _
                "INNER JOIN Planif_Etape PE ON" & _
                    "PE.In_Entity = XC2.In_Entity AND" & _
                    "PE.Orde_No = XC2.Orde_No AND" & _
                    "PE.Orde_Line = XC2.Orde_Line AND" & _
                    "PE.Orde_Line_Seq = XC2.Orde_Line_Seq"
     
          sReq = sReq & _
                 "WHERE" & vbCrLf & _
                    "WV.In_Entity = 'DG' AND" & vbCrLf & _
                    "PE.Etape_No = 850 AND" & vbCrLf & _
                    "PE.Debut_Execution BETWEEN TO_DATE('" & dfPer.Debut & "', 'YYYY/MM/DD') AND TO_DATE('" & dfPer.Fin & "', 'YYYY/MM/DD')" & vbCrLf & _
                "Group BY" & vbCrLf & _
                    "WV2.Xfo_Vendu," & vbCrLf & _
                    "WV2.Version," & vbCrLf & _
                    "X.Id_Xfo" & vbCrLf & _
                    "Order BY" & vbCrLf & _
                    "Xfo_Fab," & vbCrLf & _
                    "Revision"

    Merci

  2. #2
    Membre Expert
    Femme Profil pro
    Data engineer
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Data engineer
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Bonjour,
    Sans la structure de la base c'est un peu difficile à analyser...
    J'ai collé ton code dans une procédure et à la fin, j'ai mis la ligne Si tu colles le résultat dans SQL Developer, ça m'étonnerais que le résultat fonctionne !

    En regardant le résultat, je trouve des espaces (ou des retours à la ligne) manquants. Lorsque tu découpe la requête SQL, il faut penser à vérifier ce que donne la concaténation des différents morceaux.

    Les points à problème sont à la fin du deuxième bloc ligne 41 (après Union).
    Puis à la fin des lignes 54 à 77 qui ne se terminent pas pas "vbCrLf & _". Il faut au moins un espace à la fin de chaque portion de chaîne de caractères.

  3. #3
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2012
    Messages : 136
    Par défaut Probleme requete sql
    Bonjour,

    Bien oui c'était belle et bien mais espace qu'il manquait.


    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Problème requete SQL dans PHP
    Par dl_jarod dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/04/2006, 14h40
  2. problème requete sql fusion de deux count
    Par TuxP dans le forum Langage SQL
    Réponses: 6
    Dernier message: 14/12/2005, 15h15
  3. Problème requete SQL
    Par tonyskn dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/11/2004, 20h37
  4. problème requete sql
    Par Fred- dans le forum ASP
    Réponses: 2
    Dernier message: 13/06/2004, 02h20
  5. Problème Requete SQL et QuickReport
    Par arnaud_verlaine dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/01/2004, 09h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo