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

Langage Delphi Discussion :

un champ autoincrement


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 34
    Points : 22
    Points
    22
    Par défaut un champ autoincrement
    bonjour,
    j'ai un champ autoicrement(table paradox7) où j'utilise une codification qui doit etre recommencer du numéro 1 au début de chaque annèe scolaire(en septembre)
    que doit je faire pour le dbedit de ce champ?

  2. #2
    Membre averti Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 392
    Points
    392
    Par défaut
    A mon avis, on ne modifie pas un numéro autoincrémenté dans une base !! Ce sont des numéros séquentiels uniques incrémenté de 1 en 1 lorsqu'un nouvel enregistrement est ajouté à une table.

    Donc il vous faut trouver une autre solution :
    - un autre champ dans la même table, dans lequel vous inscrirez votre codification personnelle ()
    - une nouvelle table par année ()
    - sauvegarder le dernier numéro automatique de l'année précédente et le déduire des nouvelles valeurs obtenues ()
    - modifier vos requêtes de BDD pour tenir compte de la date d'enregistrement : peut-être faut-il repenser la base ??
    - autre ? ...........

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 34
    Points : 22
    Points
    22
    Par défaut
    Merci,j'ai deja penssè à une table qui contient les annèes scolaires mais le problème est que je peux avoir une saisie automatique de ces annèes de façon par exemple(2009-2010) en 01 septembre sera (2010-2011) automatiquement,à savoir je suis débutante en Delphi.

  4. #4
    Membre averti Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 392
    Points
    392
    Par défaut
    Il vous faut récupérer l'année en cours année N, et si cette date est postérieure au 1/09 vous pouvez afficher les dates N et N+1, dans le cas contraire, vous pouvez afficher N-1 et N dans votre zone de saisie "semi-automatique".

    Ce-ci dit, si les inscriptions des élèves se font du 1er juillet au 30 septembre, il suffit de récupérer les années d'inscription des élèves (Ni) et d'afficher Ni et Ni+1, de N0 à Nmax dans la table : une sorte de requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT annee FROM T_ELEVES ORDER BY annee ASC

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 34
    Points : 22
    Points
    22
    Par défaut
    Mercie,votre conception m'a guidè à une idèe,je veux ajouter un champ(annèe)où dans le dbedit ou dbtext affectè à ce champ s'affiche automatiqement l'annèe courante+l'annèe qui suit(2009-2010)à l'aide de la fonction strtoyear-strtoyear+1mais le problème que l'annèe scolaire commence en 01 septembre alors qu'est ce que je doit faire pour chaque début du mois de 09 s'affiche l'annèe courante-l'annèe qui suit par exemple nous somme(2008-2009) en premier septembre prochain sera(2009-2010).

  6. #6
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    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 401
    Points : 2 310
    Points
    2 310
    Par défaut
    Salut;

    avec un simple test sur la date ça ne se règle pas ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if date > 31/08/2008 then annee_scolaire := '2009-2010';

  7. #7
    Membre actif

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 47
    Points : 297
    Points
    297
    Par défaut
    Personnellement, je pencherais pour une fonction AnneeScolaire(Date) qui renvoie l'année scolaire sous forme de chaîne, en fonction de la date:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function AnneeScolaire(date:TDateTime):String;
    var
      annee, mois, jour : word;
    begin
      DecodeDate(date,annee,mois,jour);
      if mois > 8 then
        inc(annee); //en septembre on passe à l'année scolaire suivante
      result := IntToStr(annee-1) + '-' + IntToStr(annee);
    end;

  8. #8
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    si tu es au début de projet, mieux passé au firberd
    avec FB pour incrémenté tu utilise un générateur, qui tu peut initialisé à chaque début d'année scolaire
    bon dev

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 34
    Points : 22
    Points
    22
    Par défaut
    Salut;
    je n'ai pas compri qu'est ce que vous voulez dire par(firberd),moi je connais que le Delphi et je suis débutante ainsi que j'ai besoin de ce projet au debut du mois 09

  10. #10
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    voir forum FB,
    le site de FB,et sur sourceforge

Discussions similaires

  1. champ autoincrémenté en java
    Par franfr57 dans le forum JDBC
    Réponses: 3
    Dernier message: 09/12/2006, 21h39
  2. [Mysql] Récupérer la valeur du champ autoincrement
    Par Hell dans le forum Requêtes
    Réponses: 4
    Dernier message: 25/10/2006, 11h33
  3. [SQL] récuperer la derniére valeur d'un champ autoincrément
    Par belakhdarbts dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 26/06/2006, 13h37
  4. champ autoincrement
    Par gaucher dans le forum Requêtes
    Réponses: 4
    Dernier message: 04/05/2006, 23h43
  5. SQL insertion avec champ autoIncrement
    Par sg-40 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 09/11/2005, 11h28

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