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 28/06/2011, 11h50   #1
Invité régulier
 
Femme
Inscription : juin 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : juin 2011
Messages : 17
Points : 6
Points : 6
Par défaut Erreur d'ouverture d'un formulaire en fonction d'une valeur contenue dans un autre formulaire

Bonjour tout le monde!

Etant debutante, vraiment debutante en Access, et surtout VBA,
j'ai besoin de faire une opération suivante: ouvrir le formulaire qui va afficher les enregistrements en fonction de la valeur choisi dans un autre formulaire.Cette valeur est commune pour les 2 formulaires, en effet, c'est un clé primaire.
J'ai ecrit le code, mais quand je le lance l'access me sorte erreur:" Run-time Error 2450: cannot find the refernced form"CompForm".

Voila mon code:
Code :
1
2
3
4
5
Private Sub Form_Open(Cancel As Integer)
Dim CompGen1 As Form
Set CompGen1 = Forms!CompForm!
DoCmd.OpenForm [Company_Intell subform], acNormal, , CompKey = CompGen1.CompKEY1, acFormPropertySettings, acWindowNormal
End Sub
Je suis sure d'avoir fait une erreur à la c.., mais je n'arrive à la retrouver. J'ai besoin de votre aide pour la reperer, Pleeeeeeeeease

Merci d'avance
sabinaS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2011, 12h40   #2
Invité régulier
 
Femme
Inscription : juin 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : juin 2011
Messages : 17
Points : 6
Points : 6
J'ai compris l'erreur: j'ai indiqué une mauvaise nom de combobox, en effet il s'appelle "Combo17" et non pas "CompKey1". Du coup, j'ai modifié le code, il y a plus de message d'erreur, mais il n'y a rien qui se passe à l'ouverture du formulaire non plus.
Le nouveau code:

Code :
1
2
3
Dim CompGen1 As Form
Set CompGen1 = Forms!CompForm!
DoCmd.OpenForm "CompForm1", acNormal, , "CompKey" = CompGen1.[Combo17], acFormPropertySettings, acWindowNormal
sabinaS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2011, 10h02   #3
Invité régulier
 
Femme
Inscription : juin 2011
Messages : 17
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : juin 2011
Messages : 17
Points : 6
Points : 6
Par défaut Pbm resolu

Pour visualiser les resultats après la reactualisation du filtre j'ai utilisé la méthode Me.Requery et ca a marché! Du coup, mon code final est le suivant :
Code :
1
2
3
4
5
6
7
8
9
10
Private Sub Combo17_AfterUpdate()
If CurrentProject.AllForms![CompForm1].IsLoaded Then
 
DoCmd.ApplyFilter , "Forms![CompForm1]![CompKey] =Forms![CompForm]![Combo17]"
Forms![CompForm1].Requery
Else
DoCmd.OpenForm "CompForm1", acNormal, , "CompKey = Forms!CompForm![Combo17]", acFormPropertySettings, acWindowNormal
Forms![CompForm1].Requery
End If
End Sub
sabinaS 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 02h12.


 
 
 
 
Partenaires

Hébergement Web