Mon dernier programme accesss :(((

Le
www.eztree-msdn.com \(Laurent Jordi\) Enlever le s à infos pour me contacter par mail
Salut

Plein les b de cet access

Je viens de psser un certain temps pour fermer proprement un formulaire
ouvert en mode ajout qui génère automatiquement un code facture calculé

Lorsque l'utilisateur clique sur la petite croix de fermeture, je pose
poliement la question :

Tu vas niker l'enreg ke t'a sazi t sur de toi la t vraiement sur ?

Kand l'utilisateur dis oui je demande gentiement à access de bien vouloir
annuler l'enreg en cours ce qu'il fait très bien mais ya un mais
(comme d'hab)

Il repose encore la question beaucoup moins poliement que moi

Cette opération vas supprimer un enregistrement, êtes-vous certain de
vouloir le faire ?

Comment fait-on taire access ? (Pour ne pas avoir ce message ?)

Merci

@+

LJ

www.eztree-msdn.com
www.Ezlogic.mc
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
ls
Le #5370271
essaye dans outils options modifier rechercher et décoche ce qu'il y a dans
la case confirmation
Si jamais ça pouvait aider ?


"www.eztree-msdn.com (Laurent Jordi) Enlever le s à infos pour me contacter
par mail" news:%
Salut

Plein les b... de cet access...

Je viens de psser un certain temps pour fermer proprement un formulaire
ouvert en mode ajout qui génère automatiquement un code facture calculé...

Lorsque l'utilisateur clique sur la petite croix de fermeture, je pose
poliement la question :

Tu vas niker l'enreg ke t'a sazi t sur de toi la t vraiement sur ?

Kand l'utilisateur dis oui... je demande gentiement à access de bien
vouloir

annuler l'enreg en cours... ce qu'il fait très bien... mais ya un mais...
(comme d'hab)

Il repose encore la question beaucoup moins poliement que moi...

Cette opération vas supprimer un enregistrement, êtes-vous certain de
vouloir le faire ?

Comment fait-on taire access ? (Pour ne pas avoir ce message ?)

Merci

@+

LJ

www.eztree-msdn.com
www.Ezlogic.mc




codial
Le #5370161
Bonsoir

Ben essaie ça:
Avant la suppression

DoCmd.SetWarnings False

et après

DoCmd.SetWarnings True

Codial


"www.eztree-msdn.com (Laurent Jordi) Enlever le s à infos pour me contacter
par mail" news:%
Salut

Plein les b... de cet access...

Je viens de psser un certain temps pour fermer proprement un formulaire
ouvert en mode ajout qui génère automatiquement un code facture calculé...

Lorsque l'utilisateur clique sur la petite croix de fermeture, je pose
poliement la question :

Tu vas niker l'enreg ke t'a sazi t sur de toi la t vraiement sur ?

Kand l'utilisateur dis oui... je demande gentiement à access de bien
vouloir

annuler l'enreg en cours... ce qu'il fait très bien... mais ya un mais...
(comme d'hab)

Il repose encore la question beaucoup moins poliement que moi...

Cette opération vas supprimer un enregistrement, êtes-vous certain de
vouloir le faire ?

Comment fait-on taire access ? (Pour ne pas avoir ce message ?)

Merci

@+

LJ

www.eztree-msdn.com
www.Ezlogic.mc




3stone
Le #5370131
Salut,

"www.eztree-msdn.com
Lorsque l'utilisateur clique sur la petite croix de fermeture, je pose
poliement la question :

Tu vas niker l'enreg ke t'a sazi t sur de toi la t vraiement sur ?

Kand l'utilisateur dis oui... je demande gentiement à access de bien vouloir
annuler l'enreg en cours... ce qu'il fait très bien... mais ya un mais...
(comme d'hab)



Tu parle bien d'annuler... l'enregistrement en cours ?

Comment fait-tu ?


Il repose encore la question beaucoup moins poliement que moi...

Cette opération vas supprimer un enregistrement, êtes-vous certain de
vouloir le faire ?


Pourquoi veut-il supprimer un enregistrement,
puisqu'il (tu) l'a (bien ? ) annuler ??



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

www.eztree-msdn.com \(Laurent Jordi\) Enlever le s à infos pour me contacter par mail
Le #5370071
Salut,



j'mexplike...



Je travaille sur une fiche de type entête/Détail en relation 1 - n (un
facture quoi)

Cependant l'entête comprend 4 listes déroulantes qui pointent sur d'autres
tables.



C'est un programme de gestion de caisse, je devais donc faire une interface
TRES SIMPLE avec très peu d'interventions utilisateur. Etant donné que l'on
défini des éléments en cascade avant de les affecter à l'entête : Voiture /
Grande. / de M. Untel / de la société bidon... j'ai voulu utiliser
l'événement not in list... Ce qui marchait très bien au départ.... Etant
donné que le formulaire principal comporte un sous formulaire pour les
lignes de détail, et que j'utilise l'intégrité référentielle. Access
m'interdit, par exemple d'ajouter des lignes de détail si je n'ai pas encore
choisi toutes les caractéristiques de l'entête puisqu'il sauvegarde l'enreg
d'entête lorsque l'on entre dans le SF ce qui est normal puisqu'il doit lier
l'enreg principal avec le détail...



Autre Pb, les tarifs sont défini pour des périodes. Donc l'utilisateur qui
choisi, pour chaque ligne de détail un produit voit le prix unitaire
s'afficher automatiquement. En théorie, la somme de toutes les lignes du SF
devrait se faire dans le pied de SF. Mais... Comme le champ prix unitaire
n'est rempli qu'après la sélection du produit, la somme ne se met à jour que
lorsque l'on saisi une nouvelle ligne de détail...



Enfin c'est une horreur... Cela fait déjà un certain temps que je ne
travaille + que sur des interfaces web car je n'aime pas être bridé dans mes
mouvements en ce qui concerne les interfaces. Avec Access, un si grand
nombre de paramètre de gène que j'ai l'impression d'être une boule de
flipper tant je suis renvoyé à droite et à gauche par ces contraintes...



En plus, la traduction (très mauvaise) des noms des événements en français
dans le mode édition de formulaire qui ne correspond pas vraiment aux noms
des événements en anglais est une vraie horreur... Je suggère d'ailleurs que
l'on puisse (si le développeur le désire) afficher les noms des événements
en anglais dans la page de props des formulaire pour ne pas être perturbé
par les traductions. Une simple bulle d'aide serait déjà la bienvenue...



Enfin...



Je galère à mort sur un programme ridicule à cause de contraintes qui n'ont
pas lieu d'être en programmation avancée...



C'est vraiment dommage...



@+



LJ



www.Eztree-msdn.com

www.Ezlogic.mc





"3stone" news:
Salut,

"www.eztree-msdn.com
Lorsque l'utilisateur clique sur la petite croix de fermeture, je pose
poliement la question :

Tu vas niker l'enreg ke t'a sazi t sur de toi la t vraiement sur ?

Kand l'utilisateur dis oui... je demande gentiement à access de bien
vouloir


annuler l'enreg en cours... ce qu'il fait très bien... mais ya un
mais...


(comme d'hab)



Tu parle bien d'annuler... l'enregistrement en cours ?

Comment fait-tu ?


Il repose encore la question beaucoup moins poliement que moi...

Cette opération vas supprimer un enregistrement, êtes-vous certain de
vouloir le faire ?


Pourquoi veut-il supprimer un enregistrement,
puisqu'il (tu) l'a (bien ? ) annuler ??



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------









Eric
Le #5370001
Bonjour,

(Je suppose que par une méthode ou une autre tu as mis les alertes à Non
mais si tu fais ta suppression par code (sql), je pense que tu n'auras pas
les avertissements)

"www.eztree-msdn.com (Laurent Jordi) écrivait

Je travaille sur une fiche de type entête/Détail en relation 1 - n (un
facture quoi)


Opération classique

Cependant l'entête comprend 4 listes déroulantes qui pointent sur
d'autres tables.
C'est un programme de gestion de caisse, je devais donc faire une
interface TRES SIMPLE avec très peu d'interventions utilisateur. Etant
donné que l'on défini des éléments en cascade avant de les affecter à
l'entête : Voiture / Grande. / de M. Untel / de la société bidon...
j'ai voulu utiliser l'événement not in list... Ce qui marchait très
bien au départ....


Je fais de même et je n'ai aucun problème

Etant donné que le formulaire principal comporte un
sous formulaire pour les lignes de détail, et que j'utilise
l'intégrité référentielle. Access m'interdit, par exemple d'ajouter
des lignes de détail si je n'ai pas encore choisi toutes les
caractéristiques de l'entête puisqu'il sauvegarde l'enreg d'entête
lorsque l'on entre dans le SF ce qui est normal puisqu'il doit lier
l'enreg principal avec le détail...


Tu pourrais par code gérer cela, à savoir qu'on ne peut pas entrer
dans le sous-form si on a pas choisi les éléments de l'en-tête.
Coté Intégrité référentielle, tu as coché Supprimer en cascade ? Si c'est
le cas, ce n'est pas à mon avis la meileure solution. Tu dois gérer la
suppression toi-même avec du sql.


Autre Pb, les tarifs sont défini pour des périodes. Donc l'utilisateur
qui choisi, pour chaque ligne de détail un produit voit le prix
unitaire s'afficher automatiquement. En théorie, la somme de toutes
les lignes du SF devrait se faire dans le pied de SF.


Oui et il n y a pas de problème pour ca et tu rapatries dans le
formulaire principal dans les conrôles indépendants prévus à cet effet les
valeurs calculées au pied du sous-formulaire.

Mais... Comme le champ prix unitaire n'est rempli qu'après la sélection
du produit, la somme ne se met à jour que lorsque l'on saisit
une nouvelle ligne de détail...


Si les controles du formulaires pour lesquels il n'y a pas de saisie
à faire sont en Enabledúlse, alors le Retour Chariot te fais passer à la
ligne suivante et donc sur l'évènement Form_AdterUpdate du sous-formulaire,
tu fais tes calculs et mets à jour les controles de totalisation. Normal
qu'Access attende que tu sortes du champ pour évaluer car il ne sait pas si
ta saisie est définitive.

Dans ton formulaire principal, tu mets un Bouton cmdSauver qui mettra à
jour l'enregistrement de l'entete. Dans la procédure cmdSauver_Click tu
gères une variable booléenne (par ex: vSauve), définie de portée modulaire.
Quand l'utilisateur va sortir du sous formulaire, les données saisies dans
le sous-form sont écrites automatiquement dans la table de détail. En
sortant du sous-form, il y a 2 possibilités : soit cliquer sur cmdSauver,
soit cliquer sur la croix pour fermer.
S'il clique sur cmdSauver, tout est ecrit dans les tables c'est donc OK.
S'il ferme par la croix, 2 cas :
-il a cliqué sur cmdSauver donc pas de probleme
-il n'a pas cliqué sur cmdSauver donc vSauve = False mais les infos du
sousform sont déja ecrites dans la table Détail et le num de facture déja
ecrit dans la table facture. Il faut alors supprimer ca.

Sur l'évènement UnLoad de ton formulaire principal, tu mets :

Private Sub Form_Unload(Cancel As Integer)
If vSauve = False Then
Dim strSQL As String
' on supprime en 1er lieu les lignes de détail
' en raison de l'intégrité référentielle
strSQL = "delete * from tligne where numfacture=" & Me.NumFacture
CurrentDb.Execute strSQL
' on supprime la facture non validée
strSQL = "delete * from tfacture where numfacture=" & Me.NumFacture
CurrentDb.Execute strSQL
End If
End Sub

Par contre, il ne faudra pas oublier de réinitialiser vSauve à False si
apres la saisie et validation de la facture, tu enchaines sur une autre
facture via une msgbox du genre Autre Facture ...

Enfin c'est une horreur... Cela fait déjà un certain temps que je ne
travaille + que sur des interfaces web car je n'aime pas être bridé
dans mes mouvements en ce qui concerne les interfaces. Avec Access, un
si grand nombre de paramètre de gène que j'ai l'impression d'être une
boule de flipper tant je suis renvoyé à droite et à gauche par ces
contraintes...

Ce n'est qu'une question d'habitude !


En plus, la traduction (très mauvaise) des noms des événements en
français dans le mode édition de formulaire qui ne correspond pas
vraiment aux noms des événements en anglais est une vraie horreur...


Microsoft a fait des progrès quand même, mais je te l'accorde
certains évènements français sont loin de la traduction que l'on se fait
des évènements US.

Je suggère d'ailleurs que l'on puisse (si le développeur le désire)
afficher les noms des événements en anglais dans la page de props des
formulaire pour ne pas être perturbé par les traductions. Une simple
bulle d'aide serait déjà la bienvenue...

Suis pas sur que ca simplifierait le problème, regardes les

propriétés et évènements des pages d'accès aux données.

Enfin...



Je galère à mort ...


On connait tous ca mais faut le prendre avec philosophie ;-)



A+

Eric

Publicité
Poster une réponse
Anonyme