[Résolu][Base] Valeur du contrôle de formulaire précédent

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 !
boublab
Fraîchement OOthentifié
Messages : 4
Inscription : 06 févr. 2016 12:30

[Résolu][Base] Valeur du contrôle de formulaire précédent

Message par boublab »

Bonjour,

Nouveau sur ce forum et aussi dans l'utilisation dans OO j'ai un premier formulaire qui affiche le contenu d'une table et je souhaiterais que mon deuxième formulaire affiche le résultat d'une requête basée sur l'ID contenu dans le contrôle de mon premier formulaire.
J'ai trouvé beaucoup d'information sur ce forum qui auraient du m'aider mais je ne parviens pas à les mettre en application. :fou:

Mon formulaire 1 se charge bien.
Un click bouton m'ouvre bien mon deuxième formulaire mais je ne parviens pas à récupérer mon ID du premier formulaire qui me servira à faire mon update une fois les données saisie dans mon deuxième formulaire.

Voici comment j'ouvre mon 2eme formulaire à partir d'un clic bouton :

Code : Tout sélectionner

Sub OpenAjouterAjustementForm(oEv)
OpenAForm("ajouterAjustementForm")
End Sub
Qui appelle cette methode :

Code : Tout sélectionner

Sub OpenAForm (FormName as String)
Dim GetForm as Object
GetForm = ThisDatabaseDocument.FormDocuments.GetByName(FormName)
GetForm.Open
End Sub
Mon formulaire une fois ouvert rentre dans la méthode suivante lors du chargement (Mais je ne ferme pas le premier formulaire)
afin de charger 2 combos (1 remplie manuellement avec ma boucle et l'autre avec une requete):

Code : Tout sélectionner

Sub chargerListeValeurBonus
dim dbcontext as object
dim db as object
Dim oLabel As Object
dim nombdd as string
 dim valBonus as object
 dim formActive as object
dim formComponents as object
Dim oDocument As Object
Dim oForm As Object
dim nomformulaire as string
formComponents =  CreateUnoService("com.sun.star.drawing")
oDocument = ThisComponent
nomformulaire = "ajoutAjustementForm"
oForm = oDocument.DrawPage.Forms.getByName(nomFormulaire)
REM formActive = chargerFormulaire ("ajoutAjustementForm")
valBonus = oform.getByName("comboVal")
dim i, j as integer
dim tabValeur (20) as integer
i=-10
for j= 0 to 20
	if i=0 then
		i=i+1
	end if
	tabValeur(j) = i
	i=i+1
next
valBonus.stringItemList = tabValeur()
getnomrace
End Sub
A la fin du chargement de liste je souhaite récupérer mon ID du formulaire précédant qui me permettra d'insérer un nouvel enregistrement dans une table de ma base grâce aux données saisies dans mon 2eme formulaire):

Code : Tout sélectionner

sub getNomRace 
dim connexion as object
dim queryAPI as object
dim requete as string
dim nomrace as object
dim raceIdPourRequete as string
raceIdPourRequete = recupCtrlValOrigine("raceId","creationRace")
REM .... suite du code mais pas encore utilisé car plante avant :o/
J'appelle donc la methode recupCtrlValOrigine ([NOM_CONTROLE_A_ATTEINDRE], [NOM_FORMULAIRE_DU_CONTROLE]) :

Code : Tout sélectionner

Sub recupCtrlValOrigine(nomCtrlOrigine As string,nomformOrigine as string)as string
Dim ctrlOrigine as object
dim formOrigine as object
formOrigine=recupFormOrigine(nomFormOrigine)
ctrlOrigine = formOrigine.GetByName(nomCtrlOrigine)
recupCtrlValOrigine = ctrlOrigine.value
End Sub
Qui elle même appelle la méthode devant retourner l'objet formulaire 1 et ainsi me permettre de retourner la valeur de mon controle pour le stocker dans mon formulaire 2 :

Code : Tout sélectionner

Sub recupFormOrigine(nomFormOrigine As string)as object
Dim FormOrigine as Object
FormOrigine = currentcomponent.drawPage.getForms().getByname(nomFormOrigine)'ThisDatabaseDocument.FormDocuments.GetByName(nomFormOrigine)'
recupFormOrigine = FormOrigine
End Sub
J'aurai surement d'autres problèmes plus tard mais actuellement je craque et j'aimerai bien comprendre pourquoi je ne parviens pas à récupérer mes valeurs.
Merci pour votre aide et dites moi si vous voulez d'autres informations.

Cdt,
BBB

Désolé je viens de voir qu'il ne fallait pas de macro dans ce fil, est ce qu'un modérateur peut déplacer mon post svp?
La modération vous a écrit: Déplacé et balisé en conséquence. Merci de le faire par vous-même la prochaine fois

Dernière modification par micmac le 07 févr. 2016 17:38, modifié 2 fois.
Raison : [Résolu] en debut de titre remplace (RÉSOLU) en fin de titre
Open Office 4.1.2 sous windows 10
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: [Base] Valeur du contrôle de formulaire précédant

Message par Piaf »

Bonjour et bienvenue sur le Forum.
Ton code seul ne sert pas à grand chose, joins une base sans donnée confidentielle.
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
boublab
Fraîchement OOthentifié
Messages : 4
Inscription : 06 févr. 2016 12:30

Re: [Base] Valeur du contrôle de formulaire précédent

Message par boublab »

Bonjour,

Voici ma base de données mais il y a certaines choses (formulaire, macro,...) qui ne sont que du test donc j’espère que vous pourrez vous y retrouver.

Il faut ouvrir le formulaire "création race" puis cliquer sur "ajouter" pour générer l'erreur; le reste ne sert a rien.

Merci,
Cdt,
BBB
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par boublab le 07 févr. 2016 13:37, modifié 1 fois.
Open Office 4.1.2 sous windows 10
boublab
Fraîchement OOthentifié
Messages : 4
Inscription : 06 févr. 2016 12:30

Re: [Base] Valeur du contrôle de formulaire précédent

Message par boublab »

re bonjour,

au final après avoir refais l’analyse j'ai l'impression que je ne peut pas utiliser la méthode "getByName([MON_CONTROLE]) [MON_FORMULAIRE].getbyname([MON_CONTROLE]) :
lorsque MON_CONTROLE est une colonne de la table source utilisée dans MON_FORMULAIRE?

qu'elle méthode dois je donc utiliser pour récupérer cette valeur?

[MON_FORMULAIRE] est bien récupéré mais pas [MON_CONTROLE] sur lequel je voulais utiliser la methode currentValue.

Merci pour votre aide.
Cdt,
BBB
Le modérateur a écrit : Merci de ne pas poster plusieurs messages à la suite, si vous devez ajouter un complément d'information, le bouton "Editer" à la droite du message permet d'y remédier.
Image
En attendant une prochaine réponse, vous pouvez participer également en répondant à d'autres questions sur notre forum.
Open Office 4.1.2 sous windows 10
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: [Base] Valeur du contrôle de formulaire précédent

Message par Piaf »

Bonjour
Pas compris grand chose à ce que tu veux obtenir.
Si c'est récupérer l'identifiant Race du formulaire CreationRace pour le formulaire ajouterAjustementForm, tu peux faire beaucoup plus simple.
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
boublab
Fraîchement OOthentifié
Messages : 4
Inscription : 06 févr. 2016 12:30

Re: [Base] Valeur du contrôle de formulaire précédent

Message par boublab »

Merci beaucoup :super:
c'est exactement ce que je voulais faire!
je vais étudier tout ça dans le détails.

Merci d'avoir pris de ton temps pour comprendre ce que je voulais faire.
Désolé de ne pas avoir été très clair et d'avoir posté plusieurs fois.

Effectivement ça semble simple lorsque c'est fait par un bon :bravo:
Je vais regarder ce que je peux faire avec l'objet source et model car je ne connaissais pas leurs existences :oops:

Merci merci je vais pouvoir m'amuser un peu :)


Bonne journée
et merci encore :D
Cdt,
BBB
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Open Office 4.1.2 sous windows 10