IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

Enregistrer modification de données dans un formulaire [LibreOffice][Base de données]


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre régulier
    Homme Profil pro
    Retraité de l' industrie
    Inscrit en
    Mars 2010
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Retraité de l' industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 177
    Points : 102
    Points
    102
    Par défaut Enregistrer modification de données dans un formulaire
    Bonsoir,

    Une remarque sur le fonctionnement des formulaires: existe-t-il une méthode permettant d’ enregistrer automatiquement les modifications de données dans un formulaire?
    En effet, pour l’instant, je ne connais que:
    1: Créer et Cliquer sur un bouton “Enregistrer” dont le paramètre Action est “Enregistrement.
    2: Quitter le formulaire et attendre que l’ application détecte les modifications. Une boite de dialogue nous demande si nous voulons sauvegarder les changements.
    Pour moi, l’ idéal serait d’ avoir une macro qui permettrai par exemple de :
    1:Enregistrer les données
    2:Fermer le formulaire.

    Cela fait un moment que je cherche la formule magique mais pour l’ instant Rien!!!

    Auriez-vous une idée

    Cordialement

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Salut,

    Les données sont enregistrées en base, et pour ce qui est de la fermeture du formulaire, tu peux le faire avec la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StarDesktop.CurrentFrame.close(True)
    @+.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  3. #3
    Membre régulier
    Homme Profil pro
    Retraité de l' industrie
    Inscrit en
    Mars 2010
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Retraité de l' industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 177
    Points : 102
    Points
    102
    Par défaut Enregistrer modification de données
    Bonsoir,

    Dans base, la modification de données ne s' enregistre pas automatiquement. Comme indiquée ci-dessus, la solution est de passer par un bouton enregistrer ou de répondre oui dans la boite de dialogue qui s' ouvre lors de la fermeture du formulaire.
    J' ai trouvé un début de solution avec le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PysEvent.source.model.parent.updateRow
    Ce bout de code fonctionne parfaitement lors de l' enregistrement de données existantes.
    Par contre, lors d' un nouvel enregistrement, l' ID de la table n' étant pas encore validé, l' activation de cette macro renvoi un message d' erreur.
    D' ou ma question:
    Existe-t-il un moyen pour qu' une macro détecte s' il s'agit d' un nouvel enregistrement ou d' une modification d' un enregistrement existant?

    Cordialement

  4. #4
    Membre régulier
    Homme Profil pro
    Retraité de l' industrie
    Inscrit en
    Mars 2010
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Retraité de l' industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 177
    Points : 102
    Points
    102
    Par défaut Nouvelle données ou Modification données + fermeture formulaire
    Bonsoir,

    J’ ai trouvé. Le code ci dessous vous permet de détecter si nous avons affaire à un nouvel enregistrement ou, si au contraire, il s’ agit simplement de modification d’ une donnée existante.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Sub enregistrerdonnees()
     
    		on error goto Err_enregistrerdonnees
    		dim Formulaire as Object, NomFormulaire as string
     
    		Formulaire = ThisComponent.drawpage.Forms(NomFormulaire)
    		with Formulaire
     			if .ismodified then
     			    if .IsNew then
     	           		.insertrow
    	         	        else
    	             	           .updateRow
    		            end if
    			end if
    		end with
     
    	ThisDatabaseDocument.FormDocuments.getByName( "Nom de votre formulaire" ).close
     
    		Exit_enregistrerdonnees:
    			on error goto 0
    			exit Sub
    		Err_enregistrerdonnees:
     			msgbox error
     			resume Exit_enregistrerdonnees
     
    	End Sub
    Bon usage à tous ceux que cela intéresse.

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/07/2008, 09h13
  2. modification des données dans un formulaire
    Par samia21 dans le forum IHM
    Réponses: 5
    Dernier message: 20/03/2008, 12h39
  3. Réponses: 1
    Dernier message: 06/06/2007, 23h14
  4. Réponses: 3
    Dernier message: 07/07/2006, 16h06
  5. Réponses: 6
    Dernier message: 15/02/2006, 14h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo