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

Signaler
Messages postés
15
Date d'inscription
jeudi 11 octobre 2018
Statut
Membre
Dernière intervention
30 avril 2021
-
Messages postés
15
Date d'inscription
jeudi 11 octobre 2018
Statut
Membre
Dernière intervention
30 avril 2021
-
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

Messages postés
207
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
29 avril 2021
10
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 !!
Messages postés
15
Date d'inscription
jeudi 11 octobre 2018
Statut
Membre
Dernière intervention
30 avril 2021

Merci pour votre support.
Messages postés
263
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
28 avril 2021
13
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...
@+
Messages postés
15
Date d'inscription
jeudi 11 octobre 2018
Statut
Membre
Dernière intervention
30 avril 2021

Bonjour et merci pour l'input.
Je viens préciser que cette erreur apparait au moment de faire Active:= False;