Access

liouae Messages postés 29 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 11 juin 2008 - 14 mai 2008 à 12:42
liouae Messages postés 29 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 11 juin 2008 - 23 mai 2008 à 14:12
comment creér un formulair d'jout avec l'assist

9 réponses

CarSoftAja Messages postés 26 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 21 mai 2008
14 mai 2008 à 19:14
Bonjour,

On ne peut pas créer directement de formulaire ajout avec l'assistant. Il faut créer un formulaire normal. Ensuite, il y a deux possibilités:

1) Soit ce formulaire est destiné uniquement à l'ajout de nouveaux enregistrements et on le transforme en formulaire d'ajout en mettant sa propriété "Entrée données" à OUI
Mais alors dans ce cas on ne peut plus utiliser ce formulaire pour visualiser des enrergistrements

2)
  Soit  on laisse ce formulaire tel quel, et on choisi uniquement au moment de son ouverture dans quel mode on veut l'ouvrir, grâce à la méthode OpenForm (voir l'aide d'ACCESS)

Exemple:
Pour ouvrir un formulaire "MonFormulaire" en mode ajout:
DoCmd.OpenForm "MonFormulaire", acNormal, , , acFormAdd

Pour ouvrir ce même formulaire "MonFormulaire" en mode edition (affichage des enregistrements):
DoCmd.OpenForm "MonFormulaire", acNormal, , , acFormEdit
0
liouae Messages postés 29 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 11 juin 2008
15 mai 2008 à 11:49
slt , merci de me répondre , mais vraiment je c rien sur access et j ai une base de données , alors je ve comemnt le faire ,surtou avec deuxiéme choix que vous m'avé donné , merci de me répondre
0
CarSoftAja Messages postés 26 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 21 mai 2008
15 mai 2008 à 12:35
Tu peux par exemple créer un bouton dans le formulaire depuis lequel tu veux ouvrir ce formulaire d'ajout

Pour créer ce bouton, il suffit d'utiliser l'assistant (baguette magique) de Access. Il faut alors répondre ainsi aux questions de l'assistant:

"Opérations sur formulaire" --> Ouvrir un formulaire
suivant...
A la question suivante, sélectionner le formulaire d'ajout dans la liste
suivant...
"Ouvrir le formulaire et afficher tous les enregistrements"

Finalement, tu affiches les propriétés de ce bouton et tu ouvres l'événement "sur clic" que l'assistant a créé. Cela devrait être quelque chose comme:

On Error GoTo Err_Commande22_Click



    Dim stDocName As String
    Dim stLinkCriteria As String



    stDocName = "Customers"
    DoCmd.OpenForm stDocName, , , stLinkCriteria



Exit_Commande22_Click:
    Exit Sub



Err_Commande22_Click:
    MsgBox Err.Description
    Resume Exit_Commande22_Click


Il suffit alors de modifier la ligne
DoCmd.OpenForm stDocName, , , stLinkCriteria

comme ceci pour une ouverture en mode ajout:
DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormAdd
ou comme ça (ça revient au même)
DoCmd.OpenForm stDocName, , , , , acFormAdd  'car dans ce cas le stLinkCriteria ne sert à rien
0
liouae Messages postés 29 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 11 juin 2008
15 mai 2008 à 13:05
merci c trés trés trés trés gentil de vous , mais juste y a un petit probléme , mais pour l ajout c bien , juste je ve pour passé de formulaire a une otre par bouton , il m'affiche une formulaire viegre apar un champ commun entre premier formulair et le deuxiéme , comem ça , mais ça marche pas


Private Sub Commande13_Click()
On Error GoTo Err_Commande13_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "Agence Regionale"

stLinkCriteria = "[N°agence]=" & Me![N°agence]

DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormAdd

Exit_Commande13_Click:
Exit Sub

Err_Commande13_Click:
MsgBox Err.Description
Resume Exit_Commande13_Click

End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CarSoftAja Messages postés 26 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 21 mai 2008
15 mai 2008 à 13:35
Dans le cas  où il y a un critère d'utilisé comme ici: stLinkCriteria = "[N°agence]=" & Me![N°agence] , cela signifie que l'on désire ouvrir ce formulaire sur un enregistrement particulier (où par exemple le N° d'agence = xxx)

Donc, dans ce cas, il ne faut pas utiliser le paramètreacFormAdd, car on ne désire alors pas ajouter un enregistrement, mais rechercher un enregistrement

DoCmd.OpenForm stDocName, , , stLinkCriteria,<strike> acFormAdd</strike>

La ligne correcte serait donc: DoCmd.OpenForm stDocName, , , stLinkCriteria
0
liouae Messages postés 29 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 11 juin 2008
15 mai 2008 à 13:48
oui mais moi je veux pas chercher un enregistrement , je veux ajouter des enregistrement pour le N°agence ki vien d' un otre formulaire
alors je veux k il m'affiche le N° agence et les otre champs viérge , est -ce- que c'est possible ou nn , merci
0
CarSoftAja Messages postés 26 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 21 mai 2008
15 mai 2008 à 14:26
Si je comprends bien, vous voulez passer une valeur au formulaire d'ajout afin de renseigner un champ. Dans ce cas, il faut utiliser le paramètre OpenArgs de la méthode OpenForm

Le code deviendrait alors

Private Sub Commande13_Click()
On Error GoTo Err_Commande13_Click

    Dim stDocName As String 

    stDocName = "Agence Regionale"
    
    stLinkCriteria = "[N°agence]=" & Me![N°agence] 

    ' Mettre le N° de l'agence dans le paramètre OpenArgs 
    DoCmd.OpenForm stDocName, , , , acFormAdd, , Me![N°agence]
Exit_Commande13_Click:
    Exit Sub

Err_Commande13_Click:
    MsgBox Err.Description
    Resume Exit_Commande13_Click
    
End Sub

Ensuite, dans le formulaire  "Agence Regionale" il faut récupérer cette valeur qui se trouve dans le paramètre OpenArgs
Pour ceci, il faut ouvrir le formulaire "Agence Regionale" en mode création et dans l'onglet Evénement , il faut créer une [Procédure événementielle]  sur l'événement "Sur chargement"

Private Sub Form_Load()
'Si OpenArgs contient une valeur alors on attribue cette valeur au champ "[N°agence]"
If Len(Me.OpenArgs) > 0 Then Me.N°agence = Me.OpenArgs
End Sub

Ainsi le formulaire "Agence Régionale" s'ouvrira en mode ajout et le champ [N°Agence] contiendra la valeur passée depuis l'autre formulaire, alors que tous les autres champs seront vides
0
liouae Messages postés 29 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 11 juin 2008
15 mai 2008 à 14:56
merci c gentil , mais aprés cette opération lorske je veux modifier dans le formulaire viérge , il me donne un msg d erreur
Modification non effectuées: risque de doublons des champs index , clé principale ou relation interdisant les doublons . modifier les données des champs contenant les doublans , enlevez ou redéfinissez l'indext pour permmetre les doublons et recommancez
c à cause de quoi a votre avis ???? ; merci
0
liouae Messages postés 29 Date d'inscription vendredi 18 avril 2008 Statut Membre Dernière intervention 11 juin 2008
23 mai 2008 à 14:12
slt
 merci et je veux savoir comment ouvrire sous formulaire dans le formulaire en mode d'ajout , merci
0
Rejoignez-nous