[Résolu][Base] Placer en variable la valeur d'un contrôle

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur: Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !

[Résolu][Base] Placer en variable la valeur d'un contrôle

Messagepar Grenot » 08 Déc 2018 17:09


La modération a écrit:Les termes implicites comme macro dans la section dédiée aux macros sont inutiles. Veuillez faire un effort sur la qualité du titre afin que l'on comprenne ce que vous voulez faire

Bonjour à tous,
Je galère depuis des jours pour passer dans une variable la valeur contenue dans un contrôle de formulaire
j'ai pratiqué Access mais depuis...15 ans.
Je suis passé à Ubuntu et ne retournerais pas sous Windows.
J'ai donc décidé d'utiliser LibreOffice et ses macros.
Dans Access, on écrivait quelque chose du genre :
a = Forms.Controls.value
Mais là, je rame pour trouver la syntaxe et j'ai épluché Google sans résultat depuis trois jours.
Il existe peu être une fonction qui fait cela ?
Merci
Dernière édition par Grenot le 09 Déc 2018 10:27, édité 2 fois.
Ubuntu 18.04
LibreOffice Version: 6.1.3.2
Grenot
Fraîchement OOthentifié
 
Message(s) : 8
Inscrit le : 04 Déc 2018 18:34

Re: [Base]

Messagepar micmac » 08 Déc 2018 17:30

Bonjour,

1- Le sujet précédent récupérer données d'un code barre dans formulaire aurait dû être clôturé Comment faire

2- Ce présent sujet aurait dû être ouvert dans la section Macros et API. Nous l'avons fait pour vous.
La balise [Base] a été conservée.
En revanche, le titre de votre question n'est pas assez explicite :
<[Base]>
Lors d'une recherche, ce sujet risque de passer inaperçu et donc de ne pas aider d'autres personnes ayant le même problème que vous.

Ce titre doit synthétiser votre question et donner envie d'y répondre. Un titre clair et précis augmente vos chances d'obtenir des réponses plus rapidement. Des termes comme, aide, bogue, problème ou OpenOffice étant implicites, n'ont pas besoin d'être mentionnés, de même que macro en section éponyme.

Merci donc de le modifier au plus tôt. Si ces deux exigences ne sont pas satisfaites à votre prochain passage, le sujet sera verrouillé.

Cordialement
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
 
Message(s) : 5896
Inscrit le : 28 Août 2010 09:45

Re: [Base] Syntaxe dans Macro

Messagepar tintin » 09 Déc 2018 09:54

Bonjour,

Vous devriez relire le message du modérateur.
Un titre plus explicite sans termes implicites (macro en l'occurrence) est demandé. Faites cet effort pour que les personnes faisant une recherche sur la même problématique puissent trouver les réponses.

En attendant mieux, un peu de lecture :
ce post-it où vous trouverez des informations de base pour bien débuter. Vous avez également des tutoriels disponibles sur ces sites :
http://fr.openoffice.org/Documentation/ ... ation.html
http://wiki.openoffice.org/wiki/FR/Docu ... ASIC_Guide
http://www.openoffice.org/fr/Documentation/Basic/

Vous avez enfin à votre disposition la fonction de recherche du forum qui vous permet de trouver de nombreux exemples parmi plus de 15.000 questions réponses dans les sections "Macro et API" et "Suprême de code" : http://forum.openoffice.org/fr/forum/forum24.html.

Et puis l'incontournable bible de Bernard Marcelly et Laurent Godard :
http://www.eyrolles.com/Informatique/Li ... 2212132472
AOO 4.1.6 / macOS 10.14.5 Mojave
JRE-8u221 / Firefox / Safari / Thunderbird / Time Machine
Tutoriels du forum pour macOS
Pour préserver vos documents, faites régulièrement des sauvegardes.
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
 
Message(s) : 6051
Inscrit le : 18 Juil 2008 16:29
Localisation : F-Oise + F-Savoie

Re: [Base] Placer dans une variable la valeur d'un controle

Messagepar Piaf » 09 Déc 2018 23:34

Bonsoir
Un petit exemple valant mieux qu'un long discours.
Code : Tout sélectionner   AgrandirRéduire
Sub Main(oEv as Object)
Dim oForm as Object, variable as String
   oForm = oEv.Source.Model.Parent
   variable = oForm.getByName("txtAdh").CurrentValue   
'   variable = oForm.getByName("txtAdh").Text
   MsgBox("Le nom et le prénom de l'adhérent sont : " & variable)
   Main2
End Sub

Sub Main2
Dim oForm as Object, variable as Variant
'   oForm = thisComponent.DrawPage.Forms.getByName("fAdherents")
   oForm = thisComponent.DrawPage.Forms(0)
'   variable = oForm.getByName("fmtIdAd").CurrentValue
   variable = oForm.getByName("fmtIdAd").EffectiveValue
   MsgBox("L'identifiant de l'adhérent est : " & variable)
End Sub
Grenot a écrit:j'ai pratiqué Access mais depuis...15 ans.
Je suis passé à Ubuntu et ne retournerais pas sous Windows.
J'ai donc décidé d'utiliser LibreOffice et ses macros.
Fais une recherche sur Access2Base, installé automatiquement sous LibO.
A+
Pièces jointes
Grenot.odb
(22.38 Kio) Téléchargé 14 fois
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Piaf
GourOOu
GourOOu
 
Message(s) : 5622
Inscrit le : 25 Nov 2011 19:07
Localisation : Guyane

Re: [Base] Placer dans une variable la valeur d'un controle

Messagepar Grenot » 10 Déc 2018 08:14

Merci pour cette réponse positive.
Je cherche depuis deux jours comment travailler avec Access2Base et pour moi, ce n'est pas clair
Je vais regarder cela de plus près.

Je viens de regarder et lancé cet exemple qui tourne bien et qui va m'aider.
Il me reste a décortiquer les instructions pour bien les comprendre !

Cet exemple est court mais très riche pour moi.
J'ai presque tout décortiqué et ai appris énormément...Comme quoi !
J'ai eu un peu de mal pour comprendre certaines choses très simples évidentes pour ceux qui savent. Pour ne citer qu'un exemple :
D'où sort "txtAdh" et bien, c'est le contenu du contrôle Adérent qui porte le même nom que l'étiquette !
Bon enfin, ça tourne mais avec des petites choses pas élégantes. J'ai supprimé le bouton et ai voulu le remplacer par un événement. J'ai été obligé de créer un contrôle de texte et déclencher la macro sur perte de focus de celui ci car les autre contrôles ne disposent pas d'événement. Si il y a plus élégant, je suis preneur.
Enfin, j'ai mon code barre dans une variable.(but recherché) Je l'utilise pour ouvrir une page web et ça marche. J'en suis là, il me reste à rechercher dans cette page la ligne où se trouve cette variable et a la récupérer pour la rentrer dans ma table. Je vais creuser et si je sèche, je lance un SOS.
Ubuntu 18.04
LibreOffice Version: 6.1.3.2
Grenot
Fraîchement OOthentifié
 
Message(s) : 8
Inscrit le : 04 Déc 2018 18:34


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Noonours et 5 invité(s)