1 pièce(s) jointe(s)
[PostgreSQL] Erreur : champ non trouvé
Bonjour à toutes et à tous. Encore et toujours besoin de vous.
Sur une fiche j'ai déposé :
- un TZQuery (Requete_Actions),
- un TDataSource (Source_Actions),
- un TDBLookupComboBox (DBLCB_Actions),
- un TEdit (Edition_Nombre).
L'évènement OnDropDown du DBLCB_Actions contient le code suivant :
Code:
1 2 3 4 5 6 7
| procedure TFiche_Modifier_Compte.DBLCB_ActionsDropDown(Sender: TObject);
begin
Requete_Actions.Close;
Requete_Actions.SQL.Text := 'SELECT act_id, act_valeur FROM s_ent.t_e_action_act ';
Requete_Actions.SQL.Add('ORDER BY act_valeur;');
Requete_Actions.Open;
end; |
Le DBLCB_Actions se peuple correctement à l'activation de cet évènement.
L'évènement OnSelect de ce même DBLCB_Actions contient le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| procedure TFiche_Modifier_Compte.DBLCB_ActionsSelect(Sender: TObject);
var
V_Action : variant;
I_Action : integer;
begin
V_Action := DBLCB_Actions.KeyValue;
I_Action := V_Action;
LNombre.Enabled := true;
Edition_Nombre.Enabled := true;
Requete_Actions.Close;
Requete_Actions.SQL.Text := 'SELECT cma_id FROM s_ent.t_j_compte_action_cma ';
Requete_Actions.SQL.Add('WHERE act_id = :ACTION AND cpt_id = :COMPTE;');
Requete_Actions.Params.ParamByName('ACTION').AsInteger := I_Action;
Requete_Actions.Params.ParamByName('COMPTE').AsInteger := Fiche_Accueil.Compte;
Requete_Actions.Open;
//CmaId := Requete_Actions.FieldByName('cma_id').AsInteger;
CmaId := Requete_Actions.Fields[0].AsInteger;
Requete_Actions.Close;
end; |
À l'exécution surgit l'erreur suivante :
Pièce jointe 643035
J'ai déposé un point d'arrêt en début du code de TFiche_Modifier_Compte.DBLCB_ActionsSelect(Sender: TObject). Tout se déroule correctement jusqu'à l'affectation de CmaId par l'une des deux méthodes, celle commentée ou l'autre. Je ne vois pas pourquoi le champ act_valeur n'est pas trouvé.
Merci d'avance à celles ou ceux qui me dépanneront.
Michel.