La présente Macro permet d'ajouter un menu au Dr Tux pour gérer et éditer ses documents avec OpenOffice plutôt que QlightPad.
Installer le connecteur odbc mysql
Allez sur: Démarrer – Paramètres – Panneau de configuration – Outils d’administration – Sources des données ODBC Cliquer sur: Sources de données système – Ajouter – Mysql ODBC
Data Source Name: medintux Tcp/ip: localhost User: root Cliquez sur Test et sélectionnez DrTuxTest dans database et validez.
Ouvrir OpenOffice writer Allez sur: Outils, macro, Gérer les macros, Openoffice.org Basic Cliquez sur: Mes Macros, standard et sur nouveau Collez le texte suivant:
global PysMaVar1 sub PysParam(Pys1) PysMaVar1 = Pys1 ‘PysMaVar2 = Pys2 CnxMySQLnative end sub Sub CnxMySQLnative vURL = "sdbc:mysql:odbc:medintux" ' Création contexte et connexion vContexte = CreateUnoService("com.sun.star.sdb.DatabaseContext") vSource = vContexte.CreateInstance() vSource.URL = vURL ConnexionMySQL = vSource.getConnection("root","") sSQL = "SELECT ""FchGnrl_IDDos"",""FchGnrl_NomDos"",""FchGnrl_Prenom"",""FchPat_Adresse"",""FchPat_CP"",""FchPat_Ville"",""FchPat_Cdx"",""FchPat_Email"",""FchPat_NumSS"",""FchPat_Nee"",""FchPat_Titre"",""FchPat_Tel1"",""FchPat_Sexe"",""FchPat_NomFille"" FROM ""indexnomprenom"" , ""fchpat"" WHERE ""ID_PrimKey"" = ""FchPat_RefPk"" AND ""FchGnrl_IDDos"" = '" & PysMaVar1 & "'" maRequete = ConnexionMySQL.createStatement() resultat = maRequete.executeQuery(sSQL) resultat.next 'msgbox resultat.getColumns().getByName("FchGnrl_NomDos").getString() oDoc = ThisComponent oFields = oDoc.getTextFields PysEnum = oFields.createEnumeration While PysEnum.hasMoreElements 'Tant qu'il y en a tf = PysEnum.nextElement if tf.TextFieldMaster.Name = "nom" then 'Si c'est celui recherché on y met la valeur tf.TextFieldMaster.Content = resultat.getColumns().getByName("FchGnrl_NomDos").getString() Endif if tf.TextFieldMaster.Name = "prenom" then 'Si c'est celui recherché on y met la valeur tf.TextFieldMaster.Content = resultat.getColumns().getByName("FchGnrl_Prenom").getString() Endif if tf.TextFieldMaster.Name = "adresse" then 'Si c'est celui recherché on y met la valeur tf.TextFieldMaster.Content = resultat.getColumns().getByName("FchPat_Adresse").getString() Endif if tf.TextFieldMaster.Name = "cpostal" then 'Si c'est celui recherché on y met la valeur tf.TextFieldMaster.Content = resultat.getColumns().getByName("FchPat_CP").getString() Endif if tf.TextFieldMaster.Name = "ville" then 'Si c'est celui recherché on y met la valeur tf.TextFieldMaster.Content = resultat.getColumns().getByName("FchPat_Ville").getString() Endif if tf.TextFieldMaster.Name = "email" then 'Si c'est celui recherché on y met la valeur tf.TextFieldMaster.Content = resultat.getColumns().getByName("FchPat_Email").getString() Endif if tf.TextFieldMaster.Name = "numss" then 'Si c'est celui recherché on y met la valeur tf.TextFieldMaster.Content = resultat.getColumns().getByName("FchPat_NumSS").getString() Endif if tf.TextFieldMaster.Name = "nee" then 'Si c'est celui recherché on y met la valeur tf.TextFieldMaster.Content = resultat.getColumns().getByName("FchPat_Nee").getString() Endif if tf.TextFieldMaster.Name = "titre" then 'Si c'est celui recherché on y met la valeur tf.TextFieldMaster.Content = resultat.getColumns().getByName("FchPat_Titre").getString() Endif if tf.TextFieldMaster.Name = "sexe" then 'Si c'est celui recherché on y met la valeur tf.TextFieldMaster.Content = resultat.getColumns().getByName("FchPat_Sexe").getString() Endif if tf.TextFieldMaster.Name = "tel" then 'Si c'est celui recherché on y met la valeur tf.TextFieldMaster.Content = resultat.getColumns().getByName("FchPat_Tel1").getString() Endif if tf.TextFieldMaster.Name = "nomfille" then 'Si c'est celui recherché on y met la valeur tf.TextFieldMaster.Content = resultat.getColumns().getByName("FchPat_NomFille").getString() Endif ' if tf.TextFieldMaster.Name = "medtt" then 'Si c'est celui recherché on y met la valeur ' tf.TextFieldMaster.Content = resultat.getColumns().getByName("FchPat_NomMedTT").getString() ' ' Endif if tf.TextFieldMaster.Name = "guid" then 'Si c'est celui recherché on y met la valeur tf.TextFieldMaster.Content = resultat.getColumns().getByName("FchGnrl_IDDoss").getString() Endif Wend oFields.refresh End Sub