Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formulaire + Sous-formulaires + AllowAdditions

3 réponses
Avatar
Didier FRAISSE
Bonjour

j'ai un problème avec un formulaire + sous-formulaire.
Lorsque ma commande est soldée, je veux
- interdire la modification ou la suppression (de la commande ou d'une
ligne de commande)
- interdire l'ajout d'une ligne de commande

Formulaire principal
-----------------------------------------------------------
Private Sub Form_Current()
If Me.Solde Then
Form.AllowDeletions = False
Form.AllowEdits = False
Else
Form.AllowDeletions = True
Form.AllowEdits = True
End If
End Sub


Sous-formulaire
-----------------------------------------------------------
Private Sub Form_Current()
If Forms![Frm_Commandes]![Solde] = True Then
Me.AllowAdditions = False
Me.AllowDeletions = False
Me.AllowEdits = False
End If
End Sub


Cela marche très bien sauf lorsque je veux créer une nouvelle commande
en étant positionné sur une commande soldée.
Il me crée bien la nouvelle commande (formulaire principale vide)
mais pas de possiblilite de saisir des lignes car il ne passe pas par la
methode Form_Current() du sous-formulaire.

Quelle est la bonne façon de faire svp ?

d'avance merci
Didier

3 réponses

Avatar
Didier FRAISSE
Bonjour

j'ai un problème avec un formulaire + sous-formulaire.
Lorsque ma commande est soldée, je veux
- interdire la modification ou la suppression (de la commande ou d'une
ligne de commande)
- interdire l'ajout d'une ligne de commande

Formulaire principal
-----------------------------------------------------------
Private Sub Form_Current()
If Me.Solde Then
Form.AllowDeletions = False
Form.AllowEdits = False
Else
Form.AllowDeletions = True
Form.AllowEdits = True
End If
End Sub


Sous-formulaire
-----------------------------------------------------------
Private Sub Form_Current()
If Forms![Frm_Commandes]![Solde] = True Then
Me.AllowAdditions = False
Me.AllowDeletions = False
Me.AllowEdits = False
End If
End Sub


Cela marche très bien sauf lorsque je veux créer une nouvelle commande
en étant positionné sur une commande soldée.
Il me crée bien la nouvelle commande (formulaire principale vide)
mais pas de possiblilite de saisir des lignes car il ne passe pas par la
methode Form_Current() du sous-formulaire.

Quelle est la bonne façon de faire svp ?

d'avance merci
Didier



Correctif pour éviter les fausses pistes

Sous-formulaire
-----------------------------------------------------------
Private Sub Form_Current()
If Forms![Frm_Commandes]![Solde] = True Then
Me.AllowAdditions = False
Me.AllowDeletions = False
Me.AllowEdits = False
Else
Me.AllowAdditions = True
Me.AllowDeletions = True
Me.AllowEdits = True
End If
End Sub

Mais ca ne marche pas mieux si je suis sur une cde soldée et que j'en
crée une nouvelle

Avatar
crinblanc
Il faut créer un Bouton "Nvelle Cde" par exemple qui OnClick remettra
AllowAdditions = True
AllowDeletions = True
AllowEdits = True
Docmd.GotoRecord , , acNewRec


Bonjour

j'ai un problème avec un formulaire + sous-formulaire.
Lorsque ma commande est soldée, je veux
- interdire la modification ou la suppression (de la commande ou d'une
ligne de commande)
- interdire l'ajout d'une ligne de commande

Formulaire principal
-----------------------------------------------------------
Private Sub Form_Current()
If Me.Solde Then
Form.AllowDeletions = False
Form.AllowEdits = False
Else
Form.AllowDeletions = True
Form.AllowEdits = True
End If
End Sub


Sous-formulaire
-----------------------------------------------------------
Private Sub Form_Current()
If Forms![Frm_Commandes]![Solde] = True Then
Me.AllowAdditions = False
Me.AllowDeletions = False
Me.AllowEdits = False
End If
End Sub


Cela marche très bien sauf lorsque je veux créer une nouvelle commande
en étant positionné sur une commande soldée.
Il me crée bien la nouvelle commande (formulaire principale vide)
mais pas de possiblilite de saisir des lignes car il ne passe pas par la
methode Form_Current() du sous-formulaire.

Quelle est la bonne façon de faire svp ?

d'avance merci
Didier



Correctif pour éviter les fausses pistes

Sous-formulaire
-----------------------------------------------------------
Private Sub Form_Current()
If Forms![Frm_Commandes]![Solde] = True Then
Me.AllowAdditions = False
Me.AllowDeletions = False
Me.AllowEdits = False
Else
Me.AllowAdditions = True
Me.AllowDeletions = True
Me.AllowEdits = True
End If
End Sub

Mais ca ne marche pas mieux si je suis sur une cde soldée et que j'en
crée une nouvelle




Avatar
Didier FRAISSE
Bonjour

Si quelqu'un pouvait me dépanner sur ce problème, ce serait sympa.

Merci d'avance
Didier