LibreOffice Base macro et formulaire

Résolu
CCC94 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
CCC94 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à vous...
Je travaille toujours sur ma base libreoffice base. Je n'arrive pas à mettre en place des macros.
Je veux réaliser sur mon formulaire des boutons qui m'ouvrent des formulaires liés à des requêtes. En cherchant, j'ai vu que c’était possible en utilisant des macros... et en principe la commande n'est pas d'une complexité folle... mais j'y suis depuis une semaine... sans résultat....
En principe le code est:
Function OpenForm( formContainer as variant, oConnection as variant, sFormName as string, optional strMode as string ) as variant
Dim aProp(1) As New com.sun.star.beans.PropertyValue
Dim openMode as string
if ismissing( strMode ) then
openMode = "open"
else
openMode = strMode
endif
aProp(0).Name = "ActiveConnection"
aProp(0).Value = oConnection
aProp(1).Name = "OpenMode"
aProp(1).Value = strMode
OpenForm = formContainer.loadComponentFromURL(sFormName,"_blank",0,aProp())
End Function

Sub onClickOuvrirR-Festival( oEvent as variant )
OpenForm( OEvent.Source.Model.Parent.ActiveConnection.Parent.DatabaseDocument.FormDocuments, OEvent.Source.Model.Parent.ActiveConnection, "R-Festival")
end sub


Mais je n'obtient que des messages d'erreurs type :

Erreur de syntaxe BASIC.
Symbole inattendu : -. ou End If.


J'ai essayé pas mal de formules, elles génèrent toutes des messages d'erreurs...

EDIT : Ajout des balises de code

Please... help....
Merci beaucoup... Je ne m'en sors pas....
A voir également:

5 réponses

CCC94
 
J’ai aussi essayé ça :

REM ***** ouvrir et fermer des formulaires *****

Function OpenForm( formContainer as variant, oConnection as variant, sFormName as string, optional strMode as string ) as variant
Dim aProp(1) As New com.sun.star.beans.PropertyValue
Dim openMode as string
if ismissing( strMode ) then
openMode = "open"
else
openMode = strMode
endif
aProp(0).Name = "ActiveConnection"
aProp(0).Value = oConnection
aProp(1).Name = "OpenMode"
aProp(1).Value = strMode
OpenForm = formContainer.loadComponentFromURL(sFormName,"_blank",0,aProp())
End Function

Sub onClickOuvrirFAdresseMailVide( oEvent as variant )
OpenForm( OEvent.Source.Model.Parent.ActiveConnection.Parent.DatabaseDocument.FormDocuments, OEvent.Source.Model.Parent.ActiveConnection, "FAdresseMailVide")
end sub


Sub fermer_formulaire
ThisComponent.CurrentController.Frame.close(True)
End Sub


et j'ai cette erreur:

Erreur d'exécution BASIC.
Une exception s'est produite :
Type: com.sun.star.lang.IllegalArgumentException
Message: Invalid value type for 'OpenMode'.
Expected: string
Found: void.


Si quelqu'un peut me donner ce code pour libreOffice Base..... Merciiiiiiii
1
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 751
 
Bonjour,

As tu essayé End If (en deux mots )
0
CCC94 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,
Merci pour la réponse.... oui rien y fait, j'ai essayé de corriger, j'ai Que des erreurs... je pense que c'est tout le code qui n'est pas bon...
Si d’autre idée... merci
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 751
 
Je ne fais pas de LibreOffice.
Je n'ai fait que répondre pour une erreur qui m'a sautée aux yeux....
0
CCC94
 
Merci ....
0
CCC94 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour à vous.

JE rame comme un fou depuis des semaines, tous mes essais sont des échecs.... la seule version qui ne transforme pas mon ordi en sapin de noël d'erreurs qund je clic sur le bouton "ouvrir formulaire F_GrandCOLLER" est celle que vous pouvez télécharger via ce lien :
pianodeon.free.fr/Base CCM.odb

Merci de votre aide.....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CCC94 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,
il y avait la suite des messages ici... avec plein de choses inintéressantes ....
Ou sont elles passées ???
Merci de vos retours
0