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

Connexion aux bases de données Firebird Discussion :

Champ auto qui ne s'affiche pas


Sujet :

Connexion aux bases de données Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut Champ auto qui ne s'affiche pas
    Bonjour,

    Dans une table Firebird (GDB) j'ai un champ auto appelé LIV_ID. Ce champ qui commence à 100 me sert de numéro de bon de commande.

    Quand je saisi un bon de commande, tous les champs se mettent bien dans mon DBGrid sauf mon numéro (LIV_ID) qui ne s'affiche que lorsque je relance mon prog. Ce que je cherche à faire c'est à l'afficher dès la saisie pour le visualiser.

    Pour me connecter à ma base j'utilise TIBDataBase et pour mettre à jour la table un TIBDataSet avec INSERTSQL, ModifySQL et DeleteSQL renseignés.

    Comment je peux faire?

    D'avance merci

    Codial

  2. #2
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut,

    Sur ton FIBDataSet renseigne la propriété GeneratorField. Tu lui associes le Générateur qui incremente ton champ auto, et tu précises quand tu veux y faire appel (à l'insertion ou avant le post).

    [edit]
    C'est une question que j'aurais posé dans le forum Delphi/Bases de données puisque qu'il s'agit d'un composant Delphi.
    [/edit]
    @+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Bonjour,

    merci beaucoup pour la réponse, celà fonctionne avec "Lors de la validation".

    Cordialement

    Codial

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Bonjour,

    je reviens car je viens de m'apercevoir que maintenant mon champ auto s'incrémente de 2 ?

    Or j'aimerai qu'il ne s'incrémente que de 1

  5. #5
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Re,

    Modifie ton trigger before insert sur ta table, et appelle le GEN_ID uniquement si ta clé est NULL.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      if (new.LIV_ID is NULL) then new.LIV_ID = GEN_ID(TON_GENERATEUR, 1);
    @+

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Re,

    c'est ce que j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    IF (new.LIV_ID IS NULL) then 
    begin
    new.LIV_ID = GEN_ID("G$_LIV_ID", 1);
    end
    end
    Je ne comprends pas!

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

Discussions similaires

  1. [AC-2007] [États] Champ auto-extensible qui ne s'affiche pas en entier
    Par DamKre dans le forum IHM
    Réponses: 7
    Dernier message: 31/12/2014, 09h33
  2. Réponses: 3
    Dernier message: 12/05/2007, 18h24
  3. champ auto d'interbase qui ne s'affiche pas
    Par ally dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/04/2007, 20h03
  4. Champs qui ne s'affichent pas dans formulaire
    Par capitaine dans le forum Access
    Réponses: 1
    Dernier message: 02/06/2006, 15h00
  5. Réponses: 5
    Dernier message: 23/01/2006, 12h31

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