[HS] Actualisation formulaire par liste déroulante

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
Jazzjoker
Membre lOOyal
Membre lOOyal
Messages : 34
Inscription : 22 janv. 2015 10:48

[HS] Actualisation formulaire par liste déroulante

Message par Jazzjoker »

Bonjour,

Mon problème c'est d'actualiser un sous formulaire à partir d'un choix fait dans une liste déroulante – topos maintes fois traité au sein de ce forum et dont j'ai essayé de m'inspirer et plus concrètement de ce fil de discussion :

https://forum.openoffice.org/fr/forum/v ... 662#p81393

de Pierre-Yves Samyn dont j'ai déjà repris "l'architecture" du formulaire par le biais d'un "truc", à savoir une table dont le seul but est de récolter le choix fait dans la liste ; cela fonctionne très bien avec un bouton situé dans le sous-formulaire qui actualise ce dernier après avoir effectué le choix dans la liste (située dans le formulaire principal) ;

mais, par un souci de rapidité (et "d'élégance"), j'aimerais que ledit sous-formulaire s'actualise automatiquement, une fois le choix dans la liste fait ; malheureusement, mes faibles connaissances en macro ne me permettent pas d'adapter le code proposé par Mr Samyn (ou une autre alternative) qui est le suivant :

Code : Tout sélectionner

Sub PysActualiser(PysEvt as object)
dim PysList as object, PysForm as object
dim PysSQL as string, PysChoix as string

PysList = PysEvt.source               'La liste déroulante

PysChoix = PysList.SelectedItem         'Choix fait dans la liste
PysForm = PysList.model.Parent         'On "remonte" au parent (le formulaire)

'SELECT T_FILM.*, T_GENRE.* FROM T_FILM, T_GENRE WHERE T_FILM.id_genre = T_GENRE.id_genre AND T_GENRE.genre = 'comique'
'Concaténation avec le choix fait dans la liste
PysSQL = "SELECT T_FILM.*, T_GENRE.* FROM T_FILM, T_GENRE WHERE T_FILM.id_genre = T_GENRE.id_genre AND T_GENRE.genre ='" + PysChoix + "'"
[/i]PysForm.command = PysSQL            'Redéfinition de la source du formulaire
PysForm.reload                     'Recharge le formulaire

End Sub
En ce qui concerne ma base, la liste déroulante en question est dans le "MainForm" du formulaire "Consultations" et elle est alimentée par les champs "idPatient", "Nom" et "Prenom" de la table "Patients" ; c'est ce premier champ qu'elle récupère dans la table "selectPatient" (le fameux truc) dans le champ "Selection" ; ce dernier fait le lien avec le champ "NoPatient" dans la table "Consultations" et le sous-formulaire dont l'actualisation par macro m'intéresse.

Vous remerciant d'avance –
bien cordialement
Pièces jointes
Choix par liste.odb
(261.17 Kio) Téléchargé 161 fois
Dernière modification par micmac le 21 nov. 2018 11:22, modifié 1 fois.
Apache OpenOffice 4.1.5
Windows XP, 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16955
Inscription : 03 mars 2006 17:02
Localisation : Venise verte

Re: Actualisation formulaire par liste déroulante

Message par jeanmimi »

Bonjour,
Dans le fichier joint, la Macro Actualiser du formulaire CONSULTATIONS est réduite à ce code :

Code : Tout sélectionner

REM  *****  BASIC  *****
Sub Actualiser(oEv as Object)
   oEv.Source.Model.Refresh
End Sub
ce qui est un peu court.
LibreOffice : Version : 24.2.1 (x64)(14 mars 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12196
Inscription : 08 nov. 2005 17:23
Localisation : Caen, France
Contact :

Re: Actualisation formulaire par liste déroulante

Message par Bidouille »

Jazzjoker a écrit :mes faibles connaissances en macro
Image
Verrouillé