Rechercher un enregistrement dans une table avec VB6 (j'ai trouver)

Rechercher un enregistrement dans une table avec VB6 (j'ai trouver) - Programmation

Marsh Posté le 15-01-2002 à 11:56:50    

J'ai besoin d'une methode pour rechercher un enregistrement dans une table access avec un composant Adodc sous VB6, voici mon probleme detailler :
 
 
 
J'ai crée un formulaire qui me permet de modifier ou de supprimer mes enregistrements dans ma base de donnée access et ce a l'aide d'un composant adodc, Pour la recherche de l'enregistrement que l'utilisateur veut modifier ou supprimer, j'utilise deux methode pour parcourir mabase :
 
- une zone de recherche(n°enregistrement) avec 1 bouton,
 
- et egalement des boutons de navigation pour parcourir ma base
 
   
Le probleme se situe au niveau de la premiere methode, au depart j'utilisait une requete de type :
 
Adodc.RecordSource = "SELECT * FROM matable WHERE NumEnreg =" & NumRech & ""
 
Avec cette methode le composant adodc doit etre réactualiser apres les modifications effectuer car il ne contient plus que l'enregistrement en cours et na plus en memoire les autres enregistrement de matable, ce qui m'empeche d'utiliser les boutons de parcours. Ce qui me gene ensuite c'est que lorsque je reactualise le composant adodc je me retrouve avec le 1er enregistrement de matable en affichage et non celui que je vien de modifier.
 
J'ai donc utiliser une autre methode :
 
AdodcSuppr.Recordset.Move (index) qui permet de ce deplacer du nombre d'enregistrement donner en variable.
Il suffit de demarrer le deplacement a partir du 1er enregistrement et d'initialiser la valeur Index avec Index=NumRech-1
 
Le seul defaut de cette methode est que si par exemple l'enregistrement n°5 est supprimer et bien le 5°enregistrement sera celui qui possede le NumEnreg '6' dans matable.
 
 
D'avance Merci :)

 

[edtdd]--Message édité par k yo--[/edtdd]

Reply

Marsh Posté le 15-01-2002 à 11:56:50   

Reply

Marsh Posté le 15-01-2002 à 16:55:28    

:bounce: j'ai l'impression VB6 sa branche pas beaucoup de people,

Reply

Marsh Posté le 15-01-2002 à 18:15:52    

:hello:
tu n'a qu'a mettre sur ta form un autre adodc (visible = false)
en tu l'utilise pour ta requete SQL


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 17-01-2002 à 15:13:14    

SteF_DOBERMANN a écrit a écrit :

:hello:
tu n'a qu'a mettre sur ta form un autre adodc (visible = false)
en tu l'utilise pour ta requete SQL  




 
Cela ne résous pas le problème au contraire
 
Si je me un deuxième Adodc sur mon formulaire je doit dédoubler tout mes composants, et lorsque j'utilise mes boutons de parcours je repart sur mes composants lier au premier Adodc et donc je ne serai pas sur la dernière valeur modifier. Mon problème n'est pas fondamental et n'empêche pas le fonctionnement de mon appli, je souhaite juste la rendre plus fonctionnel et je veux que mon code soit le plus propre possible et j'évite les bidouillages pour régler se genre de problème car cela me permet d'approfondir mais connaissance de VB6 qui ne sont pas extraordinaire pour l'instant.

Reply

Marsh Posté le 17-01-2002 à 15:21:40    

Alors n'utilise pas de composant ADODB
mais fait le par le code   :sweat:  
 
recherche ADODB dans l'aide de windows, il y aura tout ce que tu recherche.
 
seul problème il faut tous ecrire les routines (avant,arriere,premier,dernier) il existe avec un recordset.movefirst
mais il faut le limiter


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 22-01-2002 à 10:54:13    

C bon g trouver la solution sur un autre forum c tout simple en fait :
 
Donc j'initialise mon adodc comme habituellement
AdodcSuppr.RecordSource = "SELECT * FROM MaTable ORDER BY NumOrdre"
 
 
Et j'utilise la methode find
AdodcSuppr.Recordset.Find ("NumOrdre = " & NumRech)
 
 
Voila et merci pour tes reponses Stef  :hello:


---------------
"Si l'homme descend du singe, il peut aussi y remonter."
Reply

Sujets relatifs:

Leave a Replay

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