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
267
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
20 mai 2022
13
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