Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2330 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Desactiver l'enregistrement automatique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Desactiver l'enregistrement automatique

n°720457
alterisanz
Posté le 10-05-2004 à 12:22:59  profilanswer
 

Bonjour,
 
j'ai un formulaire qui comporte des textBox dont les valeurs sont basés sur les champs d'une table. Donc quand je fais défiler mes enregistrements avec les boutons de navigation crées par Acces, je visualise les différentes lignes de la table.
Quand je modifie un champ de cette table par l'intermédiaire des textbox, si je passe à un autre enregistrement, Access enregistre les modifications effectuées sur les données de cette table.
Je voudrai donc simplement naviguer à travers les différrents enregistrements de la table mais ne pas garder une modification en mémoire (car je voudrai que l'enregistrement ne se fasse que par une confirmation).
Don si quelqu'un sait comment on desactive cet enregistrement auto à la con merci d'avance.

mood
Publicité
Posté le 10-05-2004 à 12:22:59  profilanswer
 

n°720504
alterisanz
Posté le 10-05-2004 à 12:54:46  profilanswer
 

Citation :

tu peux pas la faire en interne ta confirmation ?  


 
cad ?
 
Si je comprend bien je devrai demander si il veut enregistrer des qu'il a modifié et qu'il veut bougé ? J'y ai pensé mais ça pose 2 pb :
1) Recuperer le contenu des champs (étant donné qu'il en a une 15aine de modifiables cela va vite devenir lourd)
 
2) detecter qu'il veut passer à un autre enregistrement (je n'arrive pas à déterminer qu'il passe à un autre enregistrement quand il utilise la molette de souris).
 
voilà. Alors le plus simple serait qu'on me dise le moyen pour empêcher Access d'enregistrer mes champs directements (si cela es possible mais j'en doute de plus en plus).

n°720592
pumpkin031​2
Posté le 10-05-2004 à 14:05:56  profilanswer
 

salut ! (ça faisait longtemps, hein ?)  ;)
 
si tu permets à tes utilisateurs de modifier le contenu des textbox, mais qu'ensuite tu trouves un moyen pour empêcher Access d'enregistrer ces modif (s'il en existe un, mais j'ai aussi des doutes là dessus), il risquent de ne pas aprécier d'avoir fait de la saisie pour rien.
si tu veux pouvoir contrôler les modifications effectuées, le mieux est de passer la propriété "Verrouillé" de toutes tes textbox sur "oui".
comme ça tes utilisateur ne peuvent pas entrer dans les textbox, ni changer leur contenu.  
Ensuite, si tu veux qu'ils puissent quand même modifier un enregistrement, au choix :
- procédure sur click de chaque textbox ouvre une inputbox qui va changer le contenu du champs (valable s'il y a un petit nombre de champs à modifier)
- partage ton form en 2 : le haut est la partie consultation, le bas la partie modification constitué de textbox indépendantes. Tu ajoutes un bouton de validation qui exécute une requête de Mise à jour.

n°722817
pumpkin031​2
Posté le 12-05-2004 à 10:06:38  profilanswer
 

Si !  ça existe !
je viens de le trouver par hasard : on peut réattribuer à un contrôle dépendant, sa valeur d'origine avec la propriété AncienneValeur (OldValue) :
 
Sub btnUndo_Click()
 
Dim ctlZoneTexte As Control
 For Each ctlZoneTexte in Me.Controls
 If ctlZoneTexte.ControlType = acTextBox Then
  ctlZoneTexte.Value = ctl.OldValue
 End If
 Next ctl
 
End Sub

n°722889
alterisanz
Posté le 12-05-2004 à 11:07:41  profilanswer
 

Arghhhh ! C'est con que tu m'ai pas dit ça plus tôt ! En fait maintenant j'ai fait tout un système qui en fait rétablit les valeurs d'origine si l'user ne veut pas enregistrer ! Mais sinon je vais essayer ce que tu m'a donné car je prèfère 100 fois faire avec ça.
Merci beaucoup, tjs efficace à ce que je vois. Fini les vacances ?
A titre d'info si ça peut interesser quelqu'un et ça concerne tjs les merdes d'access, j'ai trouvé une méthode super-fiable pour gérer la mollette à souris (merci google).

n°722962
alterisanz
Posté le 12-05-2004 à 11:38:40  profilanswer
 

Merci BEAUCOUP !!!!!!!  :D  :D  :D  :D  :D  :sol:  
Tu me simplifie vraiment la vie ! Tu ne peux pas savoir commement j'ai galéré hier pour mettre en place un système qui remplaçait ça ! Maintenant c'est trop simple !
Vraiment tu as bien intuité !
 
PS : Je corrige le code donné qui comportait quelques petites coquilles
 

Code :
  1. Dim ctlZoneTexte As Control
  2.         For Each ctlZoneTexte In Me.Controls
  3.             If ctlZoneTexte.ControlType = acTextBox Then
  4.                 'vérifier qu'elle n'est pas verouillée sinon ça plante
  5.                 'vous pouvez aussi vérifier si le champ n'est pas
  6.                 'inactif
  7.                 If ctlZoneTexte.Locked = False Then
  8.                     lenom = ctlZoneTexte.Name
  9.                     Debug.Print lenom
  10.                     ctlZoneTexte.Value = ctlZoneTexte.OldValue
  11.                 End If
  12.              
  13.             End If
  14.         Next ctlZoneTexte


Message édité par alterisanz le 12-05-2004 à 12:01:17
n°723051
pumpkin031​2
Posté le 12-05-2004 à 12:39:08  profilanswer
 

c'est vrai ? t'as une méthode pour gérer la mollette de la souris ?
je galère dessus depuis ce matin : je ne trouve que des codes supprimant l'action, alors que je cherche à l'affecter à mon sous form (mon google marche moins bien que le tien ? :whistle:   )
alors oui, je le veux bien !
 
je suis pas en vacances : depuis le déménagement je suis mal placée : dos au couloir , faut que je bosse maintenant  :kaola:

n°723067
alterisanz
Posté le 12-05-2004 à 12:58:12  profilanswer
 

Voilà le lien
 
http://support.microsoft.com/defau [...] us;q278379
 
Fais la première méthode (il faut Visual Basic et Access) mais tu peux essayer la seconde (mais chez moi celle-ci ne marchait pas du tout).
J'ai fait ça hier. Ca fonctionne nickel, tu peux ainsi détecter l'evenement de la molette et lui appliquer un traitement.
 
Si tu ne comprends pas l'anglais je peux t'aider, mais ç'est vraiment pas compliqué...
Bonne chance


Message édité par alterisanz le 12-05-2004 à 12:58:34
n°723239
pumpkin031​2
Posté le 12-05-2004 à 14:34:55  profilanswer
 

merci. C'est en effet ce que j'avais trouvé sur google, mais ça marche pas non plus sur mon appli (p'têt parce que j'ai access 97).
et j'ai pas VB pour essayer l'autre...
 
j'crois que j'vais être bonne pour utiliser la méthode d'Hervé(http://www.self-access.com/access/grenier/acRedir.php?id=131) et installer la dll sur tous les postes utilisateurs.  :kaola:  
 
anyway, thanks mate !

n°723353
alterisanz
Posté le 12-05-2004 à 15:18:38  profilanswer
 

C'est quasiment la même que j'ai donnée... :p


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Desactiver l'enregistrement automatique

 

Sujets relatifs
[resolu][Java] Reproduir un assistant de saisi semi-automatique[shell]generation automatique de vraiable
Désactiver le bouton "back" du navigateurliste déroulante et saisie semi-automatique
Comment faire un enregistrement, deux tables en même tempsAller à un enregistrement spécifique
Enregistrement dans un controle data[Visual C++] Indentation automatique d'un fichier XML
enregistrement .php 
Plus de sujets relatifs à : Desactiver l'enregistrement automatique


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)