OVH Cloud OVH Cloud

Controle nouvel enregistrement

5 réponses
Avatar
Alain TEYSSEDRE
Bonjour

J'ai un sous formulaire en affichage mode continu dans la section détail.

Comment empecher de changer de formulaire (mon formulaire principal contient
plusieurs
ongletss) si on sélectionne une ligne de nouvel enregistrement sans
enregistrer de donnée
dans les champs correspondant ?

(sur quel évenement faut il placer le code ?)

merci
Alain

5 réponses

Avatar
Michel Walsh
Salut,


Dans le même formulaire, on ne peut pas à moins d'utiliser un formulaire
non lié à une source de données, il va s'en dire.




Espérant être utile,
Vanderghast, Access MVP


"Alain TEYSSEDRE" wrote in message
news:
Bonjour

J'ai un sous formulaire en affichage mode continu dans la section détail.

Comment empecher de changer de formulaire (mon formulaire principal
contient

plusieurs
ongletss) si on sélectionne une ligne de nouvel enregistrement sans
enregistrer de donnée
dans les champs correspondant ?

(sur quel évenement faut il placer le code ?)

merci
Alain




Avatar
3stone
Salut Alain,

"Alain TEYSSEDRE" a écrit:
| J'ai un sous formulaire en affichage mode continu dans la section détail.
|
| Comment empecher de changer de formulaire (mon formulaire principal contient
| plusieurs
| ongletss) si on sélectionne une ligne de nouvel enregistrement sans
| enregistrer de donnée
| dans les champs correspondant ?


Hmmm... plusieurs lectures possibles...

Je... crois comprendre que tu as, dans une contrôle d'onglet,
plusieurs sous-formulaires, et que tu voudrais empêcher
que l'on change d'onglet *tant* que la saisie ne soit terminée...

C'est ca ?

Si oui... il est probable que tu ne sache rien faire tant que la saisie
n'a pas réellement commencée.
Si elle à débutée, tu peux obliger à terminer... en mettant dans
l'événement "Avant mise a jour", un test sur les champs...

If IsNull(champ1) OR IsNull(champ2) OR Nz(champ3,0) = 0 then
Msgbox "Saisie non terminée..."
Cancel = true
End If

Si c'est ce que tu cherche... il faudra penser à aménager le MsgBox
pour permettre l'abandon de la saisie...

J'ai peut-être mal compris... ;o)


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------
Avatar
Alain TEYSSEDRE
Bonjour Pierre

Effectivement c'est ça tu as très bien compris
le pb c'est que comme mes sous formulaires sont liés au 1er sous formulaire
du controle d'onglet:
qui contient des adresses: lorsque je sélection une adresse dans mon 1er
sous formulaire
les autres sous-formulaires du controle onglet affichent les coordonnées
correspondantes.

donc si dans mon 1er sous formulaire je sélectionne un nouvel enregistrement
(sans rentrer de valeur !)
je me retrouve avec mon 2ème sous formulaire Vide.

En fait si je pouvais faire un test pour que je me repositionne
automatiquement sur le 1er enregistremen,t ou sur l'enregistrement
précdant du 1er sous formulaire lorque je change d'onglet cela pourrait
résoudre mon pb.

mais j'ai cru comprendre que ça n'est pas possible.

Quelles astuces peuvent etre utiliser pour controurner le pb ?

cdlt
Alain



"3stone" a écrit dans le message de
news:3f872987$0$31737$
Salut Alain,

"Alain TEYSSEDRE" a écrit:
| J'ai un sous formulaire en affichage mode continu dans la section
détail.

|
| Comment empecher de changer de formulaire (mon formulaire principal
contient

| plusieurs
| ongletss) si on sélectionne une ligne de nouvel enregistrement sans
| enregistrer de donnée
| dans les champs correspondant ?


Hmmm... plusieurs lectures possibles...

Je... crois comprendre que tu as, dans une contrôle d'onglet,
plusieurs sous-formulaires, et que tu voudrais empêcher
que l'on change d'onglet *tant* que la saisie ne soit terminée...

C'est ca ?

Si oui... il est probable que tu ne sache rien faire tant que la saisie
n'a pas réellement commencée.
Si elle à débutée, tu peux obliger à terminer... en mettant dans
l'événement "Avant mise a jour", un test sur les champs...

If IsNull(champ1) OR IsNull(champ2) OR Nz(champ3,0) = 0 then
Msgbox "Saisie non terminée..."
Cancel = true
End If

Si c'est ce que tu cherche... il faudra penser à aménager le MsgBox
pour permettre l'abandon de la saisie...

J'ai peut-être mal compris... ;o)


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------






Avatar
3stone
Salut,

"Alain TEYSSEDRE"
| Effectivement c'est ça tu as très bien compris
| le pb c'est que comme mes sous formulaires sont liés au 1er sous formulaire
| du controle d'onglet:
| qui contient des adresses: lorsque je sélection une adresse dans mon 1er
| sous formulaire
| les autres sous-formulaires du controle onglet affichent les coordonnées
| correspondantes.
|
| donc si dans mon 1er sous formulaire je sélectionne un nouvel enregistrement
| (sans rentrer de valeur !)
| je me retrouve avec mon 2ème sous formulaire Vide.

oui, jusqu'ici ca va ;-)

| En fait si je pouvais faire un test pour que je me repositionne
| automatiquement sur le 1er enregistremen,t ou sur l'enregistrement
| précdant du 1er sous formulaire lorque je change d'onglet cela pourrait
| résoudre mon pb.
|
| mais j'ai cru comprendre que ça n'est pas possible.

Heu... Michel doit avoir mieux compris...

;-)


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------
Avatar
Alain TEYSSEDRE
Bon je vais essayer d'éclaircir ce que je souhaite faire

Dans le cas ou un nouvel enregistrement est sélectionné dans mon 1er
sous-formulaire ET que l'utilisateur
ne rentre aucune donnée (en fait cette situation se produit soit lorqu'on
valide un enregistrement en appuyant
sur la touche return, soit lorsqu'on se positionne délibérement sur un
nouvel enregistrement !)
j'aimerai soit
- informer l'utilisateur qu'il doit entrer des nouvelles données ou
sélectionner un enregistrement valide
- repositionner automatiquement l'application sur le 1er enregistrement
ou l'enregistrement précédant
- empecher l'utilisateur de changer de controle d'onglet

Si rien de tout cela n'est possible alors peut on lorsque l'utilisateur
appuie sur return valider l'enregistrement
en restant positionner sur l'enregistrement courant ?

@+
Alain


"3stone" a écrit dans le message de
news:3f8ae16f$0$24180$
Salut,

"Alain TEYSSEDRE"
| Effectivement c'est ça tu as très bien compris
| le pb c'est que comme mes sous formulaires sont liés au 1er sous
formulaire

| du controle d'onglet:
| qui contient des adresses: lorsque je sélection une adresse dans mon 1er
| sous formulaire
| les autres sous-formulaires du controle onglet affichent les coordonnées
| correspondantes.
|
| donc si dans mon 1er sous formulaire je sélectionne un nouvel
enregistrement

| (sans rentrer de valeur !)
| je me retrouve avec mon 2ème sous formulaire Vide.

oui, jusqu'ici ca va ;-)

| En fait si je pouvais faire un test pour que je me repositionne
| automatiquement sur le 1er enregistremen,t ou sur l'enregistrement
| précdant du 1er sous formulaire lorque je change d'onglet cela pourrait
| résoudre mon pb.
|
| mais j'ai cru comprendre que ça n'est pas possible.

Heu... Michel doit avoir mieux compris...

;-)


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------