[prog] Modification dynamique d'une base de donnée
Bonjour à tous, Désolé si c'est la deuxième fois que vous recevez ce message, mais je l'avais envoyé avant de m'inscrire sur la liste, et comme je ne le vois pas dans les archives, je le repost. Je débute dans la programation de macros et je rencontre le problème suivant : J'ai une boîte de dialogue avec une listBox contenant les noms de mes clients. Je souhaiterais pouvoir ajouter un enregistrement directement depuis cette ListBox. Il faut donc pour cela que je puisse tapper quelque chose dans cette ListBox or pour le moment, ma ListBox semble être en lecture seule ( ci dessous le code de "Remplissage" de ma ListBox ). Quelle instruction dois-je utiliser ? D'avance merci Martin '== 'Remplissage de la listbox clients'==Dim DatabaseContext As ObjectDim DataSource As ObjectDim Connection As ObjectDim Matable as objectDim Statement As ObjectDim ResultSet As ObjectDatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")DataSource = DatabaseContext.getByName("Carnet d'adresses")Connection = DataSource.GetConnection("","")Matable = Connection.Tables.getbyname("Clients")Statement = Connection.createStatement()ResultSet = Statement.executeQuery("SELECT Societe FROM Clients ORDER BY Societe ASC")dim i as integerIf Not IsNull(ResultSet) Theni=0While ResultSet.nextLB_client.additem(ResultSet.getString(1),i)i=i+1WendEnd if
Re: [prog] Modification dynamique d'une base de donnée
Merci pour vos réponses à ma question. En fait j'ai contourné le pb en passant par la création d'un bouton supplémentaire "Modifier". En réponse à Bernard, l'instruction ResultSet.getString(1), fonctionne très bien; (1) est le n° d'index de la colonne dans laquelle je souhaite récupérer ma chaine de caractère. Encore merci à vous, Martin - Original Message - From: "Laurent Godard" <[EMAIL PROTECTED]> To: Sent: Friday, February 04, 2005 9:15 AM Subject: Re: [prog] Modification dynamique d'une base de donnée > Bonjour Martin, > > > J'ai une boîte de dialogue avec une listBox contenant les noms de mes clients. Je souhaiterais pouvoir ajouter un enregistrement directement depuis cette ListBox. Il faut donc pour cela que je puisse tapper quelque chose dans cette ListBox or pour le moment, ma ListBox semble être en lecture seule ( ci dessous le code de "Remplissage" de ma ListBox ). > > Quelle instruction dois-je utiliser ? > > Je pense qu'il te faut utiliser une comboBox et non une listBox > Celle ci permet la saisie en plus de l'affichage d'une liste > > Cordialement > > Laurent > > -- > Laurent Godard <[EMAIL PROTECTED]> - Ingénierie OpenOffice.org > Indesko >> http://www.indesko.com > Nuxeo CPS >> http://www.nuxeo.com - http://www.cps-project.org > Livre "Programmation OpenOffice.org", Eyrolles 2004 > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] accéder à un bouton depuis le code
Bonjour à tous, Dans un document calc (Devis), j'ai un bouton (Modifier) auquel est asignée une macro qui permet de modifier le devis. A partir de ce devis je génère une facture en faisant un copier coller de mon devis dans un autre document (Facture). Par conséquent, dans mon document "Facture", j'ai également un bouton "Modifier". Par contre dans ce nouveau document ce bouton n'a aucune assignation; comment puis-je accéder à ce bouton pour lui assigner une nouvelle macro ? D'avance merci, Martin
Re: [prog] accéder à un bouton depuis le code
Bonjour Laurent, Merci de cette réponse rapide. Effectivement ça marche, enfin pas tout à fait ! ça me change bien l'assignation du bouton (que je peux vérifier en passant mon document en mode conception), par contre il ne se passe rien quand je clique sur le bouton. As-tu une idée ? (PS : j'ai commandé ton bouquin; je devrais le recevoir demain!) Martin - Original Message - From: "Laurent Godard" <[EMAIL PROTECTED]> To: Sent: Tuesday, February 08, 2005 2:09 PM Subject: Re: [prog] accéder à un bouton depuis le code > Bonjour, > > > Dans un document calc (Devis), j'ai un bouton (Modifier) auquel est asignée une macro qui permet de modifier le devis. > > A partir de ce devis je génère une facture en faisant un copier coller de mon devis dans un autre document (Facture). Par conséquent, dans mon document "Facture", j'ai également un bouton "Modifier". Par contre dans ce nouveau document ce bouton n'a aucune assignation; comment puis-je accéder à ce bouton pour lui assigner une nouvelle macro ? > > > > Essaye de regarder cette solution > http://codesnippets.services.openoffice.org/Office/Office.SettingEventMethods.snip > > Ca fait longtemps, mais n'hesites pas si tu as des questions > > Laurent > > -- > Laurent Godard <[EMAIL PROTECTED]> - Ingénierie OpenOffice.org > Indesko >> http://www.indesko.com > Nuxeo CPS >> http://www.nuxeo.com - http://www.cps-project.org > Livre "Programmation OpenOffice.org", Eyrolles 2004 > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] accéder à un bouton depuis le code
Bonjour à tous les deux, et encore merci de vous être penché sur mon cas. J'apporte une petite précision suite à un test simple que je viens de faire (avec le snippet ): Je récapitule : je crée un document "devis" au moyen d'un modèle de document plein de macros; via une autre macro, j'enregistre ce document sous le nom "Facture", j'ouvre ce document facture et je fais les modifications appropriées. Le bouton "Modifier", présent dans mon document "Devis", se retrouve donc dans mon document "Facture", et je cherche à lui assigner une macro "Modif_facture". Le code "snippet" fonctionne très bien, à savoir qu'il change bien l'assignation de mon bouton "Modifier" (et seulement de celui-là) dans mon document facture (et seulement dans ce document). Par contre le bouton est inopérant. Mais, si je ferme mon document facture et que je l'ouvre à nouveau, le bouton fonctionne correctement ! J'aimerais évidemment ne pas avoir à "Fermer/ouvrir" pour avoir accès à mon bouton ! D'avance merci, Martin P.S. je viens de recevoir votre bouquin; je vais pouvoir occuper mes longues soirées d'hivers ! :-) - Original Message - From: "Bernard Marcelly" <[EMAIL PROTECTED]> To: Sent: Thursday, February 10, 2005 11:39 AM Subject: Re: [prog] accéder à un bouton depuis le code > Bonjour, > Le snippet signalé par Laurent affecte un même traitement à tous les > boutons du formulaire. > J'ai réussi à affecter un traitement à un bouton donné, en m'inspirant > des pages 572-574 et604-605 du bouquin Programmation OpenOffice.org > Au lieu du code du snippet, écrire ceci : > > > oDocument = StarDesktop.getCurrentComponent > oView = oDocument.CurrentController > oDrawPage = oView.getActiveSheet.DrawPage > > ' get the first form > oForm = oDrawPage.getForms.getByIndex(0) > > Dim modeleBouton As Object, monBouton As Object > Dim ecouteur As Object > > modeleBouton = oForm.getByName("Bouton1") > monBouton = oView.GetControl(modeleBouton) > ecouteur = CreateUnoListener("monBouton1_", > "com.sun.star.awt.XActionListener") > monBouton.addActionListener(ecouteur) > > > ' - gestionnaires d'évènements --- > > > Sub monBouton1_actionPerformed(evt As Object) > MsgBox("C'est moi, le bouton !") > End Sub > > Sub monBouton1_disposing(evt As Object) > End Sub > > *** > > A noter : > La routine monBouton1_disposing est nécessaire même si on ne l'utilise pas. > L’afficheur de propriétés du contrôle Bouton ne « voit » pas le > traitement de l’évènement. > Le traitement est désactivé à la fermeture du document. La sauvegarde du > document ne permet pas de mémoriser l'affectation de traitement à > l'évènement. Peut-être qu'on peut améliorer. > > Bernard > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] accéder à un bouton depuis le code
Bonjour, Malheureusement non, ça ne marche pas. Ceci dit, je vais reprendre tout mon code depuis le début et gérer ça avec une base de donnée. Le coup du copier / coller puis modifier, n'est pas vraiment élégant, ni très efficace. Mais bon, si quelqu'un à la solution, je suis quand même preneur, par simple curiosité. Merci à tous, Martin - Original Message - From: Alain Nowak To: prog@fr.openoffice.org Sent: Friday, February 11, 2005 11:47 AM Subject: Re: [prog] accéder à un bouton depuis le code Bonjour,Et si au lieu de fermer/ouvrir ton doc tu te contente de passer en mode conception de formulaire puis revenir en mode utilisation, est-ce que ça marche ?Si oui, tu peux ajouter cette action à ton code macro, je crois qu'il existe aussi une méthode genre "refresh" dans l'objet formulaire.-- Alain Nowak - starxpertwww.starxpert.frMartin blaizot a écrit : Bonjour à tous les deux, et encore merci de vous être penché sur mon cas. J'apporte une petite précision suite à un test simple que je viens de faire (avec le snippet ): Je récapitule : je crée un document "devis" au moyen d'un modèle de document plein de macros; via une autre macro, j'enregistre ce document sous le nom "Facture", j'ouvre ce document facture et je fais les modifications appropriées. Le bouton "Modifier", présent dans mon document "Devis", se retrouve donc dans mon document "Facture", et je cherche à lui assigner une macro "Modif_facture". Le code "snippet" fonctionne très bien, à savoir qu'il change bien l'assignation de mon bouton "Modifier" (et seulement de celui-là) dans mon document facture (et seulement dans ce document). Par contre le bouton est inopérant. Mais, si je ferme mon document facture et que je l'ouvre à nouveau, le bouton fonctionne correctement ! J'aimerais évidemment ne pas avoir à "Fermer/ouvrir" pour avoir accès à mon bouton ! D'avance merci, Martin P.S. je viens de recevoir votre bouquin; je vais pouvoir occuper mes longues soirées d'hivers ! :-) - Original Message - From: "Bernard Marcelly" <[EMAIL PROTECTED]> To: Sent: Thursday, February 10, 2005 11:39 AM Subject: Re: [prog] accéder à un bouton depuis le code Bonjour, Le snippet signalé par Laurent affecte un même traitement à tous les boutons du formulaire. J'ai réussi à affecter un traitement à un bouton donné, en m'inspirant des pages 572-574 et604-605 du bouquin Programmation OpenOffice.org Au lieu du code du snippet, écrire ceci : oDocument = StarDesktop.getCurrentComponent oView = oDocument.CurrentController oDrawPage = oView.getActiveSheet.DrawPage ' get the first form oForm = oDrawPage.getForms.getByIndex(0) Dim modeleBouton As Object, monBouton As Object Dim ecouteur As Object modeleBouton = oForm.getByName("Bouton1") monBouton = oView.GetControl(modeleBouton) ecouteur = CreateUnoListener("monBouton1_", "com.sun.star.awt.XActionListener") monBouton.addActionListener(ecouteur) ' - gestionnaires d'évènements --- Sub monBouton1_actionPerformed(evt As Object) MsgBox("C'est moi, le bouton !") End Sub Sub monBouton1_disposing(evt As Object) End Sub *** A noter : La routine monBouton1_disposing est nécessaire même si on ne l'utilise pas. L’afficheur de propriétés du contrôle Bouton ne « voit » pas le traitement de l’évènement. Le traitement est désactivé à la fermeture du document. La sauvegarde du document ne permet pas de mémoriser l'affectation de traitement à l'évènement. Peut-être qu'on peut améliorer. Bernard - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] champ auto-incrémenté
Bonjour à tous, Dans une BDD de type DBASE, j'aimerais avoir un champs auto-incrémenté et unique. Pour ce qui est de l'auto-incrémentation, j'ai trouvé dans le bouquin de Bernard et Laurent, une propriété MaColonne.isAutoIncrement. mais j'ai un message d'erreur me disant que la propriété est en lecture seule. Que dois-je faire ? D'avance merci, MArtin
Re: [prog] champ auto-incrémenté
Bonjour Alex, Merci de cette réponse qui va m'éviter de chercher plus longtemps. Je vais me débrouiller autrement, en générant un ID basé sur l'horloge système (comme ça je serais certain d'avoir un ID unique). Martin - Original Message - From: "Alex Thurgood" <[EMAIL PROTECTED]> To: Sent: Friday, February 11, 2005 9:02 PM Subject: Re: [prog] champ auto-incrémenté > Le vendredi 11 février 2005 à 14:36 +0100, Martin blaizot a écrit : > > Bonjour à tous, > > > > Dans une BDD de type DBASE, j'aimerais avoir un champs auto-incrémenté > > et unique. > > > > Pour ce qui est de l'auto-incrémentation, j'ai trouvé dans le bouquin > > de Bernard et Laurent, une propriété > > MaColonne.isAutoIncrement. > > mais j'ai un message d'erreur me disant que la propriété est en > > lecture seule. > > > > Que dois-je faire ? > > > > La propriété Autoincrement n'existe pas, il me semble, pour les bases > dBase. La seule chose à laquelle je pense serait d'interroger le dernièr > tuple de ta table, obtenir la valeur et y ajouter 1, puis prendre cette > valeur calculé et l'injecter dans le nouveau tuple. Cette opération > supposerait sans doute d'interroger l'ensemble des tuples, de les trier > par ordre croissant et de prendre la dernière valeur de la liste. > > Alex > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Ou sont stockées mes macros ?
Bonsoir à tous, Je me pose une question sans doute stupide (une de plus !) mais bon, c'est comme ça qu'on avance ! Alors voilà : J'essaie, au bureau, de développer une petite appli pour gérer mes devis, factures, clients etc ... J'ai placés tous mes modules dans une nouvelle biliothèque ("Cinesoft") placée à la racine. J'aimerais installer ces macros sur mon PC perso (ça permetrait à ma femme de me voir un peu plus !). Je me suis dit que cela devait se trouver dans le répertoire User et, effectivement, dans ...user/basic j'ai bien un dossier nommé "Cinesoft", contenant une liste de fichiers correspondant exactement à tous mes modules (par ex. New_devis.xba). J'ai donc fait une copie de ce dossier et je l'ai recopié chez moi dans le répertoire ..user/basic. Malheureusement, quand je lance un document Ooo et que j'ouvre le gestionnaire de macros, je ne trouve nulle trace de cette bibliothèque "Cinesoft" et des macros qu'elle est sencée contenir. Quelle est la bonne marche à suivre ? D'avance merci, Martin
Re: [prog] Ou sont stockées mes macros ?
Merci à tous les deux, ça marche très bien (je savais bien que c'était une question idiote !) Je précise juste, au cas ou je ne serais pas le seul, que dans le dossier situé dans ..user/basic, il y a un fichier "Script.xlb", et que c'est ce fichier qu'il faut sélectionner dans la fonction Ajouter de Outils > Macros > Macros > Gérer > Bibliothèques Martin Bonsoir, Solution manuelle: Il suffit de faire Outils > Macros > Macro > Gérer puis Bibliothèques > Ajouter. tu peux egalement mettre ta bibliotheque dans un fichier sxw par exemple et transporter ce fichier Ainsi ca te permettra de faire des allers retours Une fois achevée, tu pourras transferer ta macro sur le poste voire en faire un addon Cordialement Laurent -- Laurent Godard <[EMAIL PROTECTED]> - Ingénierie OpenOffice.org Indesko >> http://www.indesko.com Nuxeo CPS >> http://www.nuxeo.com - http://www.cps-project.org Livre "Programmation OpenOffice.org", Eyrolles 2004 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Les HORRIBLES constantes !
Bonjour à tous, je craque ! je dois positionner une image dans le coin supérieur gauche d'une page writer ( àl'intérieur des marges ). Pas de pb horizontalement, par contre, verticalement, ça reste toujours en dessous de la marge supérieure. J'ai beau essayer toutes les combinaisons d'ancrage et de positionnement ( absolu ou relatif ), je n'y arrive pas ! Merci de me tuyauter sur les VertOrient, VertOrientRelation et autre AnchorType à adopter pour arriver au résultat voulu. D'avance merci, Martin
Re: [prog] Les HORRIBLES constantes !
Bonjour Bernard, et merci de te pencher une fois de plus sur mes petits problèmes J'ai effectivement consulté cet HowTo ( ainsi que la troisième partie d'un très bon bouquin (-: ). Malheureusement, je n'arrivais pas à placer mon image tout en haut de ma feuille; elle restait toujours sous la marge supérieure. D'ailleurs je ne comprend toujours pas pourquoi mon code ne donnait pas le même résultat : com.sun.star.text.TextContentAnchorType.AT_PAGE MonImage.VertOrient = com.sun.star.text.VertOrientation.TOP MonImage.VertOrientRelation = com.sun.star.text.RelOrientation.PAGE_FRAME MonImage.HoriOrient = com.sun.star.text.HoriOrientation.LEFT MonImage.HoriOrientRelation = com.sun.star.text.RelOrientation.PAGE_LEFT Alors que ça, effectivement , ça fonctionne très bien : With MonImage .AnchorType = com.sun.star.text.TextContentAnchorType.AT_PAGE .VertOrient = com.sun.star.text.VertOrientation.TOP .VertOrientRelation = com.sun.star.text.RelOrientation.PAGE_FRAME .HoriOrient = com.sun.star.text.HoriOrientation.LEFT .HoriOrientRelation = com.sun.star.text.RelOrientation.PAGE_LEFT End With J'avoue que j'aimerais bien comprendre où était mon erreur. Merci, Martin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Les HORRIBLES constantes !
Non mais quel âne je suis !!! com.sun.star.text.TextContentAnchorType.AT_PAGE MonImage.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PAGE et maintenant ça marche. Désolé pour le dérangement, Martin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Cellule dans tableau Writer - Alignement
Bonjour à tous, existe-t-il, pour les cellules d'un tableau Writer, une propriété d'alignement du texte ? si oui , quelle est sa syntaxe. D'avance merci, Martin
[prog] Tableau dans un cadre ?
Bonjour à tous, Est-il possible d'insérer un tableau dans un cadre ? D'avance merci, Martin
Re: [prog] RE : [prog] Cellule dans tableau Writer - Alignement
Bonsoir Michel, Merci pour cette réponse. Je n'ais pas eu encore le temps de la tester, mais cela semble correspondre exactement à mes besoins. Bonne soirée à toi aussi, Martin - Original Message - From: "michel tanguy" <[EMAIL PROTECTED]> To: Sent: Monday, February 28, 2005 7:35 PM Subject: [prog] RE : [prog] Cellule dans tableau Writer - Alignement bonjour Martin j'espere que cet exemple répondra à ta demande 'action dans la 1ere cellule de la 1ere table oTable = ThisComponent.getTextTables().getByIndex(0) cellContent = otable.getCellByName("A1").getText() Cursor = cellContent.createTextCursor() Cursor.paraAdjust = com.sun.star.style.ParagraphAdjust.RIGHT 'Cursor.paraAdjust = com.sun.star.style.ParagraphAdjust.CENTER 'Cursor.paraAdjust = com.sun.star.style.ParagraphAdjust.LEFT Bonne soiree michel existe-t-il, pour les cellules d'un tableau Writer, une propriété d'alignement du texte ? si oui , quelle est sa syntaxe. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Calc - Gestion des macros
Bonsoir Bonjour, Diverses questions se posent a moi a l'usage d'OOo, et pour lesquelles malgre mes recherches je n'ai pas de reponse : ("en vrac"...) 1/ J'ai cree une boîte de dialogue/liste de validation en m'inspirant du travail de B. Montouh, le probleme est que je n'ai pas trouve comment mettre tout simplement un titre a la boîte ? (je n'ai pas vu non plus dans l'ouvrage Programmation OOo) la commande suivante devrait faire ton bonheur : oProjectDialog.Title = "Mon Titre" Sinon, lorsque tu sélectionne ta boite de dialogue ( en cliquant vraiment au bord de celle-ci), tu cliques droit, tu délectionne "propriétés", et tu lui donne un titre. 2/ Un petit probleme semble-t-il avec la gestion des bibliotheques de macros : je cree une nouvelle biblio, avec l'objectif de pouvoir la completer/modifier facilement via l'explorateur - car mon application, qui utilise plusieurs dizaines de macros est installee sur plusieurs postes (le mien et ceux de collegues) et des lors que je modifie les macros sur mon poste je n'ai pas trouve plus rapide ... en tout cas avec MS Excel ça marchait confortablement ... - Le probleme avec OOo est que je suis oblige d'eteindre/rallumer mon poste pour avoir acces a cette nouvelle biblio via l'explorateur ... Et idem si je modifie les macros. Bizarre non ? Là je ne vois pas; chez moi j'ai accès tout de suite à mes macros via l'explorateur (dès lors que je les ais sauvegardées, bien sûr ) 3/ Je n'ai pas trouve une fonctionnalite interessante d'Excel sur OOo, a savoir une macro "autoOpen" - qui s'execute a l'ouverture du seul fichier concerne (et non de chaque fichier Calc ...); sachant que l'execution a l'activation ne m'agree pas tellement ... Tu ouvres ton document et tu fais : Outil \ Macros \ Macro Tu sélectionnes la macro concernée et tu fais : Assigner puis l'onglet Evenement \ Ouvrir un document 4/ Comment faire, si j'ai plusieurs macros "a la suite" dans un module, pour executer "pas a pas" la 2eme ? Systematiquement OOo execute la 1ere et non les suivantes ... Ou dois-je me cantonner a 1 macro par module ? (ça fera bcp de modules !) Je ne suis pas certain de bien comprendre ta question. Pour qu'une macro s'éxécute, il faut qu'elle soit appelée d'une manière ou d'une autre. Si tu souhaites donc éxécuter toutes tes macros les unes à la suite des autres, il faut qu'à la fin de chaque macro tu appelle la suivante. Merci Pas de quoi, la liste est là pour ça; j'espère avoir pu t'aider un peu. PS: comment etre inscrit pour "tester" la version 2.0 ? Jacques Le Moulec A bientôt, Martin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Tableau dans un cadre ?
Bonjour François, Merci de cette réponse, qui me fait bien plaisir. Malheureusement tu te doutes bien que si je pose la question c'est que je n'y arrive pas. )-: Pourrais-tu me donner un exemple de code permettant de faire cela ? J'ai essayé ça, sans succès : MonCadre = MonDocument.createInstance("com.sun.star.drawing.RectangleShape") MonTexte.insertTextContent(Moncurseur, MonCadre, false) MonTableau = MonDocument.createInstance("com.sun.star.text.TextTable") Tableau_total.initialize(3,2) MonTexte = MonCadreText Moncurseur = MonTexte.createTextCursor MonTexte.insertTextContent(Moncurseur, MonTableau, False) je suppose que la dernière ligne n'est pas correcte; mais quoi mettre à la place ? D'avance merci, Martin > Bonjour, > Martin blaizot a écrit : > > Bonjour à tous, > > > > Est-il possible d'insérer un tableau dans un cadre ? > > > Tout à fait possible. > > D'avance merci, > Pas d'quoi. > > > Martin > François GATTO > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Tableau dans un cadre ?
Bonjour Bernard, Merci de ta réponse. Effectivement, avec un cadre ( et non pas un rectangle ) ça marche; ce qui m'amène à la question suivante : Existe-t-il une propriété du genre "CornerRadius" pour les cadres ? (Mon idée étant d'insérer un tableau dans un cadre aux coins arrondis) D'avance merci, Martin - Original Message - From: "Bernard Marcelly" <[EMAIL PROTECTED]> To: Sent: Thursday, March 03, 2005 4:41 PM Subject: Re: [prog] Tableau dans un cadre ? > Le 2005-03-03 15:34, Martin blaizot a écrit : > > Bonjour François, > > > > Merci de cette réponse, qui me fait bien plaisir. Malheureusement tu te > > doutes bien que si je pose la question c'est que je n'y arrive pas. )-: > > Pourrais-tu me donner un exemple de code permettant de faire cela ? > > > > J'ai essayé ça, sans succès : > > > > MonCadre = MonDocument.createInstance("com.sun.star.drawing.RectangleShape") > > MonTexte.insertTextContent(Moncurseur, MonCadre, false) > > MonTableau = MonDocument.createInstance("com.sun.star.text.TextTable") > > Tableau_total.initialize(3,2) > > MonTexte = MonCadreText > > Moncurseur = MonTexte.createTextCursor > > MonTexte.insertTextContent(Moncurseur, MonTableau, False) > > > > je suppose que la dernière ligne n'est pas correcte; mais quoi mettre à la > > place ? > > > A vue de nez la première ligne est incorrecte. Tu cherches à insérer un > rectangle (un dessin) alors que tu souhaites insérer un cadre. Ce sont > deux choses différentes. > > MonCadre = MonDocument.createInstance("com.sun.star.text.TextFrame") > > La ligne MonTexte= est probablement mal recopiée, il manque le point > séparateur. > > Bernard > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Tableau dans un cadre ?
Merci Bernard, En fait j'ai déposé un rectangle par dessus mon tableau, avec les bordures extérieures du tableau transparentes. Bonne soirée, Martin - Original Message - From: "Bernard Marcelly" <[EMAIL PROTECTED]> To: Sent: Monday, March 07, 2005 5:36 PM Subject: Re: [prog] Tableau dans un cadre ? > Le 2005-03-07 15:32, Martin blaizot a écrit : > > Bonjour Bernard, > > > > Merci de ta réponse. > > Effectivement, avec un cadre ( et non pas un rectangle ) ça marche; ce qui > > m'amène à la question suivante : > > > > Existe-t-il une propriété du genre "CornerRadius" pour les cadres ? > > (Mon idée étant d'insérer un tableau dans un cadre aux coins arrondis) > > > Ben non, puisqu'un cadre n'est pas un rectangle... > Tu peux faire l'équivalent en déposant par dessus le cadre un rectangle > arrondi aux dimensions du cadre. Avec un fond transparent pour le rectangle. > Bernard > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] "it contains no valid table"
Bonjour à tous, J'ai un petit souci avec mes connections à mes bases de données. J'ai de façon "apparemment" aléatoire le message suivant : Runtime errorBASIC Exception Type : com.sun.star.sdbc.SQLException Message: The statement is invalid. It contains no valid table.. cela concerne la commande suivante : oStatement.Executeupdate(SQL) Et là, plus moyen d'accéder à ma table, même en passant par F4 dans un autre document. si je ferme Open office (y compris le démarrage rapide) et que je relance l'appli, ma macro fonctionne normalement, jusqu'à la prochaine fois ! Où c'est-y que je m'a gourré ? D'avance merci, Martin
[prog] Editer une table de données
Bonjour à tous, Je suis confronté à un problème de format de nombres. J'ai une variable numérique ( mavariable as double) que je renseigne dans un champ numérique d'une boite de dialogue. La valeur de cette variable est enregistrée dans une BDD (DBASE). Je n'arrive pas a afficher ma variable au bon format, dans un tableau. Je n'obtient qu'un entier arrondi. J'ai donc farfouillé un peu, et je me suis rendu compte que mon champ de base de donnée est défini comme Decimal, mais que le nombre de décimales est à 0. Je n'arrive pas modifier cela : chaque fois que j'édite ma table et que je clique sur la petite disquette pour enregistrer, mon nombre de décimales repasse automatiquement à zéro. Est-ce normal ? Y-a-t-il un moyen de contourner cela ? (je suis sous win2k OOo 1.1.4) D'avance merci, Martin
[prog] editer table
Bonjour à tous, Je suis confronté à un problème de format de nombres. J'ai une variable numérique ( mavariable as double) que je renseigne dans un champ numérique d'une boite de dialogue. La valeur de cette variable est enregistrée dans une BDD (DBASE). Je n'arrive pas a afficher ma variable au bon format, dans un tableau. Je n'obtient qu'un entier arrondi. J'ai donc farfouillé un peu, et je me suis rendu compte que mon champ de base de donnée est défini comme Decimal, mais que le nombre de décimales est à 0. Je n'arrive pas modifier cela : chaque fois que j'édite ma table et que je clique sur la petite disquette pour enregistrer, mon nombre de décimales repasse automatiquement à zéro. Est-ce normal ? Y-a-t-il un moyen de contourner cela ? (je suis sous win2k OOo 1.1.4) D'avance merci, Martin
Re: [prog] Editer une table de données
Désolé pour le doublon, pb de messagerie - Original Message - From: Martin blaizot To: prog@fr.openoffice.org Sent: Tuesday, March 22, 2005 1:21 PM Subject: [prog] Editer une table de données Bonjour à tous, Je suis confronté à un problème de format de nombres. J'ai une variable numérique ( mavariable as double) que je renseigne dans un champ numérique d'une boite de dialogue. La valeur de cette variable est enregistrée dans une BDD (DBASE). Je n'arrive pas a afficher ma variable au bon format, dans un tableau. Je n'obtient qu'un entier arrondi. J'ai donc farfouillé un peu, et je me suis rendu compte que mon champ de base de donnée est défini comme Decimal, mais que le nombre de décimales est à 0. Je n'arrive pas modifier cela : chaque fois que j'édite ma table et que je clique sur la petite disquette pour enregistrer, mon nombre de décimales repasse automatiquement à zéro. Est-ce normal ? Y-a-t-il un moyen de contourner cela ? (je suis sous win2k OOo 1.1.4) D'avance merci, Martin
Re: [prog] editer table
Bonjour Jovial, Ben oui, c'est ça le pb ! c'est que je n'arrive pas à modifier cette valeur par défaut (dans Editer la Table ). Si je crée une nouvelle table en faisant Nouvelle Ebauche de table, pas de problème : je peux modifier le nombre de décimales. C'est sans doute ce que je vais devoir faire si il n'y a pas de solution à mon pb. (mais j'ai une trentaine de champs !!) Amicalement, Martin - Original Message - From: "Jovial" <[EMAIL PROTECTED]> To: Sent: Tuesday, March 22, 2005 2:39 PM Subject: Re: [prog] editer table > Bonjour > Regarde dans l'ébauche de table quand tu cliques sur ton champ le nombre > de décimal ( proprièté champ , par défaut il est de 0) > Jluc > Martin blaizot a écrit : > > > Bonjour à tous, > > > > Je suis confronté à un problème de format de nombres. > > > > J'ai une variable numérique ( mavariable as double) que je renseigne > > dans un champ numérique d'une boite de dialogue. > > La valeur de cette variable est enregistrée dans une BDD (DBASE). Je > > n'arrive pas a afficher ma variable au bon format, dans un tableau. Je > > n'obtient qu'un entier arrondi. J'ai donc farfouillé un peu, et je me > > suis rendu compte que mon champ de base de donnée est défini comme > > Decimal, mais que le nombre de décimales est à 0. Je n'arrive pas > > modifier cela : chaque fois que j'édite ma table et que je clique sur > > la petite disquette pour enregistrer, mon nombre de décimales repasse > > automatiquement à zéro. > > > > Est-ce normal ? > > Y-a-t-il un moyen de contourner cela ? > > > > (je suis sous win2k OOo 1.1.4) > > > > D'avance merci, > > > > Martin > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] editer table
Merci jovial, suite à tes indications, j'ai trouvé ce qui ne marchait pas ! en fait, ma base n'était pas dans le répertoire user de OOo 1.1.4. Je l'ai déplacée dans le bon répertoire, et j'ai pu l'éditer sans problème. Martin - Original Message - From: "Jovial" <[EMAIL PROTECTED]> To: Sent: Tuesday, March 22, 2005 3:43 PM Subject: Re: [prog] editer table > > As tu fait enregistrer après ta modif dans l'ébauche de table,(actualises dans le browers) Tst ce que cela marche si tu affecte une valeur avec le brower(F4), sinon tu peux ouvrir le fichier dBase directement avec calc (sélectionner europe occidentale(window...) par exemple dans le champ prix,N,22,2: 2 est le nbr de décimal Attention si tu enregistres sous Calc, tous les champs passe en majuscule. > > Bonne chance > Jluc > > >>Bonjour > >>Regarde dans l'ébauche de table quand tu cliques sur ton champ le nombre > >>de décimal ( proprièté champ , par défaut il est de 0) > >>Jluc > >>Martin blaizot a écrit : > >> > >> > >> > >>>Bonjour à tous, > >>> > >>>Je suis confronté à un problème de format de nombres. > >>> > >>>J'ai une variable numérique ( mavariable as double) que je renseigne > >>>dans un champ numérique d'une boite de dialogue. > >>>La valeur de cette variable est enregistrée dans une BDD (DBASE). Je > >>>n'arrive pas a afficher ma variable au bon format, dans un tableau. Je > >>>n'obtient qu'un entier arrondi. J'ai donc farfouillé un peu, et je me > >>>suis rendu compte que mon champ de base de donnée est défini comme > >>>Decimal, mais que le nombre de décimales est à 0. Je n'arrive pas > >>>modifier cela : chaque fois que j'édite ma table et que je clique sur > >>>la petite disquette pour enregistrer, mon nombre de décimales repasse > >>>automatiquement à zéro. > >>> > >>>Est-ce normal ? > >>>Y-a-t-il un moyen de contourner cela ? > >>> > >>>(je suis sous win2k OOo 1.1.4) > >>> > >>>D'avance merci, > >>> > >>>Martin > >>> > >>> > >> > >>- > >>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > >> > >> > > > > > >- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] editer table
Par contre, j'ai toujours un PB ! dans ma boite de dialogue, je saisi 150,50 et je retrouve 150,00 dans ma base de donnée (mise à jour par une requète SQL INSERT INTO). Je patauge ! Martin - Original Message - From: "Martin blaizot" <[EMAIL PROTECTED]> To: Sent: Tuesday, March 22, 2005 4:28 PM Subject: Re: [prog] editer table > Merci jovial, > > suite à tes indications, j'ai trouvé ce qui ne marchait pas ! > en fait, ma base n'était pas dans le répertoire user de OOo 1.1.4. Je l'ai > déplacée dans le bon répertoire, et j'ai pu l'éditer sans problème. > > Martin > - Original Message - > From: "Jovial" <[EMAIL PROTECTED]> > To: > Sent: Tuesday, March 22, 2005 3:43 PM > Subject: Re: [prog] editer table > > > > > > As tu fait enregistrer après ta modif dans l'ébauche de table,(actualises > dans le browers) Tst ce que cela marche si tu affecte une valeur avec le > brower(F4), sinon tu peux ouvrir le fichier dBase directement avec calc > (sélectionner europe occidentale(window...) par exemple dans le champ > prix,N,22,2: 2 est le nbr de décimal Attention si tu enregistres sous Calc, > tous les champs passe en majuscule. > > > > Bonne chance > > Jluc > > > > >>Bonjour > > >>Regarde dans l'ébauche de table quand tu cliques sur ton champ le nombre > > >>de décimal ( proprièté champ , par défaut il est de 0) > > >>Jluc > > >>Martin blaizot a écrit : > > >> > > >> > > >> > > >>>Bonjour à tous, > > >>> > > >>>Je suis confronté à un problème de format de nombres. > > >>> > > >>>J'ai une variable numérique ( mavariable as double) que je renseigne > > >>>dans un champ numérique d'une boite de dialogue. > > >>>La valeur de cette variable est enregistrée dans une BDD (DBASE). Je > > >>>n'arrive pas a afficher ma variable au bon format, dans un tableau. Je > > >>>n'obtient qu'un entier arrondi. J'ai donc farfouillé un peu, et je me > > >>>suis rendu compte que mon champ de base de donnée est défini comme > > >>>Decimal, mais que le nombre de décimales est à 0. Je n'arrive pas > > >>>modifier cela : chaque fois que j'édite ma table et que je clique sur > > >>>la petite disquette pour enregistrer, mon nombre de décimales repasse > > >>>automatiquement à zéro. > > >>> > > >>>Est-ce normal ? > > >>>Y-a-t-il un moyen de contourner cela ? > > >>> > > >>>(je suis sous win2k OOo 1.1.4) > > >>> > > >>>D'avance merci, > > >>> > > >>>Martin > > >>> > > >>> > > >> > > >>- > > >>To unsubscribe, e-mail: [EMAIL PROTECTED] > > >>For additional commands, e-mail: [EMAIL PROTECTED] > > >> > > >> > > >> > > >> > > > > > > > > >- > > >To unsubscribe, e-mail: [EMAIL PROTECTED] > > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > > > > > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] editer table
C'est curieux, quand ma base était dans un répertoire D:/MesDocuments/Database , je ne pouvais pas l'éditer (F4, Editer la table). Maintenant que je l'ai placée dans C:/OpenOffice1.1.4/User/Database, je peux. Mais bon, passons. Pour ce qui est de mon code je te livre quelque chose de simplifié : [...] Dim Cout_peage as double Cout_peage = oProjectDialog2.getcontrol("NumericField3").value [...] oDatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext") oDataSource = oDatabaseContext.getByName("Devis") oConnection = oDataSource.GetConnection("","") oMatable = oConnection.Tables.getbyname("Liste") oMesChamps = oMatable.Columns oStatement = oConnection.createStatement() Dim sChamps as string Dim sValeurs as string sChamps = "(ID,cout_peage,[...])" rem : Liste de tous les champs de ma table sValeurs = "VALUES('"& ID_devis &"','"& Cout_peage&"',[...]&"')" rem Liste des variables correspondantes SQL = "INSERT INTO " & oMatable.name & sChamps & sValeurs oStatement.Executeupdate(SQL) si avant d'éxécuter la commande SQL je fais : Print"La valeur saisie est :", Cout_peage je récupère bien la bonne valeur (mettons 12,5) si je fais un print"Macommande SQL est :", SQL c'est bien 12,5 que je vois apparaître dans ma commande SQL, Mais dans ma base, c'est 12,00 qui est inscrit ! Encore merci de te pencher sur mon problème, Martin - Original Message - From: "Jovial" <[EMAIL PROTECTED]> To: Sent: Tuesday, March 22, 2005 6:07 PM Subject: Re: [prog] editer table Ton fichier *.dbf n'a pas besoin d'être dans user, il faut juste qu'il soit déclaré à bonne adresse dans Outil/Source de données Regardes ton type de variable (as single ou as double,je crois pour les virgules) Fourni ton ton code dans ton message cela peut permettre de trouver ce qui colle pas Martin blaizot a écrit : Merci jovial, suite à tes indications, j'ai trouvé ce qui ne marchait pas ! en fait, ma base n'était pas dans le répertoire user de OOo 1.1.4. Je l'ai déplacée dans le bon répertoire, et j'ai pu l'éditer sans problème. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] editer table
Un grand merci à toi Jovial, Effectivement ça marche très bien quand on remplace la virgule par le point . Pour ce qui est du livre, je l'ai déjà acheté. D'ailleurs, suite à ta réponse, j'ai retrouvé cette fonction NombreAnglais à la page 544( je ne suis pas encore arrivé jusque là !); de plus cela m'a permis de trouver aussi la fonction Quote, m'évitant ainsi de poser la question sur le forum. Amicalement, Martin - Original Message - From: "Jovial" <[EMAIL PROTECTED]> To: Sent: Wednesday, March 23, 2005 12:02 AM Subject: Re: [prog] editer table > Martin Blaizot a écrit : > > > C'est curieux, > > > > quand ma base était dans un répertoire D:/MesDocuments/Database , je > > ne pouvais pas l'éditer (F4, Editer la table). Maintenant que je l'ai > > placée dans C:/OpenOffice1.1.4/User/Database, je peux. Mais bon, passons. > > Il te faut créer la source avec Outil/Source de donnée > sélection le > type: dBase et le chemin du fichier, dans l'onglet tables tu peux voir > et édit etr la composition de la table. > > Pour ton histoire de virgule je crois qu'il faut mettre le nombre au > format anglais: 12.5 le séparateur doit être un point > > Si tu veux t'investir sur la programmation OOo je te conseille le livre > de bernard Marcelly au éditions Eyrolles "Programmation OpenOffice" avec > de nombreux exemple sur CD, tu gagneras un temps précieux. > > > Function NombreAnglais(ByVal txtNombre As String) As String > Dim x As Long > > x = Instr(txtNombre, ",") > if x > 0 then Mid(txtNombre, x, 1, ".") > NombreAnglais = txtNombre > End Function > > > [...] > > Dim Cout_peage as double > > Cout_peage = oProjectDialog2.getcontrol("NumericField3").value > > [...] > > > > oDatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext") > > oDataSource = oDatabaseContext.getByName("Devis") > > oConnection = oDataSource.GetConnection("","") > > oMatable = oConnection.Tables.getbyname("Liste") > > oMesChamps = oMatable.Columns > > oStatement = oConnection.createStatement() > > Dim sChamps as string > > Dim sValeurs as string > > sChamps = "(ID,cout_peage,[...])" rem : Liste de tous les champs > > de ma table > > sValeurs = "VALUES('"& ID_devis &"','"& Cout_peage&"',[...]&"')" > > rem Liste des variables correspondantes > > SQL = "INSERT INTO " & oMatable.name & sChamps & sValeurs > > oStatement.Executeupdate(SQL) > > > > si avant d'éxécuter la commande SQL je fais : Print"La valeur saisie > > est :", Cout_peage > > je récupère bien la bonne valeur (mettons 12,5) > > si je fais un print"Macommande SQL est :", SQL > > c'est bien 12,5 que je vois apparaître dans ma commande SQL, > > > > Mais dans ma base, c'est 12,00 qui est inscrit ! > > > > Encore merci de te pencher sur mon problème, > > > > Martin > > > > > > - Original Message - From: "Jovial" <[EMAIL PROTECTED]> > > To: > > Sent: Tuesday, March 22, 2005 6:07 PM > > Subject: Re: [prog] editer table > > > > > >> Ton fichier *.dbf n'a pas besoin d'être dans user, il faut juste > >> qu'il soit déclaré à bonne adresse dans Outil/Source de données > >> Regardes ton type de variable (as single ou as double,je crois pour > >> les virgules) > >> Fourni ton ton code dans ton message cela peut permettre de trouver > >> ce qui colle pas > >> > >> Martin blaizot a écrit : > >> > >>> Merci jovial, > >>> > >>> suite à tes indications, j'ai trouvé ce qui ne marchait pas ! > >>> en fait, ma base n'était pas dans le répertoire user de OOo 1.1.4. > >>> Je l'ai > >>> déplacée dans le bon répertoire, et j'ai pu l'éditer sans problème. > >>> > >>> > >> > >> > >> - > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Format de dates
Bonjour, je te livre ci-dessous le code que j'utilise pour récupérer les infos d'un champ Date dans calc.( Cf p 474 du livre de Bernard Marcelly) Cela doit être assez facilement adaptable à writer . Amicalement, Martin Sub Recup_date Dim MonDocument As Object Dim MaFeuille As Object, MaPage as object, celdes As Object Dim DateField as object Dim moncontrolleur as object Dim lesFormulaires as object, monformulaire as object Dim monCtrl as object MonDocument = ThisComponent moncontroleur = MonDocument.CurrentController MaFeuille = MonDocument.Sheets(0) MaPage = MaFeuille.DrawPage lesFormulaires = MaPage.Forms monformulaire = lesFormulaires.getByName("FM1") monCtrl = monformulaire.getByName("DateField1") Celdes = MaFeuille.getCellByPosition (3,11) Dim madate as date madate = ConvDate(monCtrl.date) Celdes.value = madate End Sub REM Public Sub ConvDate (Byval Dat as string) As string dim temp as string if Dat=0 then temp="" else temp= Right(Dat,2)+ "/" + Mid(Dat,5,2)+ "/" + Left(Dat,4) end if ConvDate=temp End Sub - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] problème d'accès à mes bases de données
Bonjour à tous, Je repost ici un message que j'avais posté il y a quelque temps et qui n'avait pas eu de message. J'espérais que le passage à Ooo1.1.4 solutionnerait mon problème, mais ce n'est pas le cas. J'ai un petit souci avec mes connections à mes bases de données. J'ai de façon "apparemment" aléatoire le message suivant : Runtime errorBASIC Exception Type : com.sun.star.sdbc.SQLException Message: The statement is invalid. It contains no valid table.. cela concerne la commande suivante : oStatement.Executeupdate(SQL) Et là, plus moyen d'accéder à ma table, même en passant par F4 dans un autre document. si je ferme Open office (y compris le démarrage rapide) et que je relance l'appli, ma macro fonctionne normalement, jusqu'à la prochaine fois ! Où c'est-y que je m'a gourré ? D'avance merci, Martin
Re: [prog] problème d'accès à mes bases de données
Une petite précision : il semble que ce soit toujours la même table qui pose problème. Martin
Re: [prog] problème d'accès à mes bases de données
Bonjour, > Alors si tu es sous MySQL, regarde le format de tes tables. > Sinon, peut-être que ma remarque imprécise éveillera des souvenirs aux > autres... Je ne suis pas sous MySQL; il s'agit de bases DBF., mais merci quand même. Je pensais plutôt à un truc du genre : je ne libère pas correctement mes ressources et à un moment, à force de faire des tests sur ma petite appli, ça bloque. Est-ce que je dis des bétises, ou est-ce que c'est possible ? si oui, quelle est la bonne méthode pour libérer correctement les ressources? Merci, Martin. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Saut de page
Bonjour à tous, je m'épuise depuis ce matin sur l'insertion d'un saut de page dans un document. J'ai repris le code de la page 192 du livre de Bernard : [...] Visual_devis.create_doc(TRUE) *REM* la fonction create_doc du module Visual_devis est reproduite ci-dessous Dim Moncurseur as object Dim MonTexte as object Dim saut as integer Mondocument = ThisComponent MonTexte = Mondocument.Text Moncurseur = MonTexte.createTextCursor MonTexte.insertString(Moncurseur, "La Terre est bleue ", False) Moncurseur.gotoNextParagraph(False) saut = com.sun.star.style.BreakType.PAGE_BEFORE Moncurseur.breakType = saut MonTexte.insertString(Moncurseur, "Comme une orange", False) Public function create_doc( _visible as boolean )Dim propFich(0) as New com.sun.star.beans.PropertyValue propFich(0).Name = "Hidden"If _visible = true then propFich(0).value = FALSEElse propFich(0).value = TRUEEnd ifadresseDoc = "private:factory/swriter" MonDocument = StarDesktop.LoadComponentFromURL(adresseDoc,"_blank", 0, propFich())End function Et j'obtient comme résultat : La Terre est bleueComme une orange sur la première ligne de mon nouveau document qui ne contient toujours qu'une seule page. Help, je craque ! D'avance merci, Martin
Re: [prog] Saut de page
Bonjour Laurent, > il te faut inserer un saut de paragraphe avant le saut de page cr un > document vierge ne contient qu'un seul paragraphe Merci infiniment ! ça fait du bien de pouvoir passer à autre chose ! C'est fou le temps qu'on peut passer sur ce genre de chose . > Je pense que ca vaut un errata afin de tenir compte de ce cas > particulier dans l'exemple. Je le publie des que possible (probablement > dans le week end) > http://oooconv.free.fr/livre/errata.html > Merci pour ceux qui viendront après moi ! Amicalement, Martin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Runtime error Basic
Bonjour à tous, Je rencontre souvent le message suivant : Runtime error BASIC. Exception Type : com.sun.star.lang.DisposedException Message : . Cela se produit lorsque je clique sur un bouton dans une de mes boite de dialogue (Pas toujours le même bouton, pas toujours la même boîte). Ce qui est étrange c'est que, si je clique sur OK (dans le message d'erreur) et que je reclique aussitôt sur mon bouton, tout marche très bien. Quelqu'un peut-il me dire à quoi est du ce type de message ? D'avance merci, Martin
Re: [prog] Runtime error Basic
Bonsoir Bernard, et merci de ta réponse. Cela signifie-t-il qu'il ne faut pas utiliser l'instruction Dlg.Dispose() ? J'avais cru comprendre que ce n'était pas nécessaire, mais que c'était plus "propre". Amicalement, Martin - Original Message - From: "Bernard Marcelly" <[EMAIL PROTECTED]> To: Sent: Tuesday, April 19, 2005 8:07 PM Subject: Re: [prog] Runtime error Basic Le 2005-04-19 18:41, Martin blaizot a écrit : Je rencontre souvent le message suivant : Runtime error BASIC. Exception Type : com.sun.star.lang.DisposedException Message : . Cela se produit lorsque je clique sur un bouton dans une de mes boite de dialogue (Pas toujours le même bouton, pas toujours la même boîte). Ce qui est étrange c'est que, si je clique sur OK (dans le message d'erreur) et que je reclique aussitôt sur mon bouton, tout marche très bien. Quelqu'un peut-il me dire à quoi est du ce type de message ? Ce doit être une erreur dans ta gestion du dialogue. Ton bouton déclenche probablement une routine qui emploie un objet qui n'est plus accessible à cet instant. La doc API dit : exception DisposedException This exception occurs if the object behind this interface has been disposed before and can't uphold its method specification anymore. Bernard - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Vecteur comme argument ?
Bonjour à tous, Est-il possible de passer un vecteur comme argument d'une macro ? Mon pb est le suivant : Dans un module, j'ouvre une boite de dialogue où je récupère de 1 à 8 intitulés de matériel. j'ai donc un vecteur : Dim materiel(7) as string Je souhaite récupérer ces intitulés dans un autre module. Plutôt que d'utiliser une variable publique, je souhaiterais appeler une macro avec ces intitulés en argument. du genre : Sub MaMacro(materiel(0) as string, materiel(1) as string, ). Mais apparemment ça ne fonctionne pas. Comment faire ? D'avance merci, Martin
Re: [prog] Vecteur comme argument ?
Pas la peine de me répondre, j'ai résolu mon problème. Merci
Re: [prog] Vecteur comme argument ?
Bonjour François, Désolé; compte tenu de mon faible niveau (très débutant) je ne pensais pas que cela était susceptible d'intéresser quelqu'un ! En fait je suis passé par une nouvelle table "provisoire". cela mérite quelques explications : Il s'agit d'une petite appli ( lancée par un BATCH; donc pas de doc en cours) me permettant de gérer, mes devis, mes factures, mes clients etc ... dans mon module1, j'ouvre une première boite dialogue, Dlg1 (dans laquelle je saisi toute une série d'infos pour la création d'un devis). Dans cette boite, j'ai un bouton qui appelle une autre boite, Dlg2. Cette boite Dlg2 est "gérée" dans un autre module. (J'aurais pu tout coder dans le même module, mais j'ai tendance à séparer tout de manière à ne pas avoir de modules trop long, pour m'y retrouver plus facilement) Cette Dlg2 contient 8 ListBox (chacune contenant la même liste de matériel stockée dans une table DBF) avec en face des champs numériques pour saisir des quantités et des prix. Si le devis est validé, les données saisies dans cette boite vont être stockées dans une table "Matériel supplémentaire". Mais quand je ferme ma Dlg2 par OK, je ne sais pas encore si le devis sera validé tel quel, ou si je viendrais modifier ces enregistrements. Il fallait donc que je conserve le contenu de ces variables dans un petit coin, pour pouvoir éventuellement revenir les modifier avant de les enregistrer dans ma table. J'ai donc créé une nouvelle table (Matériel supplémentaire provisoire) que je vide à la validation du devis. Voilà, je ne suis pas certain d'avoir été très clair, désolé. Amicalement, Martin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Resultset non nul pour une table vide
Bonjour à tous, je crois que je suis un peu fatigué ! le truc suivant est en train de me rendre fou : J'ai une table qui ne contient aucun enregistrement (table "Provisoire" de la base "Matériel") avec le code suivant, DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")DataSource = DatabaseContext.getByName("Materiel")Connection = DataSource.GetConnection("","")Matable = Connection.Tables.getbyname("Provisoire")Statement = Connection.createStatement()Resultset = Statement.executeQuery("SELECT * FROM "& Matable.name &"")If Not IsNull(Resultset) Then Resultset.first Print"le libellé de mon premier champ est : ",Resultset.getString(1) End if Il me trouve un enregistrement alors que ma table est vide !!! Je ne comprend plus; ça devrait pourtant être évident, mais là je fatigue; si une âme charitable pouvait m'éclairer ! D'avance merci, Martin
Re: [prog] Resultset non nul pour une table vide
Bonsoir Bernard, Désolé, mais je ne comprend pas ta réponse. quand je fais : Print"le libellé de mon premier champ est : ",Resultset.getString(1) c'est bien le résultat que je teste, non ? et j'obtient un texte du genre "Matériel sup n° n", alors que ce matériel n'est pas présent dans le champ n°1 de ma table. Merci, Martin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Alignement vertical du contenu d'une cellule
Bonjour à tous, Dans un document writer, quel est la propriété qui permet de régler l'alignement vertical du contenu d'une cellule d'un tableau. J'ai essayé la propriété VertJustify ( comme dans un document calc ) mais ça ne marche pas et je ne trouve pas dans le livre les propriétés d'alignement vertical pour un curseur d'écriture. D'avance merci, Martin
Re: [prog] Alignement vertical du contenu d'une cellule
Merci Bernard, tant pis pour moi ! Martin - Original Message - From: "Bernard Marcelly" <[EMAIL PROTECTED]> To: Sent: Monday, September 19, 2005 3:32 PM Subject: Re: [prog] Alignement vertical du contenu d'une cellule Bonjour Martin Blaizot, Message du 2005-09-19 11:10: Bonjour à tous, Dans un document writer, quel est la propriété qui permet de régler l'alignement vertical du contenu d'une cellule d'un tableau. J'ai essayé la propriété VertJustify ( comme dans un document calc ) mais ça ne marche pas et je ne trouve pas dans le livre les propriétés d'alignement vertical pour un curseur d'écriture. D'avance merci, Martin Ce genre de propriété (HoriJustify, VertJustify) n'existe pas dans l'API pour un tableau Writer. Une liste exhaustive est précisée dans le SDK 1.9.113 à la page du service com.sun.star.text.Cell (qui n'est pas documenté en 1.1). Bonne journée Bernard - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Assignation du nombre de décimales d'un champ
Bonjour à tous, Je dois créer une table par macro. Celle-ci contient 2 champs de type DECIMAL qui doivent accepter 6 chiffres après la virgule. En suivant ce qui est décrit page 534 et 535 du livre de Bernard, j'ai écris : descrTable = lesTables.createDataDescriptordescrTable.Name = "Polygone_"&Pays 'où pays est une variable initialisée précédemmentdescrCol = descrTable.columns.createDataDescriptordescrCol.Name = "Latitude"descrCol.type = com.sun.star.sdbc.DataType.DOUBLEdescrCol.Precision = 6descrTable.Columns.appendByDescriptor(descrCol) descrCol = descrTable.columns.createDataDescriptordescrCol.Name = "Longitude"descrCol.type = com.sun.star.sdbc.DataType.DOUBLEdescrCol.Precision = 6descrTable.Columns.appendByDescriptor(descrCol) lesTables.appendByDescriptor(descrTable) Le problème c'est que j'obtiens des champs de type décimal, mais avec 0 chiffres après la virgule. J'ai essayé en remplaçant DOUBLE par DECIMAL dans le code ci-dessus; j'obtiens la même chose. Où est-ce que j'ai faux ? D'avance merci, Martin
Re: [prog] Point d'insertion dans cadre par macro ?
Bonjour Serge J'sus pas sûr de pas être à côté de la plaque, mais bon. Supposons que j'écrive bien à un forum où on s'entraide à programmer dans OpenOffice 2.0. Heu, oui c'est bien le but de ce forum D'abord, merci à ceux qui ont fait tout le boulot. OpenOffice me semble représenter une grande idée. J'espère y participer un jour, peut-être pour rédiger de la doc si on me dit précisément ce qu'il faudrait faire. Donc supposons que je ne me sois pas trompé. Sinon, mille excuses. Voilà mon questionnement : je crée par macro un cadre (une frame). Et je veux coller là-dedans le contenu du presse papier ou quoi que ce soit, par macro toujours, dans la foulée. Comment mettre le point d'insertion dans le cadre ? (à la main ça se fait par Enter, mais quand on envoie chr$(13) ça ne le fait pas). Voilà, c'était ça. Cordialement, Serge Potteck Tu ne nous a pas précisé dans quel type de document tu insérait ton cadre, mais je te joins ci-dessous un petit bout de code qui me sert à intégrer du texte dans un cadre (dans un document writer) en utilisant les curseurs de texte : Dim MonCadre2 as object MonCadre2 = MonDocument.createInstance("com.sun.star.drawing.RectangleShape") 'création du cadre Taille1.Width = 2000 Taille1.Height = 500 With MonCadre2 .LineStyle = com.sun.star.drawing.LineStyle.NONE .FillColor = RGB (255,255,255) .AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH .VertOrient = com.sun.star.text.VertOrientation.NONE .VertOrientPosition = 1230 .HoriOrient = com.sun.star.text.HoriOrientation.NONE .HoriOrientPosition = 11200 .Size = Taille1 End With MonTexte = MonDocument.Text Moncurseur = MonTexte.createTextCursor MonTexte.insertTextContent(Moncurseur, MonCadre2, false) 'affichage du cadre MonTexte = MonCadre2.text 'écriture du texte dans le cadre Moncurseur = MonTexte.createTextCursor Moncurseur.CharWeight = com.sun.star.awt.FontWeight.BOLD Moncurseur.CharPosture = com.sun.star.awt.FontSlant.ITALIC MonTexte.insertString(Moncurseur, "Client",False) En espérant que cela t'aidera. Martin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Assignation du nombre de décimales d'un c hamp
Merci Bernard, c'est exactement ce que je cherchais. Je dois créer une table par macro. Celle-ci contient 2 champs de type DECIMAL qui doivent accepter 6 chiffres après la virgule. Le problème c'est que j'obtiens des champs de type décimal, mais avec 0 chiffres après la virgule. D'après com.sun.star.sdbcx.ColumnDescriptor : descrCol.Precision = 10 ' nombre total de chiffres de la colonne descrCol.Scale = 6 ' nombre de chiffres après la virgule - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] temporisation
Bonjour à tous, J'ai une boîte de dialogue avec beaucoup de list box à remplir; j'ai donc une fonction Fill_listBox que j'appelle plusieurs fois de suite pour remplir mes list box. (cette fonction fait appel à deux autres fonctions : ConnecterSource() puis DeconnecterSource() reprise dans le livre de bernard, avec en argument la base et la table souhaitées) J'obtient très régulièrement des messages d'erreur du type Disposed Exception concernant l'objet omaConnexion. Si par contre je place un "wait 1000" entre chaque instruction Fill_listBox, je n'ai plus ces messages d'erreur. Il semble donc que j'essaie d'ouvrir une connexion avant que la précédente ne soit fermée; existe-t-il un moyen de tester l'état de ma connection afin de remplacer mon wait par quelque qui voudrait dire : "wait while omaConnexion is not closed" D'avance merci, Martin
Re: [prog] temporisation
Bonjour Bernard, et merci de ta réponse. Voici quelques précisions : Ma fonction Fill_ListBox a les paramètres suivants : Fill_listBox(oMaListBox as object, sMaBase as String, sMaTable as String, sMonChamp as string, iMonIndex as Integer, sMonChamp_tri as string) et fait ensuite appel à la fonction ConnecterSource(sMaBase,sMatable). Puis je remplis ma List box avant de me déconnecter par la fonction DeconnecterSource(). Dans ma boite de dialogue, j'ai une dizaine de list Box à remplir, chacune attaquant une table différente. Je n'ai aucun évènement assigné aux controles ListBox. Je me contente de les remplir les uns après les autres par le biais de ma fonction Fill_listBox() avant de récupérer les enregistrements sélectionnés par l'utilisateur. Quel est ton conseil ? D'avance merci, Martin > Message du 19/01/06 21:18> De : "Bernard Marcelly" <[EMAIL PROTECTED]>> A : prog@fr.openoffice.org> Copie à : > Objet : Re: [prog] temporisation> > Bonjour Martin Blaizot> Message du 2006-01-19 14:52:> > Bonjour à tous,> > > > J'ai une boîte de dialogue avec beaucoup de list box à remplir; j'ai donc une fonction Fill_listBox que j'appelle plusieurs fois de suite pour remplir mes list box. (cette fonction fait appel à deux autres fonctions : ConnecterSource() puis DeconnecterSource() reprise dans le livre de bernard, avec en argument la base et la table souhaitées)> > J'obtient très régulièrement des messages d'erreur du type Disposed Exception concernant l'objet omaConnexion.> > Si par contre je place un "wait 1000" entre chaque instruction Fill_listBox, je n'ai plus ces messages d'erreur.> > > > Il semble donc que j'essaie d'ouvrir une connexion avant que la précédente ne soit fermée; existe-t-il un moyen de tester l'état de ma connection afin de remplacer > mon wait par quelque qui voudrait dire : "wait while omaConnexion is not > closed"> > > J'ai l'impression que ton programme demande une déconnexion sur une > source déjà déconnectée.> Il est probable que ton travail n'est pas totalement séquentiel, sans > doute à cause des traitements d'évènements, et qu'il existe plusieurs > endroits qui demandent une déconnexion de la source.> > Plutôt que d'attendre il vaudrait mieux, soit éviter des > fermeture/réouverture de connexion, soit mieux gérer les évènements. Je > pense qu'il suffit d'ouvrir la connexion au début du dialogue et la > fermer à la fermeture du dialogue. Ce sera d'ailleurs moins lourd pour > le système.> > Bernard> > > -> To unsubscribe, e-mail: [EMAIL PROTECTED]> For additional commands, e-mail: [EMAIL PROTECTED]> > >
Re: [prog] temporisation
Merci pour cette réponse très précise, qui, compte tenu de mes médiocres compétences, reste un peu difficile à comprendre pour moi; dès que j'ai un moment je penche là dessus. Encore merci, Martin > Message du 20/01/06 11:35> De : "Alex Thurgood" <[EMAIL PROTECTED]>> A : prog@fr.openoffice.org> Copie à : > Objet : Re: [prog] temporisation> > Le jeudi 19 janvier 2006 à 14:52 +0100, Martin Blaizot a écrit :> > Bonjour,> > > Il semble donc que j'essaie d'ouvrir une connexion avant que la> > précédente ne soit fermée; existe-t-il un moyen de tester l'état de ma> > connection afin de remplacer mon wait par quelque qui voudrait dire :> > "wait while omaConnexion is not closed"> > > > Au lieu de te déconnecter de la base chaque fois, tu pourrais instancier> le pooling des connexions, ou passer par le RowSet existant.> Traduction de l'API (ma cuvée) :> > > Regroupement des Connexions> Dans une implémentation de base, il existe une relation de 1:1 entre> l'objet com.sun.star.sdb.Connection utilisé par l'application cliente> et la connexion physique à la base de données. Lorsque l'objet> Connection est fermé la connexion physique est abandonnée, et ainsi la> charge mémoire de la réouverture, réinitialisation, et fermeture pour la> connexion physique se présente pour chaque nouvelle session cliente. Un> pool ou regroupement de connexions résoud de problème en maintenant dans> un cache une liste de connexions physiques de bdd qui peuvent être> réutiliséesà travers plusieurs sessions clientes. Le regroupement de> connexions améliore la performance et la mise à l'échelle, en> particulier dans un environnement à trois étages où de clients multiples> peuvent partager un plus petit nombre de connexions physiques aux bdd.> Dans l'API OpenOffice.org, le regroupement de connexions fait partie> d'un service spécial appelé ConnectionPool. Ce service gère les> connexions physiques nouvellement créées et réutilise celles qui> existent déjà même lorsqu'elles ne sont plus en utilisation actuelle. > > L'algorithme utilisé pour gérer le regroupement de connexions est> spécifique à une implémentation donnée et donc varie entre les> différents serveurs d'applications. Le serveur d'applications fournit> ses clients avec une implémentation de l'interface> com.sun.star.sdbc.XPooledConnection , rendant le regroupement> transparent au client. Il en résulte que le client ne subit pas les> impacts négatifs sur la performance et la mise à l'échelle. Lorsqu'une> application a terminé son utilisation d'une connexion, elle ferme la> connexion logique par le biais de close() au niveau de l'interface de> connexion com.sun.star.sdbc.XConnection. Cette opération ferme la> connexion logique, mais garde ouverte la connexion physique. La> connexion physique est ainsi remise dans le regroupement de manière à> pouvoir être réutilisée. Le regroupement de connexions est complètement> transparent pour le client: un client obtient une connexion regroupée> depuis le service com.sun.star.sdbc.ConnectionPool après appel de> getConnectionWithInfo() au niveau de l'interface> com.sun.star.sdbc.XDriverManager et l'utilise exactement de la même> manière qu'une connexion non-regroupée.> > Les étapes suivantes souligne ce qui se passe lorsqu'un client SDBC> demande une connexion à l'objet ConnectionPool :> > 1. Le client obtient une instance de> com.sun.star.sdbc.ConnectionPool depuis le gestionnaire de> service global et fait appel aux mêmes méthodes à l'objet> ConnectionPool que pour le gestionnaire de pilotes> DriverManager. > > 2. Le serveur d'applications qui fournit l'implémentation> ConnectionPool vérifie son regroupement de connexions pour> l'existence d'un objet PooledConnection approprié, c'est-à-dire> une connexion physque à une bdd, et qui est disponible. La> détermination de la disponibilité d'un tel objet> PooledConnection implique de comparer les informations de> l'authentification utilisateur ou type d'application, ainsi que> d'autres critères spécifiques à l'implémentation choisie. La> méthode de recherche et d'autres méthodes associées à la gestion> du regroupement de connexion sont spécifiques au serveur> d'applications.> > 3. S'il n'existe aucun objet PooledConnection approprié> disponible, le serveur d'applications génère une nouvelle> connexion physique et renvoie un objet PooledConnection. Le> ConnectionPool n'est pas dépendant d'un quelconque pilote, mais> est implémenté par un service appelé> com.sun.star.sdbc.ConnectionPool.> >
Re: [prog] temporisation
Merci Bernard. En fait il n'y a qu'une seule base; il faut donc que je revoie le fonctionnement de ma fonction Fill_listBox, ce qui ne doit pas être trop compliqué; En fait je pensais qu'il fallait fermer la connexion avant de pouvoir attaquer une autre table ! Merci donc encore pour tes conseils, je crois que cela va bien me simplifier la vie. Martin > Message du 20/01/06 15:16> De : "Bernard Marcelly" <[EMAIL PROTECTED]>> A : prog@fr.openoffice.org> Copie à : > Objet : Re: [prog] temporisation> > Bonjour Martin BLAIZOT> Message du 2006-01-20 12:25:> > Bonjour Bernard, et merci de ta réponse. Voici quelques précisions :> > Ma fonction Fill_ListBox a les paramètres suivants :> > Fill_listBox(oMaListBox as object, sMaBase as String, sMaTable as String, sMonChamp as string, iMonIndex as Integer, sMonChamp_tri as string)> > et fait ensuite appel à la fonction ConnecterSource(sMaBase,sMatable). Puis je remplis ma List box avant de me déconnecter par la fonction DeconnecterSource().> > Dans ma boite de dialogue, j'ai une dizaine de list Box à remplir, chacune attaquant une table différente. Je n'ai aucun évènement assigné aux controles ListBox. Je me contente de les remplir les uns après les autres par le biais de ma fonction Fill_listBox() avant de récupérer les enregistrements sélectionnés par l'utilisateur.> > Quel est ton conseil ?> > Le même que précédemment. Je pense que tu as une seule base, qui > contient tes tables. Ouvre la connexion de la base, remplis tes listbox, > récupère les enregistrements choisis, ferme la connexion.> S'il y a 2 ou 3 bases, faire pareil: ouvrir les n connexions à la fois > (avec une variable de connexion pour chacune).> Si tu as une dizaine de bases, l'ensemble est probablement mal conçu et > devrait être revu. Une seule base peut contenir des dizaines de tables.> Bernard> > -> To unsubscribe, e-mail: [EMAIL PROTECTED]> For additional commands, e-mail: [EMAIL PROTECTED]> > >
Re: [prog] ouverture de doc
Bonjour, Est-ce que la solution ne serait pas d'ouvrir le document mais sans qu'il soit visible ( propriété "Hidden" de propFich ) ? Amicalement, Martin - Original Message - From: "Sebastien Remy" <[EMAIL PROTECTED]> To: Sent: Wednesday, June 07, 2006 10:37 AM Subject: [prog] ouverture de doc bonjour à tous, j'ai programmé une macro qui ouvre un fichier et manipule les données. Cette première macro en appelle une autre, qui utilise aussi ce même fichier. Mais le problème, c'est que je ne veux pas ouvrir une deuxième fois le doc, et si je ne l'ouvre pas une deuxième fois, il n'est pas reconnu, même si ma déclaration est globale. Quelqu'un peut-il m'expliquer ce que je peux faire ? (j'ai copier ci-dessous une partie des macros) option explicit global entree as object Sub Validation entree = StarDesktop.LoadComponentFromURL(ConvertToURL("Z:\SIME\SIME\entrees.ods"), "_blank", 0, prop) Calc1 = StarDesktop.LoadComponentFromURL(ConvertToURL("Z:\SIME\SIME\calc1.ods"), "_blank", 0, prop) cellule = entree.sheets(3).GetCellByPosition(0,cellule.CellAddress.row -1) if cellule.Value = 0 then for i = 1 to n-1 entree.sheets(3).GetCellByPosition(2,i+3).Value = Calc1.sheets(0).GetCellByPosition(1,i+1).Value entree.sheets(3).GetCellByPosition(0,i+3).Value = Calc1.sheets(0).GetCellByPosition(0,i+1).Value entree.sheets(3).GetCellByPosition(1,i+3).Value = CDateToIso(date) entree.sheets(3).GetCellByPosition(11,i+3).Value = Calc1.sheets(0).GetCellByPosition(9,i+1).Value semaine(entree.sheets(3).GetCellByPosition(0,i+3)) next end sub option explicit Sub semaine (cellule as object) for i = 1 to n if entree.sheets(3).GetCellByPosition(0,cellule.CellAddress.row).Value = entree.sheets(1).GetCellByPosition(0,i).Value then sortie.sheets(0).GetCellByPosition(1,cellule.CellAddress.row-1).String = entree.sheets(1).GetCellByPosition(1,i).String nbeleve = entree.sheets(1).GetCellByPosition(3,i).Value shon = entree.sheets(1).GetCellByPosition(4,i).Value shob = entree.sheets(1).GetCellByPosition(5,i).Value exit for end if next - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Fwd: propriete "hidden"
Bonjour, J'utilise la la macro suivante pour créer des documents "visibles" ou non; peut-être cela t'aidera-t-il Public function create_doc( _visible as boolean ) Dim propFich(0) as New com.sun.star.beans.PropertyValue 'l'index (0) permet d'indiquer que la variable propFich ' à une propriété particulière, qu'on définit ensuite par son nom (ici" Hidden") et par sa valeur (ici, TRUE) propFich(0).Name = "Hidden" If _visible = true then propFich(0).value = FALSE Else propFich(0).value = TRUE End if adresseDoc = "private:factory/swriter" 'convention pour indiquer un nouveau document writer MonDocument = StarDesktop.LoadComponentFromURL(adresseDoc,"_blank", 0, propFich()) End function Amicalement, Martin - Original Message - From: "Fab" <[EMAIL PROTECTED]> To: Sent: Sunday, June 11, 2006 6:14 PM Subject: [prog] Fwd: propriete "hidden" Bonjour, Dans une macro, je suis amené à ouvrir un certain nombres de fichiers Writer pour y chercher des informations (comme l'auteur par exemple) avant des les refermer. J'aimerais bien que cette manipulation soir transparente, c'est-à-dire qu'on ne voit pas les fichiers s'ouvrir, surtout que l'affichage systématique de fenêtre ralenti la procédure. Pour cela, je pensais la propriété "hidden" de l'instruction "loadComponentFromURL", c'est-à-dire que je tape: StarDesktop.loadComponentFromURL("nom_du_fichier.odt", "_hidden", 0, arg(0)) Mais ça ne marche pas. La fenêtre s'affiche. J'ai aussi essayé avec avec l'objet "dispatcher" en avec les paramètres suivants: dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") args(0).Name = "URL" args(0).Value = url args1(1).Name = "hidden" args1(1).Value = True et en appelant dispatcher.executeDispatch(document, ".uno:open", "", 0, args1(1)) mais ça ne marche pas d'avantage. J'ai l'impression d'avoir tout essayé dans tous les sens, d'avoir cherché un peu partout, mais impossible d'ouvrir un fenêtre sans qu'elle s'affiche. Quelqu'un aurait-il une idée? Merci beaucoup, Fabien. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Fwd: propriete "hidden"
Bonjour Fab, Oui, chez moi ça fonctionne très bien. C'est une fonction que j'utilise fréquemment. bon courage, Martin - Original Message - From: "Fab" <[EMAIL PROTECTED]> To: Sent: Monday, June 12, 2006 5:22 AM Subject: Re: [prog] Fwd: propriete "hidden" Martin Blaizot a écrit : Bonjour, J'utilise la la macro suivante pour créer des documents "visibles" ou non; peut-être cela t'aidera-t-il Public function create_doc( _visible as boolean ) Dim propFich(0) as New com.sun.star.beans.PropertyValue 'l'index (0) permet d'indiquer que la variable propFich ' à une propriété particulière, qu'on définit ensuite par son nom (ici" Hidden") et par sa valeur (ici, TRUE) propFich(0).Name = "Hidden" If _visible = true then propFich(0).value = FALSE Else propFich(0).value = TRUE End if adresseDoc = "private:factory/swriter" 'convention pour indiquer un nouveau document writer MonDocument = StarDesktop.LoadComponentFromURL(adresseDoc,"_blank", 0, propFich()) End function Bonjour, ça fait parti des nombreuses méthodes que j'ai essayées, mais sans résultat. Ca marche chez vous? Je veux dire, quand vous ouvrez un fichier avec la valeur "true" à propriété "hidden", il n'apparaît pas? Chez moi, que je mette les valeurs "true" ou "false" à "hidden", je ne vois aucune différence. Merci pour votre aide, Fabien. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] où sont passées mes macros ?
Bonjour à tous, Je copie sur cette liste le message que j'ai posté sur Users car je ne sais pas trop quelle liste est concernée; désolé pour le doublon . Je n'arrive plus à lancer mes macros ( OOo 1.4 sous win XP ) ! tout allais bien jusqu'à hier soir, et ce matin, plus moyen de relancer ma macro préférée ni par le raccourci que j'avais placé sur mon bureau, ni depuis un document OOo : outils / Macro : ma bibliothèque est vide ! ( alors que dans l'explorateur windows : C/programes files /users/ Basic ... tous les fichiers sont là ! J'ai tenté une réparation d'OOo mais rien n'y fait. Une idée ? D'avance merci, Martin
Re: [prog] où sont passées mes macros ?
Bonjour Bernard, et merci de ta réponse rapide. Ben justement non, je n'ai absolument rien bidouillé entre hier soir et ce matin. Je vais essayer de remplacer le dossier basic à partir de ma dernière sauvegarde. Je vous tiens au courant. Bien cordialement, Martin - Original Message - From: "Bernard Marcelly" <[EMAIL PROTECTED]> To: Sent: Friday, October 05, 2007 4:39 PM Subject: Re: [prog] où sont passées mes macros ? Message de Martin Blaizot date 2007-10-05 16:04 : Bonjour à tous, Je copie sur cette liste le message que j'ai posté sur Users car je ne sais pas trop quelle liste est concernée; désolé pour le doublon . Je n'arrive plus à lancer mes macros ( OOo 1.4 sous win XP ) ! tout allais bien jusqu'à hier soir, et ce matin, plus moyen de relancer ma macro préférée ni par le raccourci que j'avais placé sur mon bureau, ni depuis un document OOo : outils / Macro : ma bibliothèque est vide ! ( alors que dans l'explorateur windows : C/programes files /users/ Basic ... tous les fichiers sont là ! Et qu'as-tu fait entre hier soir et ce matin ? (concernant OpenOffice, bien sûr). Probable : un bidouillage de user/script.xlc Tu peux recopier la branche user/basic depuis ta dernière sauvegarde (bien sûr, tu as fait des sauvegardes de toute la branche user/ ) __ Bernard - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] où sont passées mes macros ?
Merci Bernard, ça à marché. Je ne sais toujours pas ce qui s'était passé, mais la restauration du répertoire " Basic " à résolu le problème. Encore merci, Martin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Migrer vers OOo 2.4
Bonjour à tous, Je suis un peu perdu. Anciennement sous 1.1.4, je viens d'installer OOo 2.4 et je voudrais bien pouvoir utiliser ma macro préférée. où puis-je trouver de la doc sur la procédure à suivre pour faire cette migration ( dans quel répertoire copier mes bases, mes scripts ... )? D'avance merci, Martin
Re: [prog] Migrer vers OOo 2.4
oups, Désolé pour la demande d'accusé de réception. Martin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Migrer vers OOo 2.4
Bonsoir, et merci de me répondre. En effet, et c'est ce que j'ai fait; cependant je n'ai pas accès à ma macro. J'arrive à voir les boîtes de dialogue, mais pas les scripts. encore merci, Martin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] ma Bibliothèque à " Disparu "
Bonjour à tous, Mon appli préférée Bug depuis hier soir. L'instruction suivante DialogLibraries.LoadLibrary( "Cinesoft" )provoque le message d'erreur : Type: com.sun.star.container.NoSuchElementException Je n'ai absolument rien changé; un jour cela marchait, le lendemain pas. Ma bibliothèque " Cinesoft " est bien là avec tous ses modules. Je suis sous Win XP et open office 1.1.4. Je sais il va bien falloir que je passe un jour sous O.o.o.3, mais j'avais essayé avec Ooo.2 et mon appli ne tournait pas. Et comme j'en ai besoin vraiment tous les jours pour le boulot, je n'ai jamais eu le temps de trouver ce qui clochait. Merci pour vos éclaircissements, Bien à vous, Martin
Re: [prog] ma Bibliothèque à " Disparu "
Oups, Désolé pour la confirmation de lecture. Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] ma Bibliothèque à " Disparu "
Bonjour, Merci de vous pencher sur mon problème. La réponse est oui à vos deux questions. Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
[prog] Affichage d'un cadre dans document texte
Bonjour à tous, N'ayant malheureusement pas beaucoup de succès avec ma bibliothèque fantôme, je me suis décidé à porter ma petite appli sous Ooo3.2. Ca avance un peu, mais vous risquez de me voir souvent par ici dans les jours qui viennent ! Je suppose que toutes les erreurs de codage qui pouvaient passer sous 1.1.4 ne passent plus dans les versions modernes. Bref, j'en viens à mon problème du moment. Voici un bout de code qui permettait d'afficher un cadre à bords arrondis. Il ne marche plus, mais je n'ai pas de message d'erreur. Peut-être pouvez-vous m'aider Dim Taille1 As New com.sun.star.awt.Size MonTexte = MonDocument.Text Moncurseur = MonTexte.createTextCursor Dim MonCadre1 as object MonCadre1 = MonDocument.createInstance("com.sun.star.drawing.RectangleShape") Taille1.Width = 8000 Taille1.Height = 3000 With MonCadre1 .CornerRadius = 600 .FillColor = RGB (255,255,255) .AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH .VertOrient = com.sun.star.text.VertOrientation.NONE .VertOrientPosition = 1500 .HoriOrient = com.sun.star.text.HoriOrientation.NONE .HoriOrientPosition = 8000 .Size = Taille1 End With MonTexte.insertTextContent(Moncurseur, MonCadre1, false) D'avance merci, Martin
Re: [prog] Affichage d'un cadre dans document texte
Bravo et merci ! L'import à fonctionné. concernant ma migration vers Ooo3.2.0 ( téléchargé hier sur le site ), je n'arrive toujours pas à voir mes cadres. Mes variables étaient bien entendu déclarées, sinon j'aurais un message d'erreur, mais là, rien. Mon document ( une facture ) s'ouvre normalement mais sans les cadres ( il y en a trois en tout ). Donc, à priori, pas d'erreur de codage ( puisque ça marche chez vous ). Peut-être une config d'Ooo ? Pour info les cadres ne s'affichent pas non plus à l'impression. En tout cas, encore merci pour votre aide. Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] Affichage d'un cadre dans document texte
Bonjour Agnès, et merci Effectivement, ça marche ! Un petit truc curieux quand même. Comme je l'ai dit dans un message précédent, j'ai 3 cadres dans mon document texte : MonCadre1 , MonCadre_Film, MonCadre2. Jusqu'à ton mail, aucun de ces cadres n'apparaissait. Par contre en ajoutant ta fameuse ligne de code " MonCadre1.LayerId = 1 ", ce sont les 2 premiers cadres qui apparaissent ! Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] Affichage d'un cadre dans document texte
Et bien fait, non; ça ne marche pas. En tout cas pas deux fois de suite ! C'est à n'y rien comprendre. En fait, avec ou sans la ligne de code d'Agnès, mes 2 premiers cadre apparaissent lors de la première ouverture du document, ou plutôt devrais-je dire d'un document. Si je relance l'appli, sans avoir quitté et relancé Ooo, mes cadres n'apparaissent plus, quel que soit le document texte ouvert par mon appli ( devis, facture .. ). Si quelqu'un à une idée, je suis preneur. Bien cordialement, Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] Affichage d'un cadre dans document texte
Bonjour Thibault, Il s'agit d'une macro permettant de visualiser une facture. Le document texte est créé par la macro avec l'instruction suivante : adresseDoc = "private:factory/swriter" MonDocument = StarDesktop.LoadComponentFromURL(adresseDoc,"_blank", 0, propFich) Concernant l'insertion des cadres, je suis plus embêté pour vous répondre car, même quand ils apparaissent dans mon document, je n'arrive ni à les sélectionner ni à " atteindre " le texte placé à l'intérieur. Encore merci de vous être penché sur mon problème, Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] Affichage d'un cadre dans document texte
Re-bonjour, Je ne passe aucun argument avec propFich. Juste le code de mon précédent mail. Pour analyser le contenu de la collection de formes de dessin je fais comment ? par macro ? Martin Sans nom 2.odt Description: application/vnd.oasis.opendocument.text - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] Affichage d'un cadre dans document texte
Agnès, Effectivement j'avais placé l'instruction MonCadre1.LayerId = 1 AVANT l'insertion du cadre. En la plaçant après, mon cadre devient sélectionnable à la souris. ( le texte à l'intérieur est d'ailleurs solidaire du cadre, ce qui n'était pas le cas sous Ooo 1.1.4 ). Par contre, toujours pas de cadre texte dans l'explorateur. Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] Affichage d'un cadre dans document texte
Effectivement, si je nomme mon cadre ( MonCadre1.name = " Cadre Client ") " Cadre Client " apparaît bien dans les objets de dessin du navigateur. Par contre ce qui est curieux c'est qu'il apparaît 5 fois ! Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] Affichage d'un cadre dans document texte
RE-re merci pour cette macro. J'ai bien 6 formes dans mon document. 3 cadres théoriquement visibles - 2 invisibles et un logo. Toutes ces formes apparaissent bien dans le navigateur . ci-joint mon document tel qu'il devrait être ( à l'exception du cadre qui devrait être autour de mon tableau " Total " et qui se ballade ailleurs ). Martin Avec cadres.odt Description: application/vnd.oasis.opendocument.text - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] Affichage d'un cadre dans document texte
Encore merci Agnès pour le temps que tu as bien voulu consacrer à mon problème. Effectivement la ligne est définie comme invisible; la question est pourquoi l'est-elle dans ce document et pas dans l'autre que j'ai posté alors qu'ils ont été créés tous les 2 par la même macro ? bonne après midi de boulot, A bientôt, Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] Affichage d'un cadre dans document texte
Thibault, un grand merci à vous également pour le temps passé et pour ce bout de code. En utilisant uniquement la propriété .lineStyle = com.sun.star.drawing.LineStyle.SOLID j'arrive effectivement à contourner le problème. ( je n'utilise pas la totalité de votre routine car il y a 2 cadres qui doivent rester invisibles ). La conclusion semble donc être qu'il faut absolument définir la propriété "lineStyle" d'un cadre, faute de quoi on est pas certain qu'il soit visible. Bien cordialement, Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] Affichage d'un cadre dans document texte
Effectivement, votre macro m'ouvre un document writer avec 3 cadres bien visibles. Je ne comprend en effet pas pourquoi ma macro se comporte comme ça. Je vous poste dessous l'intégralité de mon module. C'est un peu long ! si vous avez le courage de le parcourir ... Sinon ce n'est pas grave puisque de toute façon maintenant cela fonctionne. Merci, Martin '= 'Visualisation des factures '= Option Explicit Private Moncurseur as object, MonTexte as object, MaCellule as object, Curseur2 as object Private EtrangerFactureVisual as Boolean, LangueFactureVisual as string Sub Affichage_facture(ID_facture as string,Facture_visual_logo as boolean) Dim matos_conso as boolean, Jour_camion as integer, Cout_peage as double, NB_kilometre as integer Dim Paris as boolean, Livraison as boolean, Prix_Nnovia as double, Nnovia as integer Dim Prix_QP as double, Quatorze_pouce as double, Vingt_pouce as double, Prix_VP as double Dim CT_trans as double, CT as double, Prix_CT as double, Frais_off as integer, NB_frais_off as integer Dim Frais_T as integer, NB_frais_T as integer, NB_off as double, Salaire as integer, NB_Tech as double Dim Titre as string, Client_Select as string, TVAintra as string, montant_accompte as double Dim date_facture as date, N_facture as string, Heures_sup as double, Nombre_heures_sup as integer Dim conso_carburant as double, MonDocument as object, adresseDoc as string, propFich() Dim Date_debutFactureVisual as date, Date_FinFactureVisual as Date, PubFactureVisual as Boolean Dim RemiseFactureVisual as integer, AssurFactureVisual as Boolean, PaiementFactureVisual as string Dim Montant_facture as double adresseDoc = "private:factory/swriter" 'convention pour indiquer un nouveau document writer MonDocument = StarDesktop.LoadComponentFromURL(adresseDoc,"_blank", 0, propFich) 'Récupération de la valeur des champs dans la base Facture' ' Dim maRequete_facturevisual As Object, ResultSet As Object maRequete_facturevisual = maConnexion.createStatement() ResultSet = maRequete_facturevisual.executeQuery("SELECT * FROM Liste_fact WHERE ID='"& ID_facture &"'" If Not IsNull(ResultSet) Then While ResultSet.next Titre = ResultSet.getString(2) Client_Select = ResultSet.getString(3) N_facture = ResultSet.getString(4) Date_debutFactureVisual = ResultSet.getString(5) Date_FinFactureVisual = ResultSet.getString(6) PubFactureVisual = ResultSet.getString(7) RemiseFactureVisual = ResultSet.getString(8) AssurFactureVisual = ResultSet.getString(9) PaiementFactureVisual = ResultSet.getString(10) NB_Tech = ResultSet.getString(11) Salaire = ResultSet.getString(12) NB_off = ResultSet.getString(13) NB_frais_T = ResultSet.getString(14) Frais_T = ResultSet.getString(15) NB_frais_off = ResultSet.getString(16) Frais_off = ResultSet.getString(17) Heures_sup = ResultSet.getString(18) Nombre_heures_sup = ResultSet.getString(19) CT = ResultSet.getString(20) Prix_CT = ResultSet.getString(21) CT_trans = ResultSet.getString(22) Vingt_pouce = ResultSet.getString(23) Prix_VP = ResultSet.getString(24) Quatorze_pouce = ResultSet.getString(25) Prix_QP = ResultSet.getString(26) Nnovia = ResultSet.getString(27) Prix_Nnovia = ResultSet.getString(28) Livraison = ResultSet.getString(29) Paris = ResultSet.getString(30) NB_kilometre = ResultSet.getString(31) Cout_peage = ResultSet.getString(32) Jour_camion = ResultSet.getString(33) conso_carburant = ResultSet.getString(34) date_facture = ResultSet.getString(35) montant_accompte = ResultSet.getString(36) matos_conso = ResultSet.getString(37) EtrangerFactureVisual = Resultset.getstring(39) LangueFactureVisual = Resultset.getstring(40) Montant_facture = Resultset.getstring(43) Wend End if '--- 'Récupération des coordonnées du client '--- Dim Rue as string, CP as string, Ville as string, maRequete_facturevisual2 as object maRequete_facturevisual2 = maConnexion.createStatement() ResultSet = maRequete_facturevisual2.executeQuery("SELECT * FROM Clients WHERE Societe="& Quote(Client_Select) &"" If Not IsNull(ResultSet) Then While ResultSet.next Rue = ResultSet.getString(2) CP = ResultSet.getString(3) Ville = ResultSet.getString(4) TVAintra = Resultset.getString(7) Wend End if 'Récupération du vocabulaire dans la base traduction ' Dim Mot_Cfilm as string, Mot_Titre as string, Mot_Datedebut as string, Mot_Datefin as string Dim Mot_Devis as string, Mot_Design as string, Mot_PU as string, Mot_Remise as string Dim Mot_Qtite as string, Mot_Techni_Fact as string, Mot_CineTool as string, Mot_VingtP as string Dim Mot_Quatorze as string, Mot_Livraiso as string, Mot_Heures as string, Mot_Heures2 as string Dim Mot_Hsup as string, Mot_Hnuit as string, Mot_Paiement as string, Mot_BPA as string Dim Mot_CGL as string,
[prog] ReadOnly
Bonsoir à tous, Je suis encore dansma migrationde 1.1.4 vers 3.2 et je butte sur un problème, sans doute trivial, mais pourlequel je ne trouve aucune issue. Mes tables ne sont pas éditables, ni manuellement en les ouvrant avec un F4, ni par macro : j'ai un message d'erreur : " The Result Set is read only " comment puis-je changer ça ? D'avance merci, Martin
Re: [prog] ReadOnly
Bonjour Yves, merci de te pencher sur mon problème. Mes tables sont des fichiers dbf créés dans 1.1.4 et récupérés dans 3.2 par " Glisser-Déposer" dans le navigateur ( Touche F4 ). Je me demande dans quelle mesure mon problème ne vient pas de cette histoire de Clef Primaire dont mes tables sont dépourvues. En effet au moment de la récupération, Ooo m'a demandé si je voulais ajouter une clef primaire. J'ai dit non, car sinon cela va tout me décaler pour mes récup de données ( ResultSet.getString(mon_numero_de_champ) ). Si c'est le cas, est-ce lié à la façon dont j'ai récupéré les tables ? Si je les recrée à la mano directement dans 3.2 cela va-t-il régler mon pb ? D'avance merci. Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] ReadOnly
Bonjour Agnès, merci pour cette réponse qui, à défaut de me contenter pleinement ( il va falloir que je reprenne pas mal de code ) me permet de situer la nature du problème. Bien cordialement, Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] ReadOnly
Bonjour à tous, J'ai recréé ma table en ajoutant cette fameuse clef primaire, modifié mes numéros de champ en conséquence dans mon code et résultat, ma table est bien éditable manuellement dans l'explorateur, par contre j'ai toujours le message : Type.com.sun.star.sdbc.SQLException Message : The result Set is read-only ( Grrr ). Le code qui génère cette erreur est le suivant : 'Mise à jour des champs dernière remise et date dernière remise dans la table clients maRequete = maConnexion.createStatement() ResultSet = maRequete.executeQuery("SELECT * FROM Clients WHERE Societe="& Quote(Client_Select) &"") If Not IsNull(ResultSet) Then While ResultSet.next ResultSet.UpdateDouble(9,RemiseNewDevis) ResultSet.UpdateString(10,Date) ResultSet.UpdateRow Wend End If d'avance merci, Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] ReadOnly
Bonjour Stéphane, Merci de cette réponse, mais pourriez-vous être plus précis. Ma base de donnée n'a pas changé depuis mon passage de 1.1.4 à Ooo 3.2. La seule nouveauté est cette histoire de clef primaire dans mes tables. Existe-t-il une propriété de l'objet ResultSet qui pourrait-être du genre : ResulSet.isReadOnly = false ? à moins qu'il ne faille chercher du côté des propriétés de la collection de tables ? Je vous avoue que je nage totalement, Encore merci, Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
[prog] Column not found
Bonjour à tous, J'ai encore des soucis pour mon passage de 1.1.4 à 3.2.0. ( le précédent n'étant d'ailleurs toujours pas résolu ) J'ai une fonction empruntée dans le livre de Bernard Marcelly et Laurent Godard, première édition, servant à remplir une boîte de liste : Private Function Fill_listBox(MaListBox as object, Table as string, MonIndex as integer, MonChamp as string, MonChampTri as string) Dim maRequete As Object Dim Resultset_filllistbox as object Dim Paiement_select as string Dim i as integer MaListBox.removeitems(0,1000) maRequete = maConnexion.createStatement() Resultset_filllistbox = maRequete.executeQuery("SELECT "& MonChamp &" FROM "& Table &" ORDER BY "& MonChampTri &" ASC") If Not IsNull(Resultset_filllistbox) Then i=0 While Resultset_filllistbox.next MaListBox.additem(Resultset_filllistbox.getString(MonIndex),i) i=i+1 Wend End if End Function et lorsque j'appelle cette fonction de la manière suivante Fill_listBox(LB_Clients1,"Clients","Nom",(3),"Nom") j'ai un message d'erreur : Column not found: 3 Pourtant ma table " Clients" comporte 10 champs ! Le plus curieux, c'est que si je remplace : MaListBox.additem(Resultset_filllistbox.getString(MonIndex),i) par : MaListBox.additem(Resultset_filllistbox.getString(MonIndex-1),i) ça marche très bien et par : MaListBox.additem(Resultset_filllistbox.getString(MonIndex-2),i) ça marche aussi. En gros un getString (1) et un getString(2) me récupèrent tous les 2 le contenu de ma troisième colonne. Toutes les autres valeurs génèrent un message d'erreur. D'avance merci pour vos suggestions. Martin
Re: [prog] Column not found
Bon sang mais c'est bien sûr !!! Bonjour Agnès, merci de venir encore une fois à mon secours. Dire que je fonctionne avec ce code depuis des années Évidemment que le .getString(numéro de colonne) ne fonctionne que si l'on a un " Select * from ". Dans mon cas, ma variable MonIndex ne sert effectivement à rien, si ce n'est à tout embrouiller ( ça marchait avant parceque dans toutes mes ListBox je ne récupérais que la deuxième colonne; mais maintenant avec cette fameuse clef primaire en plus ). Par contre, ce que je ne comprend pas c'est pourquoi ça marche avec .getString(1) ET .getString(2). Encore merci et à bientôt pour ma prochaine bêtise. Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] Column not found
Merci Agnès pour cette précision importante. Juste une question: comment fais-tu pour savoir que le ResultSet a trois colonnes ? Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] Column not found
Il s'agit bien de l'édition de 2004. Je viens de regarder rapidement et, effectivement je ne retrouve pas cette fonction. Je pensais pourtant bien que ce n'était pas moi qui avait écrit cette petite fonction qui, à l'erreur près que tu as trouvé, m'est bien utile. Encore merci, Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
[prog] Récupérer le nom d'un bouton
Bonsoir à tous, J'ai , dans une boîte de dialogue, un bouton qui déclenche une fonction lorsque son statut est modifié. Est-il possible de passer en argument de cette fonction le nom du bouton appelant ? D'avance merci, Martin
Re: [prog] Récupérer le nom d'un bouton
Merci Laurent, je teste ces possibilités dès que j'ai un moment ( ce qui se fait rare ces temps-ci ! ) Bien cordialement, Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
[prog] Insertion de date dans base de donnée
bonjour à tous, J'imagine que cette question à déjà été posée 100 fois, mais je ne trouve pas la réponse sur le site. Je souhaite insérer une date dans un champ Date d'une table au moyen d'une requête SQL : SQL = "INSERT INTO"& chr(34) &"Factures"& chr(34) & " " &"("& chr(34) &"RéfFacture"& Chr(34)&"," & chr(34) &_ "RéfClient"& Chr(34)&"," & chr(34) &"DateFacture"& Chr(34)&") VALUES("& Quote(new_numero) &",'"& RefClientSelect &_ "',"& Quote(Date_Facture) &")" maRequete.ExecuteUpdate(SQL) Quel doit être le format de ma variable Date_Facture ? D'avance merci, Martin
Re: [prog] Insertion de date dans base de donnée
Merci yves de cette réponse. Juste une petite précision : Ma variable doit-elle être définie comme Date ( /mm/jj ), Long ( mmjj ) ou String( -mm-jj) ? Si le format du champ date de ma base est jj/mm/aa, dois-je fournir une date avec l'année sur 2 chiffres ou 4 chiffres ? D'avance merci, Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] Récupérer le nom d'un bouton
Merci Laurent, ça marche super bien ! Juste une petite précision pour ceux que ça intéresserait, pour récupérer le nom du bouton appelant il faut passer par le Model de l'objet : Print event.source.Model.Name Encore merci à Laurent, A bientôt, Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] Insertion de date dans base de donnée
RE-bonjour, Désolé, ça doit être la chaleur, mais je n'y arrive toujours pas. sur la date du jour : Print oProjectDialogFacture.getcontrol("DateFacture").date me donne : " 201007028 " et Dim Date_Facture as date Date_Facture = oProjectDialogFacture.getcontrol("DateFacture").date Print Date_Facture me donne : " 12/11/-8603 " et SQL = "INSERT INTO"& chr(34) &"Factures"& chr(34) & " " &"("& chr(34) &"RéfFacture"& Chr(34)&"," & chr(34) &_ "RéfClient"& Chr(34)&"," & chr(34) &"DateFacture"& Chr(34)&") VALUES("& Quote(new_numero) &",'"& RefClientSelect &_ "',"& Quote(Date_Facture) &")" maRequete.ExecuteUpdate(SQL) me renvoie le message d'erreur " Wrong Data Type " Il fait 32° et j'ai le cerveau qui commence à bouillir !!! D'avance merci, Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] Insertion de date dans base de donnée
Bonsoir Yves, Désolé, il s'agit d'une erreur de frappe. Le résultat est bien 20100708 ( enfin 09 aujourd'hui). Print oProjectDialogFacture.getcontrol("DateFacture").date me donne : 20100709 et Date_Facture = oProjectDialogFacture.getcontrol("DateFacture").date Print Date_Facture me donne : 13/11/-8603 et SQL = "INSERT INTO"& chr(34) &"Factures"& chr(34) & " " &"("& chr(34) &"RéfFacture"& Chr(34)&"," & chr(34) &_ "RéfClient"& Chr(34)&"," & chr(34) &"DateFacture"& Chr(34)&") VALUES("& Quote(new_numero) &",'"& RefClientSelect &_ "',"& Quote(oProjectDialogFacture.getcontrol("DateFacture").date) &")" Print SQL me donne INSERT INTO"Factures" ("RéfFacture","RéfClient","DateFacture","RéfClient","DateFacture") Values('201007065','1','20100709') d'avance merci, Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
Re: [prog] Insertion de date dans base de donnée
Excuse moi Yves, je n'avais pas bien lu ta réponse. Effectivement, pour que ça marche, il faut récupérer la valeur du control date, la convertir en Chaîne de caractère au format -mm-jj en incluant bien les " - ". Encore merci pour ton aide, Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
[prog] Mettre à jour un champ boolean avec un RowSet
Bonjour à tous, J'essaie de mettre à jour un champ Boolean dans une table au moyen d'un RowSet avec le code suivant : RowSet = createUnoService("com.sun.star.sdb.RowSet") With RowSet .dataSourceName = "FacturationCEM" .user = "" .password = "" .CommandType = com.sun.star.sdb.CommandType.TABLE .Command = "Factures" .Filter = "RéfFacture="&Quote(ID_facture) .ApplyFilter = True .execute .updateBoolean(15,True) .updateRow .dispose End With La ligne .updateBoolean(15,True) renvoie le message d'erreur " Invalid Cursor State" Si quelqu'un peut me donner la syntaxe correcte, d'avance merci, Martin
Re: [prog] Mettre à jour un champ boolean avec un Ro wSet RESOLU
Je me répond à moi-même : il suffit d'ajouter un .next avant de faire l'update. J'imagine que, comme pour un RésultSet, le Filtre place le curseur sur l'enregistrement qui précède. Désolé pour le dérangement, Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
[prog] publi-postage à l'envers
Bonjour à tous, Est-il possible de récupérer par macro les noms de tous les fichiers contenus dans un dossier ? L'idée est de faire un publi-postage à l'envers. je m'explique : J'ai un dossier avec une centaine de fichiers .xls ayant la même structure. Il s'agit de factures, et je souhaite remplir une base de données avec les destinataires de ces factures. Le problème est d'arriver à ouvrir les fichiers sans les nommer ( du style for i = 1 to 100 ouvrir fichier_i) ou de récupérer les noms. D'avance merci pour vos suggestions, Martin
Re: [prog] publi-postage à l'envers
Bon sang mais c'est bien sûr ! La fonction Dir ! on ne devrait jamais oublier son DOS. Un grand merci Thibault, je crois que je vais trouver mon bonheur avec ça. Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
[prog] Lire un texte de plusieurs lignes dans une cellule
bonsoir à tous, J'ai dans un document Calc une cellule avec un texte sur 3 lignes. Lorsque je fais "Print maCellule.String", j'obtiens en fait 3 print à la suite m'affichant chacun une seule ligne. C'est une propriété qui m'intéresse. Comment puis-je récupérer séparément le contenu de chaque ligne ? d'avance merci, Martin
Re: [prog] Lire un texte de plusieurs lignes dans une cellule
Un grand merci François, c'est exactement ce que je cherchais ! Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org
[prog] vider un champ date
Bonsoir à tous, je suis un peu confus de poser une question qui, à priori, va vous paraître triviale, mais je ne trouve rien de satisfaisant dans le forum. Je souhaite, dans une boîte dialogue, vider un champ Date. J'arrive à obtenir '" 00/00/" mais cela n'est pas très élégant. ce que je souhaite serait de la forme : oProjectDialogClients.GetControl("Facturation_DateRelance").date = "VIDE" D'avance merci pour votre aide, Martin
Re: [prog] vider un champ date
Bonjour François, Merci de cette réponde rapide. s'agissant d'un champ Date, je n'avais pas pensé au .TEXT Ceci dit, cela ne fonctionne pas chez moi.J'ai du rater quelque chose ! si je laisse Option Explicit, j'ai un message d'erreur " Variable non définie ", et si j'enlève Option Explicit il ne se passe rien; mon champ reste renseigné ( il s'agit d'un Refresh de champ déclenché par un statut modifié d'une ListBox ) J'ai essayé aussi : oProjectDialogClients.GetControl("Facturation_DateRelance").Text = "" mais sans plus de succès et oProjectDialogClients.GetControl("Facturation_DateRelance").Date = Empty donne 00/00/ D'avance merci, Martin - To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org For additional commands, e-mail: prog-h...@fr.openoffice.org