Page 1 sur 1

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

Publié : 08 déc. 2018 16:09
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

Re: [Base]

Publié : 08 déc. 2018 16:30
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

Re: [Base] Syntaxe dans Macro

Publié : 09 déc. 2018 08:54
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

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

Publié : 09 déc. 2018 22:34
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+

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

Publié : 10 déc. 2018 07:14
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.