Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1467 connectés 

  FORUM HardWare.fr
  Programmation

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°89381
k yo
Posté le 15-01-2002 à 11:56:50  profilanswer
 

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]

mood
Publicité
Posté le 15-01-2002 à 11:56:50  profilanswer
 

n°89571
k yo
Posté le 15-01-2002 à 16:55:28  profilanswer
 

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

n°89637
stef_dober​mann
Personne n'est parfait ...
Posté le 15-01-2002 à 18:15:52  profilanswer
 

: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...
n°90274
k yo
Posté le 17-01-2002 à 15:13:14  profilanswer
 

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.

n°90276
stef_dober​mann
Personne n'est parfait ...
Posté le 17-01-2002 à 15:21:40  profilanswer
 

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...
n°91828
k yo
Posté le 22-01-2002 à 10:54:13  profilanswer
 

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."

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

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

 

Sujets relatifs
[C++] LoadString, LoadResource, String Table, ....[Visual Basic] Ou trouver des Tutoriaux ?
arrive pô à extraire une valeur dans une table, avec mysql ...[DOS / batch] Quelqu'un sait où on peut trouver de la doc ?
[algo] Comment trouver la direction a partir d'un vecteur?ou peut on trouver un compilateur cobol
[VB6] lancement de programme depuis un bouton ; 2 kestions simplesSous requête qui ne fonctionne pas sous VB6 !!!
[php] pour verifié l existance d enregistrement ds une base mysqlAide VB6
Plus de sujets relatifs à : Rechercher un enregistrement dans une table avec VB6 (j'ai trouver)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR