yoghourt
Messages postés3Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention 6 octobre 2004
-
4 oct. 2004 à 09:23
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 2006
-
6 oct. 2004 à 10:15
Bonjour.
J'ai un petit soucis lors d'une lecture de Base de Données.
J'ai une appli de gestion de client, avec une table Paradox. En voulant faire une fiche de publipostage, l'application me positionne sur l'avant dernier élément de ma table, et ce malgré l'utilisation de "First". Toute suggestion est la bienvenue ;-)
(PS : la valeur de RecordCount est bonne)
Voici la boucle où le code ne marche pas :
With MainForm.Clients do
begin
Close;
Filtered:=False;
Filter:='';
Filter:='NOM='#39+ComboBox1.Text+'*'#39;
Filtered:=True;
QRMailingPrintempsForm:=TQRMailingPrintempsForm.Create(Application);
Open;
For i:=0 to RecordCount-1 do
begin
QRMailingPrintempsForm.QRMailingPrintemps.Print;
Next;
end;
QRMailingPrintempsForm.Destroy;
end;
yoghourt
Messages postés3Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention 6 octobre 2004 6 oct. 2004 à 10:11
Finalement, j'ai utilisé une autre méthode :
J'ai placé un objet Query sur ma fiche.
Je fait une requête SQL à la place du filtre que je faisais directement sur la table.
Puis j'utilise la propriété RecNo, qui me place sur l'élément de mon choix.
Globalement, ça donne ça :
MailingQuery.ParamByName('lettre').AsString:=ComboBox1.Text+'%';
MailingQuery.Active:=True;
MailingQuery.First;
i:=1;
WHile i<=MailingQuery.RecordCount do
begin
MailingQuery.RecNo:=i;
QRMailingPrintempsForm.QRMailingPrintemps.Print;
i:=i+1;
end;
Le code de ma requête SQL :
SELECT *
FROM CLIENTS
WHERE NOM LIKE :lettre
ORDER BY NOM ASC
Par contre, je ne sais toujours pas pourquoi la méthode Next n'a pas marché dans ce cas là, mais bon, ça marche ;-)