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 :

[LiveBindings] Accès à l'enregistrement courant du TBindSourceDBx


Sujet :

Langage Delphi

  1. #1
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut [LiveBindings] Accès à l'enregistrement courant du TBindSourceDBx
    Bonjour à toutes et à tous,

    Je rencontre un problème avec un TBindSourceDBX.
    J'ai un composant TBindSourceDBx dont le subSQLDataset exécute une procédure stockée.
    Ce TBindSourceDBx est lié à une grille dans laquelle s'affichent les données.
    Jusqu'ici tout va bien (comme dirait l'autre).
    Lorsque l'utilisateur clique sur une ligne, j'ai besoin de récupérer la valeur d'un champ( qui n'est pas affiché dans la grille). je fais donc ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mavariable:=BindSourceDBX1.DataSet.FieldByName('VOLUME_ID').AsInteger;
    L'évaluation de BindSourceDBX1.DataSet.FieldByName('VOLUME_ID').AsInteger; via CTRL+F7 m'indique bien la bonne valeur. par contre à l'exécution, j'ai le message d'erreur
    EDatabaseError: BindingSource.SubClientDataSet:champ 'VOLUME_ID' non trouvé
    ça ne m'étonne qu'à moitié puisque je travaille avec subSQLDataset et pas subClientDataset. Le problème c'est que si je modifie mon code comme ceci, pour accéder directement à subSQLDataset
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mavariable:=BindSourceDBX1.subSQLDataSet.FieldByName('VOLUME_ID').AsInteger;
    son état est dsinactive (au lieu de dsBrowse) dans le premier cas et du coup, je récupère le message suivant:
    EDatabaseError: BindingSource.SubSQLDataSet:champ 'VOLUME_ID' non trouvé
    Avez-vous une idée de la cause de ce problème?

  2. #2
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Je me consume de honte au point que j'hésite à vous livrer la cause du problème

    Au mépris de toute règle de base, l'affectation de ma variable était faite dans une clause With ... do qui concernait un objet contenant lui aussi un TBindSourceDBX qui portait le même nom.
    Devinez lequel j'essayais d'affecter à ma variable..

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

Discussions similaires

  1. DBGrid récupérer les valeurs de l'enregistrement courant
    Par bob_sapp dans le forum Bases de données
    Réponses: 5
    Dernier message: 06/09/2014, 07h56
  2. [LiveBindings] Accès à l'enregistrement courant
    Par Higgins dans le forum Langage
    Réponses: 0
    Dernier message: 29/07/2013, 14h34
  3. Effacer l'enregistrement courant?
    Par juliea dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/12/2004, 10h48
  4. Trigger sur l'enregistrement courant
    Par fifi2000ez dans le forum SQL
    Réponses: 4
    Dernier message: 03/08/2004, 21h25
  5. Enregistrement courant RECNO
    Par Chonchon dans le forum Bases de données
    Réponses: 2
    Dernier message: 03/06/2004, 18h00

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