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
ragnagnac Messages postés 36 Date d'inscription mercredi 10 juillet 2002 Statut Membre Dernière intervention 3 septembre 2002 - 14 août 2002 à 11:05
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

3 réponses

ragnagnac Messages postés 36 Date d'inscription mercredi 10 juillet 2002 Statut Membre Dernière intervention 3 septembre 2002
13 août 2002 à 14:42
Du formulaire1, tu appelles le formulaire2 avec la commande DoCmd.OpenForm "Formulaire2", , , "[Champ1Formulaire2]=[Champ1Formulaire1],[Champ2Formulaire2]=[Champ2Formulaire1]..."

Sinon, tu peux aussi te débrouiller avec des variables Globales en VB...

Voili ;)

C'était vraiment très intéressant... :big) MythoMAN dans une autre vie ! :clown)
0
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 à 23:23
Bonsoir,

Voilà ce que j'ai fais (une petite base d'essaie!)

1 table "personne" contenant N°;nom;prénom;ville
2 formulaires
_ ajouter avec la zone de liste liste_personne
_ modifier dans lequel je retrouve les champs nom;prénom;ville + un bouton modifier

__________________________
Dans formulaire 1
avec la zone comprenant:
nom ; prénom ; ville
je fais afficher les colonnes (2cm;2cm;2cm)

Private Sub liste_personne_DblClick(Cancel As Integer)

Dim critère As String

' Sélection de l'enregistrement recherché en fonction
' de la première colonne de la liste column(0) ET de la deuxième colonne column(1)
critère = "[nom] LIKE '" & Me.liste_personne.Column(0) & "' AND [prénom] LIKE '" & Me.liste_personne.Column(1) & "'AND [ville] LIKE '" & Me.liste_personne.Column(2) & "'"
DoCmd.OpenForm "Modifier", acNormal, , critère

End Sub


______________________
Résultat aucune erreur => pas de debbugage !
le formulaire 2 s'ouvre mais vide !

je comprend pas !

Gwendal
----------------
L'amour est la victoire de l'imagination sur l'intelligence.
0
ragnagnac Messages postés 36 Date d'inscription mercredi 10 juillet 2002 Statut Membre Dernière intervention 3 septembre 2002
14 août 2002 à 11:05
Euh, en fait, ton critère est une clause WHERE, cad que tu vas filtrer les données existantes du formulaire à ouvrir.

Or, ce que tu souhaites, c'est passé des arguments (je crois que je me suis planté dans ma 1ère explication, sorry :sad) )

Alors, soit tu passes par des Variables Globales (c'est le plus utilisé et çà marche bien ;) ), soit tu TENTES de faire marcher le dernier paramètred de la fonction OpenForm, qui correspond aux arguments à passer en ouverture, MAIS tu dois dans ce cas, récupérer ces valeurs dans la fonction Form_Open de ton formulaire appelé...

------------------------------------

Ex :

<<Formulaire1>>
Private Sub liste_personne_DblClick(Cancel As Integer)

OpenForm "Formulaire2",acNormal, , , , , liste_personne.column(0)

End Sub

<< Formulaire2>>
Sub Form_Open()

Nom.Value = Me.OpenArgs

End Sub

------------------------------------

Je ne travaille qu'avec des Variables Globales et çà marche toujours, donc je ne peux que te conseiller cette solution !

Voili ;)

C'était vraiment très intéressant... :big) MythoMAN dans une autre vie ! :clown)
0
Rejoignez-nous