ADOTable: Message d'erreur lors de la modification des propriétés par code

Résolu
ggsemp Messages postés 15 Date d'inscription jeudi 11 octobre 2018 Statut Membre Dernière intervention 30 avril 2021 - 28 avril 2021 à 07:20
ggsemp Messages postés 15 Date d'inscription jeudi 11 octobre 2018 Statut Membre Dernière intervention 30 avril 2021 - 30 avril 2021 à 10:41
Bonjour,
Je travaille sur petite application en utilisant Delphi (RAD Studio 10.4).
Dans un de mes codes je lis la valeur d’un DBlookupComboBox et voudrais appliquer un filtre sur un AdoTable « ADOTableCmdeNlivree ».
A chaque exécution, j’obtiens un message d’érreur « Acces violation » lors de la tentative de modification des propriétés de ADOTableCmdeNlivree .
Je souhaiterais savoir si cette erreur est liée à une propriété de « ADOTableCmdeNlivree »


var
 lsCodeBque : string;
begin
lsCodeBque:= DBLookupComboBox2.Text;
if lsCodeBque <>'' then
   with ADOTableCmdeNlivree do
     begin
      Active:= False;
      Filter:='(BonLivraison='')AND(Code_Banque=' + lsCodeBque + ')' ;
      Filtered:=true;
      Active:=true ;
     end;
end;

2 réponses

papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 15
Modifié le 29 avril 2021 à 08:23
Bonjour
moi je l'utilise sans close ni active, uniquement
dans DBLookupComboBox1CloseUp(Sender: TObject);
Filter := '(BonLivraison=' + QuotedStr('') + ')AND(Code_Banque=' + DBLookupComboBox1.KeyValue + ')';

et ça marche !!
1
ggsemp Messages postés 15 Date d'inscription jeudi 11 octobre 2018 Statut Membre Dernière intervention 30 avril 2021
30 avril 2021 à 10:41
Merci pour votre support.
0
cs_yanb Messages postés 271 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 7 juillet 2022 14
28 avril 2021 à 11:21
Salut,
Peut-être...
var
 lsCodeBque : string;
begin
  lsCodeBque := DBLookupComboBox2.Text;
  if lsCodeBque <> '' then
    with ADOTableCmdeNlivree do
    begin
      Close;
      Filtered := False;
      Filter := '(BonLivraison=' + QuotedStr('') + ')AND(Code_Banque=' + QuotedStr(lsCodeBque) + ')';
      //Par contre le BonLivraison='' je sais plus si le filtre interprète comme valeur vide ou null ou...
      Open;
      Filtered := True;
    end;
end;

Sinon passer par un ADOQuery et une requête SQL à la place des filtres...
@+
0
ggsemp Messages postés 15 Date d'inscription jeudi 11 octobre 2018 Statut Membre Dernière intervention 30 avril 2021
28 avril 2021 à 18:15
Bonjour et merci pour l'input.
Je viens préciser que cette erreur apparait au moment de faire Active:= False;
0
Rejoignez-nous