Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/05/2011, 13h54   #1
 
Homme
Étudiant
Inscription : avril 2011
Messages : 21
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Landes (Aquitaine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 21
Points : -1
Points : -1
Par défaut Appeler une fonction d'un autre formulaire

* Bonjour, *

Voilà je me prend la tête depuis deux bonnes heures, la solution et surement toute simple...

Dans un formulaire "Modification_statut" j'ai entre autre un bouton "Ajout TSN-TSO"

Ce bouton m'ouvre un autre formulaire ("frm_TSNTSO_modification_statut")
Ce deuxième formulaire doit m'afficher des infos que je récupère dans le 1er...

donc lors du clique sur le bouton j'ouvre le formulaire (code basique fais tout seul par access)

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
'ouvrir formulaire
Public Sub btn_TSNTSOj1_Modification_statut_Click()
On Error GoTo Err_btn_TSNTSOj1_Modification_statut_Click
 
 
    Dim stDocName As String
    Dim stLinkCriteria As String
 
    stDocName = "frm_TSNTSO_modification_statut"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
 
Exit_btn_TSNTSOj1_Modification_statut_Cl:
    Exit Sub
 
Err_btn_TSNTSOj1_Modification_statut_Click:
    MsgBox Err.Description
    Resume Exit_btn_TSNTSOj1_Modification_statut_Cl
j'ajoute à ce code la ligne me permtant d'appeler une fonction qui se situe dans le code du formulaire appeler

Code :
Call Form_frm_TSNTSO_modification_statut.afficherJeuTso("00597G1")
Dans l'ideal le "00597G1" sera remplacé par une variable^^

Bref ca ne fonctionne pas

Alors que si j'écris la même instruction dans le formulaire "frm_TSNTSO_modification_statut" ca fonctionne...

Pour infos code de la fonction "afficherJeuTso"

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Public Function afficherJeuTso(a) ' a = jeu
'Debug.Print a
 
 
' affichage du paramètre
txt_jeuadtsno_modification_statut.Value = a
 
'MsgBox Me.txt_jeuadtsno_modification_statut.Value
 
'récupération des infos
Me.lst_TSOadtsno_modification_statut.RowSource = "SELECT Distinct Historique.TSO FROM historique WHERE Historique.idJeu_Jeu='" & a & "' and historique.date = (select max(historique.date) from historique where historique.idjeu_jeu = '" & a & "');"
Me.lst_TSOadtsno_modification_statut.Requery
 
Me.lst_rampeadtsno_modification_statut.RowSource = "SELECT  DISTINCT Historique.idRampe_Rampe, historique.TSN, Historique.TSO FROM  Historique WHERE historique.Resultat='ok'AND historique.idJeu_Jeu = '" & a & "' AND historique.Date=(SELECT Max(historique.Date) AS lastDate from historique WHERE historique.idJeu_Jeu ='" & a & "');"
Me.lst_rampeadtsno_modification_statut.Requery
 
End Function
merci d'avance si vous voyez le problème^^
0sef40 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 15h32   #2
Membre actif
 
Avatar de Ric500
 
Homme Richard
Ingénieur développement logiciels
Inscription : août 2004
Messages : 166
Détails du profil
Informations personnelles :
Nom : Homme Richard
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : août 2004
Messages : 166
Points : 157
Points : 157
Salut!

Essaie avec:

Code :
Forms!Form_frm_TSNTSO_modification_statut.afficherJeuTso("00597G1")
Pour l'appel de la procédure.

Bonne journée !
Ric500 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 11h22   #3
 
Homme
Étudiant
Inscription : avril 2011
Messages : 21
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Landes (Aquitaine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 21
Points : -1
Points : -1
Code :
Forms!frm_TSNTSO_modification_statut.afficherJeuTso ("00597G1")
"impossible de trouver le fomulaire 'frm_TSNTSO_modification_statut' auquel il fait référence dans une expression de macro ou un code visual basique

(j'ai vérifié le nom c'est le bon -.-)


Code :
toto = Forms!Form_frm_TSNTSO_modification_statut("00597G1")
oui car si je met pas de "=" il me sort erreur de compilation...(même si j'ai pas forcément besoin d'une retour pour l'affichage xD)

si je le met, même erreur... xD
0sef40 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 14h10   #4
Membre actif
 
Avatar de Ric500
 
Homme Richard
Ingénieur développement logiciels
Inscription : août 2004
Messages : 166
Détails du profil
Informations personnelles :
Nom : Homme Richard
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : août 2004
Messages : 166
Points : 157
Points : 157
Pardon, j'avais mal lu ton post

En fait la bonne syntaxe, c'est:

Code :
Forms!Nom_du_formulaire_appelé.Nom_de_la_procédure_publique(paramètres)
Bon courage!
Ric500 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 15h15   #5
 
Homme
Étudiant
Inscription : avril 2011
Messages : 21
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Landes (Aquitaine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 21
Points : -1
Points : -1
c'est la tout le problème... (je sais que ta synthaxe est la bonne) (du moins j'ai appris la même (et m'en suis souvenu quand tu la posté)

mais le nom du formulaire appelé c'est
"frm_TSNTSO_modification_statut"

la procedure étant afficherJeuTso est bien une procedure (fonction) déclarée en publique...

Code :
Public Function afficherJeuTso(a)
je tape :

Code :
Forms!frm_TSNTSO_modification_statut.afficherJeuTso ("00597G1")
et j'ai l'erreur de ce matin
0sef40 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 16h45   #6
Membre actif
 
Avatar de Ric500
 
Homme Richard
Ingénieur développement logiciels
Inscription : août 2004
Messages : 166
Détails du profil
Informations personnelles :
Nom : Homme Richard
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Tourisme - Loisirs

Informations forums :
Inscription : août 2004
Messages : 166
Points : 157
Points : 157
Piste 1 / Le paramètre - a - de ta fonction publique doit-il bien être de type alpha ?

Piste 2 / Pourquoi une fonction et non un Sub ? La fonction doit-elle renvoyer des valeurs?

Car alors (et là encore, j'ai dû mal lire ton post) elle devrait être appelée ainsi:

Code :
variable=nom_de_form_appelé.nom_de_fonction_publique(paramètres)
Après re-lecture de ton code, il me semble qu'en remplaçant "Function" par "Sub" et en l'appelant avec la syntaxe citée plus haut, ton problème devrait être résolu...
Ric500 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 08h52   #7
 
Homme
Étudiant
Inscription : avril 2011
Messages : 21
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Landes (Aquitaine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 21
Points : -1
Points : -1
bonjour, désolé du temps de réponse... (long weekand...)

Une fonction car effectivement elle va effectuer un traitement et me renvoyer une valeur^^

- a - est définit comme variant...^^
0sef40 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 09h30   #8
 
Homme
Étudiant
Inscription : avril 2011
Messages : 21
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Landes (Aquitaine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 21
Points : -1
Points : -1
Problème contournée merci de tes réponses
0sef40 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h40.


 
 
 
 
Partenaires

Hébergement Web