ADO Access: Comment Avtiver la fct SEEK

ADO Access: Comment Avtiver la fct SEEK - Delphi/Pascal - Programmation

Marsh Posté le 16-01-2003 à 15:46:33    

Salut  a tous,
 
j ai le code suivant:

Code :
  1. procedure TForm1.Button3Click(Sender: TObject);
  2. var strIndex: string;
  3. begin
  4. strIndex := ComboBox1.Text;
  5. if ADOTable1.Supports([coSeek]) then begin
  6. //Condition ci dessus jamais vraie code non execute !   
  7. with ADOTable1 do begin
  8. Close;
  9. IndexName := strIndex;
  10. CursorLocation := clUseServer;
  11. Open;
  12. Seek (Edit_Seek.Text, soFirstEQ);
  13. end;
  14. if ADOTable1.EOF then
  15. ShowMessage ('Record value NOT found');
  16. end;


 
Que dois je faire pour que ma table supporte la fonction Seek ? Merci d avance.
 
@->--
 
Probleme relatif a ce tutorial .


---------------
The Only Way for Evils to Triumph is for Good Men to do Nothing @->-- Cours Réseaux@->-- Mon Site
Reply

Marsh Posté le 16-01-2003 à 15:46:33   

Reply

Marsh Posté le 17-01-2003 à 10:14:19    

Up...
 :sweat:


---------------
The Only Way for Evils to Triumph is for Good Men to do Nothing @->-- Cours Réseaux@->-- Mon Site
Reply

Marsh Posté le 18-01-2003 à 18:20:17    

up
 :cry:


---------------
The Only Way for Evils to Triumph is for Good Men to do Nothing @->-- Cours Réseaux@->-- Mon Site
Reply

Marsh Posté le 21-01-2003 à 14:28:37    

Tu peux aussi passer par un Locate en ADO, c'est très efficace...

Reply

Marsh Posté le 21-01-2003 à 14:43:08    

si il y a une solution à ce problème, ça m'intéresse éventuellement, j'ai jamais su faire un seek en ADO quand j'ai débuté avec (maintenant j'en ai plus besoin je fais autrement :D)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 21-01-2003 à 15:38:50    

drasche a écrit :

maintenant j'en ai plus besoin je fais autrement :D


 
Et tu fais quoi?
Car ici le probleme d apres ce que je sais vient de la table donc je dois modifier qqc dans la table ! mais quoi !
 
@->--


---------------
The Only Way for Evils to Triumph is for Good Men to do Nothing @->-- Cours Réseaux@->-- Mon Site
Reply

Marsh Posté le 21-01-2003 à 19:28:29    

krzAramis a écrit :


 
Et tu fais quoi?
Car ici le probleme d apres ce que je sais vient de la table donc je dois modifier qqc dans la table ! mais quoi !
 
@->--


a priori ajouter des indexes?  mais je fais ça aussi.
 
J'ai une approche client/serveur (déformation professionnelle) donc je rapatrie uniquement ce dont j'ai besoin.  Et si j'ai besoin de lire beaucoup, je charge tout le recordset avec curseur client, je le déconnecte et je bosse dessus en local avec les moyens du bord (les bookmarks et filter sont deux exemples).


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 22-01-2003 à 10:52:16    

drasche a écrit :


a priori ajouter des indexes?


 
J ai deja essaye cette solution.  :(  enfin je m explique je suis alle dans ma BDD et a la place de ne laisser que la cle primaire j ai rajoute a tous les champs des indexes avec doublons (sans doublon Access m envoie paitre !  :sweat: )
Ce qui est bien ce que le code test si la table supporte la fonction demandee et meme apres avoir tout  indexe ca ne marche pas ! Si j enleve le test j ai la preuve par a+b=x que ca marche pas cr mon programme plante !  :ange:  
@->--


Message édité par KrzAramis le 22-01-2003 à 10:53:03

---------------
The Only Way for Evils to Triumph is for Good Men to do Nothing @->-- Cours Réseaux@->-- Mon Site
Reply

Marsh Posté le 22-01-2003 à 11:02:31    

Tu quasi-double la taille de ta table en faisant ça, c'est bourrin.  Tu devrais avoir un champ unique qui sert d'index, et si tu n'en as pas, il te resterait encore l'autonumber comme alternative.  Enfin ça dépend aussi si cette table est en relation avec une autre.
 
Au pire tu peux utiliser une combinaison de quelques champs pour constituer ta clé primaire, mais pour créer des relations après, ce ne sera pas bon.
 
Idéalement on a une clé primaire sur un seul champ sans doublon, et un index avec doublon sur chaque champ faisant office de foreign key (en Access, ces champs doivent être les premiers de la table pour obtenir de meilleures performances).


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed