Passage de donnée d'un formulaire à un autre ? pour modification

cs_Gdal Messages postés 30 Date d'inscription vendredi 21 juin 2002 Statut Membre Dernière intervention 9 mai 2003 - 13 août 2002 à 13:24
dowoi Messages postés 7 Date d'inscription lundi 29 avril 2002 Statut Membre Dernière intervention 14 août 2002 - 14 août 2002 à 09:43
Bonjour,

J'ai deux formulaires:

+ "Form1" qui contient:
- 1 bouton supprimer (pour supprimer la ligne séléectionnée !)
- 1 zone de liste (la source est le table "Table1"; [Nom] ; [Prénom] ; [Adresse] ....

+ "Form2" qui contient:
- 1 bouton "Modifier"
- 1 bouton "Fermer"

Le problème est le suivant:

Je démarre sur "Form1", je vois toutes les données dans la zone de liste.
Quand je double click sur une ligne je voudrais que le formulaire "Form2" s'ouvre avec les champs [Nom] ; [Prénom] ; [Adresse] .... contenant les valeurs de ligne de la zone de liste du "Form1"...
L'utilisateur modifie les données et appuie sur le bouton "modifier", retour au "form1" avec mise a jour de la liste ...

une question ... Comment faire ??

Merci

Gwendal

1 réponse

dowoi Messages postés 7 Date d'inscription lundi 29 avril 2002 Statut Membre Dernière intervention 14 août 2002
14 août 2002 à 09:43
Salut,
a mon avis le plus performant est d'utiliser un curseur (recordset) qui va parcourir ta base jusqu'a trouver et se placer sur l'enregistrement correspondant dans ta base.
Tu affiches ces infos dans ton autre formulaire.

ex :

'Variables globales permettant la connection à la table
Public Cntxxx As ADODB.Connection
Public Rstxxx As ADODB.Recordset

Public Sub Connection_table()
'Procédure globale permettant d'acceder à la table

Set Cntxxx = CurrentProject.Connection
Set Rstxxx = New ADODB.Recordset

' Ouvre la table ERP
With Rstxxx
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open "TABLE", Cntxxx

.movefirst
while rstxxx!NomChamps <> liste
.movenext
wend

form2.open (ou kelke chose kome ca !!!)
text1 = rstxxx!Nomchamps
text2 = rstxxx!Nomchamps2
...

(pour les modifs utilise la méthode EDIT sur ton recordset : rstxxx.edit suivi des modifs : rstxxx!NomChamps = txt1...)

end with
End Sub

Voili voilou
Ca peut te paraitre un peu compliké au départ mais une fois que tu maitrise tu fait ce que tu veux !! et utilise l'aide tu as des exemples
@++
0
Rejoignez-nous