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

WinDev Discussion :

Erreur d'analyse ?


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2014
    Messages : 52
    Points : 31
    Points
    31
    Par défaut Erreur d'analyse ?
    Bonjour à tous,
    Voilà le pb sur lequel je bloque depuis quelques jours.
    Pour me perfectionner sur Windev avant de programmer pour un client je développe une appli perso de gestion de trésorerie personnelle.
    J'utilise, entre autre 2 fichiers
    le fichier des écritures et le fichier des ventilations.
    Fichier Ecritures Fichier Ventilations
    IDEcriture IDVentilation
    Date
    DateBanque
    TypeEcriture
    NomTiers
    NumChq
    Memo Memo
    NomRubrique NomRubrique
    NomSousRubrique NomSousRubrique
    Depense Depense
    Recette Recette
    Ventilation
    IdComptes IDEcriture
    L'IDComptes du fichier Ecriture fait référence au compte auquel l'écriture est rattachée, l'IDEcriture du fichier Ventilation.
    Dans l'appli on se retrouve donc avec des Ecritures simples et des Ecritures avec ventilation.
    La différentiation se fait au niveau du flag Ventilation (si Flag à vrai alors écitures ventilées dans le fichier Ventilations)
    Mon pb est de créer une requête qui m'extraie les enregistrements du fichier Ecriture (non ventilés) et les écritures ventilations, toutes classées par Rubriques, Sous Rubriques et date.

    Plus clairement je veux scanner le fichier Ecriture, je trouve une écriture sans ventilation je l'ajoute dans la table avec ruptures, je trouve une écriture avec ventilation je ne l'ajoute pas mais j'ajoute les écritures ventilées.
    Je peux le faire par programmation mais j'aimerais une requête qui le fasse directement.
    Est ce possible?

    A l'heure actuelle je ne récupère que les écritures ventilées.
    Voici la requête
    Code sql : 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
    SELECT 
    	EcritureVentilée.IDEcriture AS IDEcriture,	
    	Ecriture.Date AS DATE,	
    	Ecriture.DateBanque AS DateBanque,	
    	Ecriture.TypeEcriture AS TypeEcriture,	
    	Ecriture.NumChq AS NumChq,	
    	Ecriture.NomTiers AS NomTiers,	
    	EcritureVentilée.Mémo AS Mémo,	
    	EcritureVentilée.NomRub AS NomRub,	
    	EcritureVentilée.NomSousRub AS NomSousRub,	
    	EcritureVentilée.debit AS debit,	
    	EcritureVentilée.credit AS credit,	
    	Ecriture.IDComptes AS IDComptes,	
    	Ecriture.Ventilee AS Ventilee
    FROM 
    	Ecriture,	
    	EcritureVentilée
    WHERE 
    	Ecriture.IDEcriture = EcritureVentilée.IDEcriture
    	AND
    	(
    		EcritureVentilée.IDEcriture = {ParamIdEcriture}
    	)
    Où est l'erreur?


    Merci de votre aide.
    virtualdev

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 256
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 256
    Points : 12 919
    Points
    12 919
    Par défaut
    Bonjour,
    Pour récupérer toutes les lignes d'une table A et les éventuelles lignes liées d'une table B, il faut passer par une jointure externe:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select *
    from TableA
    left outer join TableB on TableA.Idx = TableB.Idx

    Si des critères supplémentaires sont à appliquer sur la tableB, il faut penser à les mettre dans la jointure, et non dans la clause WHERE.

    Tatayo.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2014
    Messages : 52
    Points : 31
    Points
    31
    Par défaut
    Je teste et je reviens vers vous.

    Merci.
    virtualdev

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2014
    Messages : 52
    Points : 31
    Points
    31
    Par défaut
    C'était trop simple!
    Merci à toi tatayo.

    Bon Week-End à tous
    virtualdev

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2014
    Messages : 52
    Points : 31
    Points
    31
    Par défaut
    J'avais coché [Résolu] un peu trop rapidement car j'ai encore une question.

    Où doit on mettre les clauses WHERE (sur le fichierA) et la clause SORT BY

    J'ai essayé ça
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT 
    	*
    FROM 
    	Ecriture
    WHERE
            Ecriture.Ventilee <> 1
    LEFT OUTER JOIN
    	EcritureVentilée 
    	ON 
    	Ecriture.IDEcriture = EcritureVentilée.IDEcriture

    mais ça provoque une erreur Windev.

    Merci de votre aide
    virtualdev

  6. #6
    Membre confirmé Avatar de wd_newbie
    Homme Profil pro
    Développeur
    Inscrit en
    Mars 2007
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 734
    Points : 637
    Points
    637
    Par défaut
    Hello,

    jette un oeil par là :

    http://sqlpro.developpez.com/cours/sqlaz/jointures/

    tu devrais trouver pas mal de réponses à tes questions


    Pour ton WHERE il doit venir après la jointure

    Olivier

Discussions similaires

  1. [XML] Erreur d'analyse XML : mal formé
    Par kespan dans le forum Valider
    Réponses: 2
    Dernier message: 15/01/2007, 18h57
  2. Erreur d'analyse XML : mal formé
    Par arsenik7 dans le forum Valider
    Réponses: 2
    Dernier message: 16/11/2006, 10h40
  3. [SQL] Erreur d'analyse XML : mal formé
    Par lodan dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/08/2006, 09h10
  4. Erreur d'analyse XML : entité non définie
    Par ToxiZz dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 16/01/2006, 13h22
  5. Réponses: 6
    Dernier message: 07/03/2005, 13h45

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