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

Signaler
Messages postés
30
Date d'inscription
vendredi 21 juin 2002
Statut
Membre
Dernière intervention
9 mai 2003
-
ragnagnac
Messages postés
36
Date d'inscription
mercredi 10 juillet 2002
Statut
Membre
Dernière intervention
3 septembre 2002
-
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

Messages postés
36
Date d'inscription
mercredi 10 juillet 2002
Statut
Membre
Dernière intervention
3 septembre 2002

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)
Messages postés
30
Date d'inscription
vendredi 21 juin 2002
Statut
Membre
Dernière intervention
9 mai 2003

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.
Messages postés
36
Date d'inscription
mercredi 10 juillet 2002
Statut
Membre
Dernière intervention
3 septembre 2002

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)