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 :

Problème avec filtre et insertion dans la même Table


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2002
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 108
    Par défaut Problème avec filtre et insertion dans la même Table
    Bonjour je vais être 1 peu long! EXCUSEZ !

    quand je choisi le 1er ou le 2eme trimestre l'opération de calcul et d'insertion se fait sans problème dans la table:" MOYEN_ELEV_TRIM". quand je choisi le 3eme trimestre où le DBLookupComboBox2.keyvalue=3(3eme trimestre) ça m'envoie erreur suivante:'cette colonne n'accepte pas les valeurs null dans la colonne num_classe de la table: MOYEN_ELEV_TRIM insertion a échoué utilisé pas à pas'. Mais quand je met 1 point d'arrêt à partie du If DBLookupComboBox2.keyvalue=3 et que je débogue l'insertion se fait sans faute. Ma requête ADOQuery du DM.MOYENNE_ANNUELLE est la suivante
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT m.matricule_elev,code_annee, m.num_classe, sum  
                   (m.moyenne_trim)   AS  total
        FROM moyen_elev_trim  m         
          WHERE       m.code_annee = :annee
                          and m.num_classe = :clas
    GROUP BY m.matricule_elev,m.code_annee,m.num_classe

    NB: le but est que qd on choisit le 3eme trimestre que la moyenne du 3eme trimestre et lamoyenne annuelle soit calculé en même tps.

    Voici la table MOYEN_ELEV_TRIM :
    MATRICULE_ELEV (char );
    CODE_TRIM (numeric);
    CODE_ANNEE (numeric);
    NUM_CLASSE(char);
    MOYENNE_TRIM(real);
    MOYENNE_ANNUELLE(real);
    les 4 premieres colonnes constituent la clé
    **************************************************
    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
    If DBLookupComboBox2.keyvalue=3 then
    BEGIN
            DM.MOYENNE_ANNUELLE.Close;
            Dm.MOYENNE_ANNUELLE.Parameters[0].value:=Dm.annee.fieldvalues  
                      ['code_annee'];
            Dm.MOYENNE_ANNUELLE.Parameters[1].value:=Dm.classe.fieldvalues
                      ['num_classe'];
             dm.MOYENNE_ANNUELLE.open;
             dm.MOYENNE_ANNUELLE.first;
    WHILE NOT DM.MOYENNE_ANNUELLE.Eof  do
          BEGIN   
        aff5:=(dm.MOYENNE_ANNUELLE.fieldbyname('total').Asfloat/3);
     
           If Dm.MOYEN_ELEV_TRIM.locate
                    ('matricule_elev;code_annee;num_classe',
                  VarArrayOf([Dm.MOYENNE_ANNUELLE.fieldbyname([SIZE="3
                     "]'matricule_elev').asstring,
                           Dm.MOYENNE_ANNUELLE.fieldbyname  
                          ('code_annee').asinteger,
                           Dm.MOYENNE_ANNUELLE.fieldbyname 
                        ('num_classe').asstring]), [loPartialKey])then ;[/SIZE]
            begin
                  if dm.MOYEN_ELEV_TRIM.state<>dsedit then 
                 dm.MOYEN_ELEV_TRIM.edit;
                 dm.MOYEN_ELEV_TRimMOYENNE_ANNUELLE.asfloat:=aff5;
                 dm.MOYENNE_ANNUELLE.next;
            end;
     
        end;
           end;
    Merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Salut,

    as-tu essayé de calculer le 3ème T puis la moyenne annuelle ? je veux dire chacune dans une requête.

  3. #3
    Membre confirmé
    Inscrit en
    Août 2002
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 108
    Par défaut Problème avec filtre et insertion dans la même Table
    Bonjour

    OUI ! Je clacule le troisième T ensuite la moyenne annuelle. C que je ne comprends pas pourquoi quand je mets 1 point d'arret à partir de"If DBLookupComboBox2.keyvalue=3 (verifier si trimeste =3eme trimestre) then begin ...." et que je debogue l'insertion se fait correctement . Mais quand j'enlève le point d'arret et après avoir compile et exécuter ça me donne l'erreursuivante "'cette colonne n'accepte pas les valeurs null dans la colonne num_classe de la table: MOYEN_ELEV_TRIM insertion a échoué utilisé pas à pas' _

    merci d'avance pour l'éclairage

Discussions similaires

  1. Champs identiques avec valeur différente where dans une même table
    Par Cyrus59 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 17/11/2014, 16h56
  2. Réponses: 4
    Dernier message: 13/03/2009, 13h55
  3. Réponses: 0
    Dernier message: 12/11/2007, 17h53
  4. probléme avec une requete insert dans une procédure stockée
    Par amelhajer dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/05/2007, 11h03
  5. Deux 'insert' dans la même table
    Par Arola78 dans le forum Access
    Réponses: 2
    Dernier message: 24/10/2006, 10h02

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