[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 !
Grenot
Fraîchement OOthentifié
Messages : 8
Inscription : 04 déc. 2018 17:34

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

Message par Grenot »


La modération vous 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 modification par Grenot le 09 déc. 2018 09:27, modifié 2 fois.
Ubuntu 18.04
LibreOffice Version: 6.1.3.2
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9251
Inscription : 28 août 2010 08:45

Re: [Base]

Message par micmac »

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
tintin
GourOOu
GourOOu
Messages : 9362
Inscription : 18 juil. 2008 15:29
Localisation : F-Oise + F-Savoie

Re: [Base] Syntaxe dans Macro

Message par tintin »

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.15 et LibO stable 7.6.6 / macOS Intel 13.6.6 Ventura
Adoptium-temurinJDK-jre_1.8.0_402 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

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

Message par Piaf »

Bonsoir
Un petit exemple valant mieux qu'un long discours.

Code : Tout sélectionner

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+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Grenot
Fraîchement OOthentifié
Messages : 8
Inscription : 04 déc. 2018 17:34

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

Message par Grenot »

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