Ouvrir formulaire sur enreg spécifique access
Fermé
Kril1
-
23 avril 2010 à 14:37
mprog67 Messages postés 28 Date d'inscription mercredi 24 mars 2010 Statut Membre Dernière intervention 14 mai 2012 - 29 avril 2010 à 06:53
mprog67 Messages postés 28 Date d'inscription mercredi 24 mars 2010 Statut Membre Dernière intervention 14 mai 2012 - 29 avril 2010 à 06:53
A voir également:
- Access ouvrir formulaire sur enregistrement précis
- Ouvrir fichier .bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier rar - Guide
- Comment ouvrir un fichier docx ? - Guide
- Ouvrir winmail.dat - Guide
21 réponses
Merci à vous deux pour votre aide j'ai résolue mon problème en modifiant ma clef primaire avec un NuméroAuto c'est plus simple et ça automatisera certaines choses dont j'avais besoin. Enfin merci encore pour votre aide et vos explications ça fonctionne nikel !
mprog67
Messages postés
28
Date d'inscription
mercredi 24 mars 2010
Statut
Membre
Dernière intervention
14 mai 2012
2
27 avril 2010 à 07:24
27 avril 2010 à 07:24
Bonjour, essayez de garder dans ton code que ça :
Private Sub Commande86_Click()
On Error GoTo Err_Commande86_Click
Dim StrFiltre As String
StrFiltre = "[Code Groupe] = " & Me![Code Groupe] // faites attention aux guillemets//
DoCmd.OpenForm "Licences diverses groupe", , StrFiltre
Exit_Commande86_Click:
Exit Sub
Err_Commande86_Click:
MsgBox Err.Description
Resume Exit_Commande86_Click
End Sub
ou voilà un autre code que j'utilise et ça marche même sur les champs texte:
Private Sub OK_Click()
On Error GoTo Err_OK_Click
Dim dbscurrent As Database
Dim rst As Recordset
Set dbscurrent = CurrentDb
Set rst = dbscurrent.OpenRecordset("Employés") 'Table employés
s = 0
For i = 0 To rst.RecordCount - 1
If rst.Fields("CodeEmployé") = Me!MatEmp Then
s = 1
End If
rst.MoveNext
Next i
If s = 0 Then
MsgBox "Cette matricule n'est pas valide.", vbInformation, "OeSGest"
Me!MatEmp.SetFocus
Else
DoCmd.OpenForm "Employés1"
Me.Visible = False
End If
Exit_OK_Click:
Exit Sub
Err_OK_Click:
MsgBox Err.Description
Resume Exit_OK_Click
End Sub
Private Sub Commande86_Click()
On Error GoTo Err_Commande86_Click
Dim StrFiltre As String
StrFiltre = "[Code Groupe] = " & Me![Code Groupe] // faites attention aux guillemets//
DoCmd.OpenForm "Licences diverses groupe", , StrFiltre
Exit_Commande86_Click:
Exit Sub
Err_Commande86_Click:
MsgBox Err.Description
Resume Exit_Commande86_Click
End Sub
ou voilà un autre code que j'utilise et ça marche même sur les champs texte:
Private Sub OK_Click()
On Error GoTo Err_OK_Click
Dim dbscurrent As Database
Dim rst As Recordset
Set dbscurrent = CurrentDb
Set rst = dbscurrent.OpenRecordset("Employés") 'Table employés
s = 0
For i = 0 To rst.RecordCount - 1
If rst.Fields("CodeEmployé") = Me!MatEmp Then
s = 1
End If
rst.MoveNext
Next i
If s = 0 Then
MsgBox "Cette matricule n'est pas valide.", vbInformation, "OeSGest"
Me!MatEmp.SetFocus
Else
DoCmd.OpenForm "Employés1"
Me.Visible = False
End If
Exit_OK_Click:
Exit Sub
Err_OK_Click:
MsgBox Err.Description
Resume Exit_OK_Click
End Sub
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
24 avril 2010 à 13:27
24 avril 2010 à 13:27
Salut quel est la clé primaire de ta table ?
exemple ds ta tale tu as un numero auto appelé n°
Tu creer un bouton et sur clic tu met procedure evenementielle :
DoCmd.OpenForm "nom_du_formulaire", acNormal, , "[ici le nom du champ dans le formulaire que tu vas puvrir] = Me.n°
Attention recopie exactement le meme nombre de virgule
exemple ds ta tale tu as un numero auto appelé n°
Tu creer un bouton et sur clic tu met procedure evenementielle :
DoCmd.OpenForm "nom_du_formulaire", acNormal, , "[ici le nom du champ dans le formulaire que tu vas puvrir] = Me.n°
Attention recopie exactement le meme nombre de virgule
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut, tout d'abord merci de ta réponse.
Le nom de ma clé primaire est Code Groupe.
J'ai testé avec ton code, cela donne :
Private Sub Commande85_Click()
DoCmd.OpenForm "Licences diverses groupe", acNormal, , "[Code groupe] = Me.Code groupe"
End Sub
ça ne fonctionne pas voila le message que je reçois :
Erreur d'exécution '3075'
Erreur de syntaxe (opérateur absent) dans l'expression "[Code groupe] = Me.Code groupe".
Voila merci encore pour ta réponse
Le nom de ma clé primaire est Code Groupe.
J'ai testé avec ton code, cela donne :
Private Sub Commande85_Click()
DoCmd.OpenForm "Licences diverses groupe", acNormal, , "[Code groupe] = Me.Code groupe"
End Sub
ça ne fonctionne pas voila le message que je reçois :
Erreur d'exécution '3075'
Erreur de syntaxe (opérateur absent) dans l'expression "[Code groupe] = Me.Code groupe".
Voila merci encore pour ta réponse
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
24 avril 2010 à 19:26
24 avril 2010 à 19:26
essai ca :
Private Sub Commande85_Click()
DoCmd.OpenForm "Licences diverses groupe", acNormal, , "[Code groupe] ="Me.Code groupe
End Sub
Private Sub Commande85_Click()
DoCmd.OpenForm "Licences diverses groupe", acNormal, , "[Code groupe] ="Me.Code groupe
End Sub
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
24 avril 2010 à 19:32
24 avril 2010 à 19:32
désolé c comme ca g oublié un petit &
Private Sub Commande85_Click()
DoCmd.OpenForm "Licences diverses groupe", acNormal, , "[Code groupe] =" & Me.Code groupe
End Sub
Private Sub Commande85_Click()
DoCmd.OpenForm "Licences diverses groupe", acNormal, , "[Code groupe] =" & Me.Code groupe
End Sub
Et bien quand je test avec ce nouveau code access me dit qu'il y a une " erreur de compilation : erreur de syntaxe "
Alors j'ai essayé avec un underscore dans le dernier code groupe comme ceci :
Private Sub Commande85_Click()
DoCmd.OpenForm "Licences diverses groupe", acNormal, , "[Code groupe] =" & Me.Code_Groupe
End Sub
Et la il me demande d'entrer une valeur, par exemple si je suis sur l'enregistrement 1 qui a pour clé primaire gp1 j'ai un inputbox qui s'ouvre avec gp1 et une zone a remplir et en titre "Entrer une valeur de paramètre.
Voila merci encore pour tes conseils
Alors j'ai essayé avec un underscore dans le dernier code groupe comme ceci :
Private Sub Commande85_Click()
DoCmd.OpenForm "Licences diverses groupe", acNormal, , "[Code groupe] =" & Me.Code_Groupe
End Sub
Et la il me demande d'entrer une valeur, par exemple si je suis sur l'enregistrement 1 qui a pour clé primaire gp1 j'ai un inputbox qui s'ouvre avec gp1 et une zone a remplir et en titre "Entrer une valeur de paramètre.
Voila merci encore pour tes conseils
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
24 avril 2010 à 20:25
24 avril 2010 à 20:25
excuse moi
Private Sub Commande85_Click()
DoCmd.OpenForm "Licences diverses groupe", acNormal, , "[Code groupe] =" & Me.[Code groupe]
End Sub
Private Sub Commande85_Click()
DoCmd.OpenForm "Licences diverses groupe", acNormal, , "[Code groupe] =" & Me.[Code groupe]
End Sub
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
24 avril 2010 à 22:20
24 avril 2010 à 22:20
lol j'avais pas vu mon erreur
Private Sub Commande85_Click()
DoCmd.OpenForm "Licences diverses groupe", acNormal, , "[Code groupe] ="Me.[Code groupe]
End Sub
Private Sub Commande85_Click()
DoCmd.OpenForm "Licences diverses groupe", acNormal, , "[Code groupe] ="Me.[Code groupe]
End Sub
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
25 avril 2010 à 18:05
25 avril 2010 à 18:05
lol
ton code groupe c bien du numerique?
ton code groupe c bien du numerique?
euh non je crois que tu as mis le doigt sur quelque chose, le code groupe c'est "gp1, gp2, gp3..."
merci encore de ton aide
merci encore de ton aide
mprog67
Messages postés
28
Date d'inscription
mercredi 24 mars 2010
Statut
Membre
Dernière intervention
14 mai 2012
2
26 avril 2010 à 07:19
26 avril 2010 à 07:19
salut mon ami, c'est avec un grand plaisir que je vous apporte mon aide, j'espère seulement qu'elle vous soit utile.
Ouvrez visual basic editor dans le menu Outils/Macro
Dans la liste déroulante (Général) sélectionnez votre bouton de commande
vous aurez:
Private sub (Votre bouton de commande)_Click()
End sub
Private Sub ModifParam_Click()
On Error GoTo Err_ModifParam_Click
Dim StrFiltre As String
StrFiltre = "[RéfProduit]= " & Me![RéfProduit]
DoCmd.OpenForm "Produits", , StrFiltre
Form_Produits.filter = StrFiltre
Form_Produits.FilterOn = True
Exit_ModifParam_Click:
Exit Sub
Err_ModifParam_Click:
MsgBox Err.Description
Resume Exit_ModifParam_Click
End Sub
essayez cette procédure et bonne chance.
Ouvrez visual basic editor dans le menu Outils/Macro
Dans la liste déroulante (Général) sélectionnez votre bouton de commande
vous aurez:
Private sub (Votre bouton de commande)_Click()
End sub
Private Sub ModifParam_Click()
On Error GoTo Err_ModifParam_Click
Dim StrFiltre As String
StrFiltre = "[RéfProduit]= " & Me![RéfProduit]
DoCmd.OpenForm "Produits", , StrFiltre
Form_Produits.filter = StrFiltre
Form_Produits.FilterOn = True
Exit_ModifParam_Click:
Exit Sub
Err_ModifParam_Click:
MsgBox Err.Description
Resume Exit_ModifParam_Click
End Sub
essayez cette procédure et bonne chance.
mprog67
Messages postés
28
Date d'inscription
mercredi 24 mars 2010
Statut
Membre
Dernière intervention
14 mai 2012
2
26 avril 2010 à 07:28
26 avril 2010 à 07:28
pardon , J'ai oublié de vous faire voir la procédure que moi même j'ai utilisé et ça marche trés bien, la voilà :
Private Sub Commande63_Click()
On Error GoTo Err_Commande63_Click
Dim StrFiltre As String
StrFiltre = "[RéfProduit]= " & Me![RéfProduit]
If Not IsNull([Form_ReqDétailsAchats Sous-formulaire].RéfProduit) Then
DoCmd.OpenForm "Produits", , StrFiltre
Form_Produits.Texte29.Visible = False
Form_Produits.Commande42.Visible = False
Form_Produits.ActualiserEchanges.Visible = False
Form_Produits.filter = StrFiltre
Form_Produits.FilterOn = True
Else
MsgBox " Selectionnez d'abord un produit dans la grille ", vbInformation, " GestPharma "
End If
Exit_Commande63_Click:
Exit Sub
Err_Commande63_Click:
MsgBox Err.Description
Resume Exit_Commande63_Click
End Sub
Private Sub Commande63_Click()
On Error GoTo Err_Commande63_Click
Dim StrFiltre As String
StrFiltre = "[RéfProduit]= " & Me![RéfProduit]
If Not IsNull([Form_ReqDétailsAchats Sous-formulaire].RéfProduit) Then
DoCmd.OpenForm "Produits", , StrFiltre
Form_Produits.Texte29.Visible = False
Form_Produits.Commande42.Visible = False
Form_Produits.ActualiserEchanges.Visible = False
Form_Produits.filter = StrFiltre
Form_Produits.FilterOn = True
Else
MsgBox " Selectionnez d'abord un produit dans la grille ", vbInformation, " GestPharma "
End If
Exit_Commande63_Click:
Exit Sub
Err_Commande63_Click:
MsgBox Err.Description
Resume Exit_Commande63_Click
End Sub
Tout d'abord merci beaucoup de votre aide.
Alors ça ne fonctionne pas Access ne trouve pas l'objet "Faux".
Voila mon code :
Private Sub Commande86_Click()
On Error GoTo Err_Commande86_Click
Dim StrFiltre As String
StrFiltre = [Code Groupe] = " & Me![Code Groupe]"
DoCmd.OpenForm "Licences diverses groupe", , StrFiltre
Form_Licences_diverses_groupe.Filter = StrFiltre
Form_Licences_diverses_groupe.FilterOn = True
Exit_Commande86_Click:
Exit Sub
Err_Commande86_Click:
MsgBox Err.Description
Resume Exit_Commande86_Click
End Sub
La solution de moiced59 fonctionne si je mets ma clef primaire en type numérique, mais j'aimerais bien garder mes deux lettres devant est ce que vous savez comment faire ?
Merci encore
Alors ça ne fonctionne pas Access ne trouve pas l'objet "Faux".
Voila mon code :
Private Sub Commande86_Click()
On Error GoTo Err_Commande86_Click
Dim StrFiltre As String
StrFiltre = [Code Groupe] = " & Me![Code Groupe]"
DoCmd.OpenForm "Licences diverses groupe", , StrFiltre
Form_Licences_diverses_groupe.Filter = StrFiltre
Form_Licences_diverses_groupe.FilterOn = True
Exit_Commande86_Click:
Exit Sub
Err_Commande86_Click:
MsgBox Err.Description
Resume Exit_Commande86_Click
End Sub
La solution de moiced59 fonctionne si je mets ma clef primaire en type numérique, mais j'aimerais bien garder mes deux lettres devant est ce que vous savez comment faire ?
Merci encore
mprog67
Messages postés
28
Date d'inscription
mercredi 24 mars 2010
Statut
Membre
Dernière intervention
14 mai 2012
2
27 avril 2010 à 18:52
27 avril 2010 à 18:52
Bonsoir mon ami, je suis très heureux pour toi.
Portez vous bien et bonne continuité.
Portez vous bien et bonne continuité.
J'ai un autre soucis maintenant, j'ai créé un nouveau sujet si vous avez des idées je vous invite à m'aider de nouveau.
https://forums.commentcamarche.net/forum/affich-17544452-copier-coller-d-une-cellule-avec-macro-access
Merci encore
https://forums.commentcamarche.net/forum/affich-17544452-copier-coller-d-une-cellule-avec-macro-access
Merci encore
mprog67
Messages postés
28
Date d'inscription
mercredi 24 mars 2010
Statut
Membre
Dernière intervention
14 mai 2012
2
29 avril 2010 à 06:53
29 avril 2010 à 06:53
Bonjour j'espère que vous allez bien, je suis toujours là pour vous apporter mon aide, quel est votre soucis cette fois ci?
vous pouvez me contacter sur mon e-mail si vous voulez:
mprog67@yahoo.fr
vous pouvez me contacter sur mon e-mail si vous voulez:
mprog67@yahoo.fr