OVH Cloud OVH Cloud

acFormAdd

3 réponses
Avatar
JPG
Bonjour,

J'aimerais ouvrir un formulaire en acFormAdd sur un nouvel enregistrement
qui permettra au compteur de ma table de prendre automatiquement la dernière
valeur +1 sans avoir à exécuter de requête...
... mais qu'après ce form reste bloqué sur ce seul enregistrement.

Est-ce possible ?

Merci beaucoup pour votre aide.

3 réponses

Avatar
3stone
Salut,

"JPG"
| J'aimerais ouvrir un formulaire en acFormAdd sur un nouvel enregistrement
| qui permettra au compteur de ma table de prendre automatiquement la dernière
| valeur +1 sans avoir à exécuter de requête...
| ... mais qu'après ce form reste bloqué sur ce seul enregistrement.


Si je comprends bien...


Après ouverture, tu peux placer le formulaire en "Dirty" (brouillé)

Me.Dity = True

ce qui déclenche la création sans saisie...

Mais "ce form reste bloqué sur ce seul enregistrement" ?
Tu ne veux qu'un enregistrement dans la table ?
- vérifie si tu as déjà un enregistrement :

if me.recordsetclone.recordcount = 1 then
'boum
else
me.dirty = false
end if

ou bien place une contrainte sur la table...
http://www.3stone.be/access/articles.php?lng=fr&pg&5


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
JPG
Non je ne veux pas qu'un seul enregistrement dans ma table. J'ai 2 form.
Dans mon form1 un bouton qui permet de créer un enregistrement dans ma table
et ouvrir le formulaire sur cet enregistrement seulement.
(Si je rappuie sur le bouton du form1 ça crééra un autre enregistrement)

Avec acFormAdd, ça m'en créé automatiquement un, mais après l'utilisateur
peut en créer autant qu'il veut et ça je ne le souhaite pas.

Avec me.dirty, j'ai l'erreur "7768 un champ dépendant modifiable doit être
activé"

Merci encore.

Salut,

"JPG"
| J'aimerais ouvrir un formulaire en acFormAdd sur un nouvel enregistrement
| qui permettra au compteur de ma table de prendre automatiquement la dernière
| valeur +1 sans avoir à exécuter de requête...
| ... mais qu'après ce form reste bloqué sur ce seul enregistrement.


Si je comprends bien...


Après ouverture, tu peux placer le formulaire en "Dirty" (brouillé)

Me.Dity = True

ce qui déclenche la création sans saisie...

Mais "ce form reste bloqué sur ce seul enregistrement" ?
Tu ne veux qu'un enregistrement dans la table ?
- vérifie si tu as déjà un enregistrement :

if me.recordsetclone.recordcount = 1 then
'boum
else
me.dirty = false
end if

ou bien place une contrainte sur la table...
http://www.3stone.be/access/articles.php?lng=fr&pg&5


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/






Avatar
Eric
Bonjour,

Essaies sur le clic du bouton:
Private Sub Commande0_Click()
DoCmd.OpenForm "NomFormulaireAOuvrir", , , , acFormAdd
Dim f As Form
Set f = Forms("NomFormulaireAOuvrir")
f.NavigationButtons = False ' plus de barre de navigation
f.Cycle = 1 ' on reste sur l'enregistrement en cours
Set f = Nothing
End Sub

Il faut que LeFormulaireAOuvrir ait un bouton de sauvegarde sur lequel
lors du clic, tu sauves l'enregistrement et ferme le formulaire.
Private Sub Commande1_Click()
DoCmd.RunCommand acCmdSaveRecord
DoCmd.Close
End Sub


Bonjour,

J'aimerais ouvrir un formulaire en acFormAdd sur un nouvel enregistrement
qui permettra au compteur de ma table de prendre automatiquement la dernière
valeur +1 sans avoir à exécuter de requête...
... mais qu'après ce form reste bloqué sur ce seul enregistrement.

Est-ce possible ?

Merci beaucoup pour votre aide.



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr