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

Bases de données Delphi Discussion :

Selection et affichage en fonction de différentes plages


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur delphi junior
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Points : 22
    Points
    22
    Par défaut Selection et affichage en fonction de différentes plages
    Bonjour,

    Posons les informations.
    Je travail dans Access et Delphi 5

    Mes tables :
    CLIENT (CLI_CODE, CLI_NOM, CLI_PRENOM, CLI_ADRESSE_1, CLI_ADRESSE_2, CLI_CP, CLI_VILLE, CLI_MAIL)

    COMMERCIAUX(COM_CODE, COM_NOM, COM_PRENOM)

    VENTE(CLI_CODE, COM_CODE, VEN_DATE, VEN_MOTIF, VEN_PRIX)

    Souhait :
    Je souhaite effectuer un affichage avec un QReport (déjà configuré) par une requête SQL en ayant comme contrainte :
    - une plage de date (du 11/11/12 au 11/11/12 pour un essai. en vrai je sélectionne les dates dans des DBEditDate)
    - une plage de commerciaux (de COM_000001 à COM_000002. idem que pour les dates mais dans un DBEdit)
    - récupérer un TOTAL des ventes par commerciaux

    Problème :
    En essayant d'utiliser plusieurs BETWEEN ma requête ne fonctionne pas. Je fais donc une sous requête (uniquement pour la date). Mais voilà, premier problème dans Access il m'affiche pour les dates les bons commerciaux mais les dates ne vont pas du 11/11/12 au 11/11/12 mais du 11/11/12 au 12/11/12, pourquoi ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT VENTE.COM_CODE AS cle, COMMERCIAUX.COM_NOM, COMMERCIAUX.COM_PRENOM, VEN_DATE, SUM(VEN_PRIX) AS TOTAL
    FROM COMMERCIAUX LEFT JOIN VENTE ON COMMERCIAUX.COM_CODE = VENTE.COM_CODE
    WHERE VENTE.COM_CODE IN (SELECT COM_CODE FROM VENTE WHERE VEN_DATE BETWEEN #11/11/12# AND #11/11/12#)
    GROUP BY VENTE.COM_CODE, COM_NOM, COM_PRENOM, VEN_DATE


    EDIT : Problème résolu pour les dates, j'ai juste eu besoin de rajouter une ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT COMMERCIAUX.COM_CODE AS cle, COMMERCIAUX.COM_NOM, COMMERCIAUX.COM_PRENOM, VENTE.CLI_CODE, VEN_DATE, VEN_PRIX, SUM(VEN_PRIX) AS TOTAL
    FROM COMMERCIAUX LEFT JOIN VENTE ON COMMERCIAUX.COM_CODE = VENTE.COM_CODE
    WHERE COMMERCIAUX.COM_CODE IN (SELECT COM_CODE FROM VENTE WHERE VEN_DATE BETWEEN #11/11/12# AND #11/11/12#)
    AND VEN_DATE BETWEEN #11/11/12# AND #11/11/12#
    GROUP BY COMMERCIAUX.COM_CODE, COM_NOM, COM_PRENOM, CLI_CODE, VEN_DATE, VEN_PRIX
    De plus les requêtes séparées (avec les BETWEEN) fonctionnent correctement mais comment les jumeler ? (j'utilise les paramètres mais le problème dût aux deux BETWEEN reste).

    A savoir également que le SUM(VEN_PRIX) AS TOTAL que j'utilise ne m'affiche pas un total global mais seulement le total de la dernière date vue (sur le QReport). cf image ci-dessous :



    Je pense avoir bien résumé mon problème, je ne suis pas très bon en SQL (au cas où ça ne se verrai pas).

    Merci à ceux qui prendrons le temps de se pencher sur mon problème

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Pour ce qui est du total Commercial il faut utiliser une QRExpr (E=Mc2 sur la palette)
    avec comme propriétés
    - Expression = SUM(TOTAL)
    - ResetAfterPrint = True

    pour ce qui est du SQL
    je ne suis pas très bon en SQL (au cas où ça ne se verrai pas).
    je te rassure , ça se voit


    je propose le SQL Suivant , qui devrait fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT COMMERCIAUX.COM_CODE AS cle, COMMERCIAUX.COM_NOM, COMMERCIAUX.COM_PRENOM, VENTE.CLI_CODE, VEN_DATE, SUM(VEN_PRIX) AS TOTAL
    FROM VENTE LEFT JOIN COMMERCIAUX ON COMMERCIAUX.COM_CODE = VENTE.COM_CODE
    WHERE VEN_DATE BETWEEN :D1 AND :D2
    GROUP BY COMMERCIAUX.COM_CODE, COM_NOM, COM_PRENOM, CLI_CODE, VEN_DATE
    C'est Total qu'il faudrait afficher dans les lignes détails (au cas ou il y aurait plusieurs ventes le même jour pour le même client ,sinon le SUM et donc le group by est inutile)

    je suggère d'utiliser des paramètres pour les Dates

    il sera un peu plus compliqué de
    - une plage de commerciaux (de COM_000001 à COM_000002. idem que pour les dates mais dans un DBEdit)
    il n'est pas forcément vrai que dans ton SQL que le cas dans le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     IN (SELECT COM_CODE FROM VENTE WHERE VEN_DATE BETWEEN #11/11/12# AND #11/11/12#)
    ne contienne que les commerciaux 1 et 2

    perso , je passerai par une TCheckList (tous les commerciaux) et par un traitement de cette dernière soit en amont (donc dans le SQL)
    Quelque chose de ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Liste:=''
    for i:=0 to ChecklistBox1.items.count -1 do
     begin
      if Checklistbox1.checked[i] then
        begin
          if length(liste)>0 then Liste:=Liste+',';
          Liste:=liste+ Checklistbox1.Items[i];
        end;
    end;
    end;
    avec un SQL du genre : AND COMMERCIAUX.COM_CODE IN (:LISTE)
    (là je ne suis pas sur que le paramètre fonctionne Access,ADO et moi = 3
    @Buzzleclair)

    soit en aval via l'évènement beforePrint de la ligne détail
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PrintBand:=ChecklistBox1.Checked[Checklistbox1.Items.IndexOf(cle)];
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    @seremei
    çà c'est du screenshot...

    Citation Envoyé par seremei Voir le message
    En essayant d'utiliser plusieurs BETWEEN ma requête ne fonctionne pas.
    Je pense que tu a répété la même value pense à les séparer pour cumuler
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
              Sql.Add('Where (DateDebut Between :xDebut And :xFin) ' );
              Sql.Add('Or (DateFin Between :xDebut1 And :xFin1) ');
              Sql.Add('Or (DateDebut < :xDebut2 And DateFin > :xFin2) ');
              Parameters.ParamByName('xDebut').DataType := ftDateTime;
              Parameters.ParamByName('xDebut1').DataType := ftDateTime;
              Parameters.ParamByName('xDebut2').DataType := ftDateTime;
              Parameters.ParamByName('xFin').DataType := ftDateTime;
              Parameters.ParamByName('xFin1').DataType := ftDateTime;
              Parameters.ParamByName('xFin2').DataType := ftDateTime;
              Parameters.ParamByName('xDebut').Value  := TaDate;
              Parameters.ParamByName('xFin').Value    :=TaDate;
              Parameters.ParamByName('xDebut1').Value := TaDate;
              Parameters.ParamByName('xFin1').Value   := TaDate;
              Parameters.ParamByName('xDebut2').Value := TaDate;
    Pour l'utilisation de la clause IN (Sergio )
    Si c'est du text
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Var
      Listes: String;
    Begin
      Listes := QuotedStr('Sergio')+','+QuotedStr('AndNotOr')+','+QuotedStr('Shail')+','+QuotedStr('Paul'); // juste un exemple
      SQL.Clear;
      SQL.ADD('SELECT * FROM CEQUETUVEUX');
      SQL.ADD('Where ChampText IN ('+Listes+')');
    end;
    si c'est du numérique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Var
      Listes: String;
    Begin
      Listes := IntToStr(32)+','+IntToStr(23)+','+IntToStr(12); //  juste un exemple
      SQL.Clear;
      SQL.ADD('SELECT * FROM CEQUETUVEUX');
      SQL.ADD('Where ChampNumerique IN ('+Listes+')');
    End;
    Je n'utilise pas les parameters avec la clause IN, je n'ai pas dis que cela ne marche pas, c'est un choix personnel et fonctionnelle, je te laisse voir les problèmes liés à un parameters dans ce cas

    TOTAL DES VENTES PAR COMMERCIAUX filtré par Date :
    1. La table CLIENT ne sert à rien
    2. La table CLI_ADRESSE ne sert à rien
    3. la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Listes := 'COM_000001'+','+'COM_000002'; // As toi d'alimenter comme tu le sens, mois j'utilise une boucle en général.
    SQL.ADD('Select Sum([VEN_PRIX]) As TotalVente, [COM_CODE] ');
    SQL.ADD('FROM COMMERCIAUX');
    SQL.ADD('WHERE ([VEN_DATE] BETWEEN :xDebut And :xFin) ');
    SQL.ADD('AND [COM_CODE] IN ('+Listes+') ');
    SQL.ADD('GROUP BY [COM_CODE]');
    Parameters.ParamByName('xDebut').DataType := ftDateTime;
    Parameters.ParamByName('xFin').DataType := ftDateTime;
    Parameters.ParamByName('xDebut').Value  := DBEDITDateDeb.Date;
    Parameters.ParamByName('xFin').Value    := DBEDITDateFin.Date;
    // Enjoy
    Je te laisse chercher pour effectuer les bonnes jointures pour avoir le Total des ventes par commerciaux, par client, filtré par dates. Inspire toi de celle de Sergio

    Pour le Report là je donne mal langue au Sergio

    A+

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur delphi junior
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Points : 22
    Points
    22
    Par défaut
    @SergioMaster
    Merci pour tes conseil. je vais essayer le QRExpr avec un SUM(VEN_PRIX) puisque je ne fait plus le total par date cela ne me sert à rien.

    Sinon comme je l'ai dit dans mon premier post je sélectionne les commerciaux sur des Edit donc si vous voulez je fait une sélection de tous les commerciaux présent entre les dates sélectionnées puis je choisi parmi eux, ceux que je souhaite afficher dans le QReport. (la requête de sélection des comm suivant les dates est créée et fonctionnelle) mais je ne suis pas là pour ça.

    @BuzzLeclaire
    Encore un petit coup de main sur du SQL et ça devrai être bon.
    j'ai utilisé des paramètres, comme conseillé.
    Le DataType ftDateTime génère les # des dates ? car je ne rentre dans la variable que '11/11/2012' ou autre dans ce format.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parameters.ParamByName('xFin').Value    := DBEDITDateFin.Date;
    ne fonctionne pas il me génère une erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT VENTE.COM_CODE AS cle, COMMERCIAUX.COM_NOM, COMMERCIAUX.COM_PRENOM, VEN_DATE, CLI_CODE, VEN_PRIX
    FROM COMMERCIAUX LEFT JOIN VENTE ON COMMERCIAUX.COM_CODE = VENTE.COM_CODE
    WHERE (COMMERCIAUX.COM_CODE BETWEEN ''+ :comdebut +'' AND ''+ :comfin +'')
    AND (VEN_DATE BETWEEN #:min # AND #:max #)
    GROUP BY VENTE.COM_CODE, COM_NOM, COM_PRENOM, VEN_DATE, CLI_CODE, VEN_PRIX
    Je pense qu'elle devrai fonctionné mais là encore un hic
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TFormAffEditionVenteParComm.QuickRep1BeforePrint(Sender: TCustomQuickRep;
      var PrintReport: Boolean);
    begin
      FormEditionVenteParComm.Query1.ParamByName('min').AsString:= FormEditionVenteParComm.DBEditDate1.Text;
      FormEditionVenteParComm.Query1.ParamByName('max').AsString:= FormEditionVenteParComm.DBEditDate2.Text;
      FormEditionVenteParComm.Query1.ParamByName('comdebut').AsString:= FormEditionVenteParComm.EditBtnEnregCommDebut.Text;
      FormEditionVenteParComm.Query1.ParamByName('comfin').AsString:= FormEditionVenteParComm.EditBtnEnregCommFin.Text;
      FormEditionVenteParComm.Query1.Active:= True;
    end;
    lorsque je veux afficher il me dit
    "Erreur SQL générale.
    Erreur de syntaxe dans la date dans l'expression
    '(COMMERCIAUX.COM_CODE BETWEEN ''+ AccParam0 + '' AND ''+ AccParam1 +'')
    A."

    Euh...... quoi ? là j'avoue ne pas comprendre.

    encore un screen :

    ne faites pas attention au [TOTAL] il est voué à disparaitre si le [SUM(VEN_PRIX)] fonctionne

    Mais ce qui m'intéresse le plus c'est pourquoi j'ai ce message d'erreur ?

  5. #5
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    @seremei

    Le DataType ftDateTime génère les # des dates ?
    Non ceci est juste pour préparer la value

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parameters.ParamByName('xFin').Value    := DBEDITDateFin.Date;
    ne fonctionne pas il me génère une erreur
    Hummm, j'avais juste écris rapide DBEDITanananana.date, regarde ce qui ramene un TDateTime dans les propriétés de ton composant.
    Je ne sais pas quel composant tu utilise !!!
    Si c'est par exemple un TDateTimePicker, il faut utiliser la propriété Mondatetimepicker.date


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT VENTE.COM_CODE AS cle, COMMERCIAUX.COM_NOM, COMMERCIAUX.COM_PRENOM, VEN_DATE, CLI_CODE, VEN_PRIX
    FROM COMMERCIAUX LEFT JOIN VENTE ON COMMERCIAUX.COM_CODE = VENTE.COM_CODE
    WHERE (COMMERCIAUX.COM_CODE BETWEEN ''+ :comdebut +'' AND ''+ :comfin +'')
    AND (VEN_DATE BETWEEN #:min # AND #:max #)
    GROUP BY VENTE.COM_CODE, COM_NOM, COM_PRENOM, VEN_DATE, CLI_CODE, VEN_PRIX
    Grrrrrrrrrrrrr, pourquoi tu mets des # entre les dates !!! dans mon exemple j'en ai pas mis pourtant ???


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    "Erreur SQL générale.
    Erreur de syntaxe dans la date dans l'expression
    '(COMMERCIAUX.COM_CODE BETWEEN ''+ AccParam0 + '' AND ''+ AccParam1 +'')
    A."
    Humm, c'est quoi ce truc ????, Je n'utilise jamais de BETWEEN sur des champs textes, d’ailleurs faudrait que je regarde si c'est uniquement réservé au champ .de type date

    J'aurai plutôt écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SQL.Add('( (COMMERCIAUX.COM_CODE >  :xAccParam0) And (COMMERCIAUX.COM_CODE <  :xAccParam1) )');
    Parameters.parabyname('xAccParam0').DateType :ftString;
    Parameters.parabyname('xAccParam1').DateType :ftString;
    Parameters.parabyname('xAccParam0').Value : AccParam0;
    Parameters.parabyname('xAccParam1').Value : AccParam1;
    Evidemment du > et < sur du texte il faut faire attention.
    Encore une fois je t'ai donné un exemple avec la clause IN, tu devrais plutôt utiliser un IN c'est imparable !!!


    Bye.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur delphi junior
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Points : 22
    Points
    22
    Par défaut
    Problème RESOLU !!! Enfin.

    récapitulons :
    au départ :
    problème d'affichage d'un TOTAL pour chaque commercial affiché.
    Requête SQL fausse ET mal écrite.
    Je devais géré une plage de date ET une plage de commerciaux.

    après m'avoir aidé, et merci à SergioMaster et BuzzLeclaire, j'ai réussi avec un collègue à mettre en place LA solution tirée de vos deux aides précieuses.

    le résultat est :
    La requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT VENTE.COM_CODE AS cle, COMMERCIAUX.COM_NOM, COMMERCIAUX.COM_PRENOM, VEN_DATE, CLI_CODE, VEN_PRIX
    FROM COMMERCIAUX LEFT JOIN VENTE ON COMMERCIAUX.COM_CODE = VENTE.COM_CODE
    WHERE (COMMERCIAUX.COM_CODE BETWEEN :comdebut AND :comfin)
    AND (VEN_DATE BETWEEN :min AND :max)
    GROUP BY VENTE.COM_CODE, COM_NOM, COM_PRENOM, VEN_DATE, CLI_CODE, VEN_PRIX
    @BuzzLeclaire : Le BETWEEN fonctionne avec les Strings.

    l'utilisation de celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    FormEditionVenteParComm.Query1.ParamByName('comdebut').AsString:= FormEditionVenteParComm.EditBtnEnregCommDebut.Text;
      FormEditionVenteParComm.Query1.ParamByName('comfin').AsString:= FormEditionVenteParComm.EditBtnEnregCommFin.Text;
      FormEditionVenteParComm.Query1.ParamByName('min').AsDateTime:= StrToDateTime(FormEditionVenteParComm.DBEditDate1.Text);
      FormEditionVenteParComm.Query1.ParamByName('max').AsDateTime:= StrToDateTime(FormEditionVenteParComm.DBEditDate2.Text);
      FormEditionVenteParComm.Query1.Active:= True;
    Et dans le QReport j'utilise un QRExpr
    avec comme expression : SUM(VEN_PRIX) et celui-si se réinitialise après être imprimé. Merci SergioMaster.

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    1- j'approuve sur le IN
    2- indique que le GROUP BY n'est plus nécessaire


    3 -
    (la requête de sélection des comm suivant les dates est créée et fonctionnelle)
    bien qu'elle soit fonctionnelle elle me semble inutile
    a ) tu n'as pas fais attention a mon changement d'ordre des tables de la requête proposée VENTE LEFT JOIN COMMERCIAUX et non l'inverse
    b)
    (COMMERCIAUX.COM_CODE BETWEEN ''+ AccParam0 + '' AND ''+ AccParam1 +''
    si le com_code est numérique , alors pas de double Quote, et pourquoi pas des paramètres !!

    [edit] damned un post en même temps
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  8. #8
    Membre à l'essai
    Homme Profil pro
    Développeur delphi junior
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Points : 22
    Points
    22
    Par défaut
    si le com_code est numérique , alors pas de double Quote, et pourquoi pas des paramètres !!
    Le COM_CODE n'est pas numérique. mais problème résolu, cf mon post décrivant la résolution
    Edit : tu edit quand je te répond, bien joué

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 038
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 038
    Points : 40 943
    Points
    40 943
    Billets dans le blog
    62
    Par défaut
    Si la solution te conviens ainsi parfait (moi je trouve qu'elle manque d'élégance sur la partie choix des commerciaux , je parle d'expérience)

    j'aimerais cependant savoir comment tu as fait pour mettre les screens par contre (en général moi je joins des jpgs mais ça le fait pas aussi bien )
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  10. #10
    Membre à l'essai
    Homme Profil pro
    Développeur delphi junior
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Points : 22
    Points
    22
    Par défaut
    La solution me conviens car elle fonctionne (et je suis encore en formation donc j'ai le temps de m'améliorer).

    Sinon pour mes screens et ben..
    j'ai screen, mis dans paint et redimensionné sur ce que je souhaitais, enregistré en jpg et je suis passé par http://www.imagup.com/ pour héberger l'image et la coller dans mon post tout simplement. j'ai peut-être cherché compliqué mais je viens juste de voir qu'il y avait un bouton insérer une image en fait^^

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

Discussions similaires

  1. [XL-2010] Affichage d'un Msgbox en fonction d'une plage de cellules complétées
    Par thomasdu40 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/06/2013, 08h18
  2. Réponses: 11
    Dernier message: 28/11/2012, 19h43
  3. [VBA Excel] différentes plages sur différentes feuilles
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 30/11/2005, 13h41
  4. Affichage de listes de différents types
    Par thibouille dans le forum C++
    Réponses: 9
    Dernier message: 27/11/2005, 19h34
  5. [MySQL] select avec affichage conditionnel
    Par encoupe dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 31/10/2005, 23h46

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