[prog] problème pour modifier les enregistrements da ns base
bonjour, j'utilise OOo 2.0.2 sous XP, pour =Ecrire cette sub je me suis basee sur les exemples du livre = macros et API de Marcelly et Godard. la BDD a ete creee avec base d'OOo 2.0 Je recupere sans probleme les donnees que j'incremente dans un tableau pour les afficher dans une boite de dialogue. Je repere les modifications faites dans les champs des boites de dialogue et je les reecris dans le meme tableau. je recupere bien les modifs pour mettre a jour la BDD j'utilise le code suivant et il ne fonctionne pas du tout... Sub majDonnees() On Error GoTo Erreurs dim maRequete As Object, resuQuery As Object dim mesRows as long, monRow as long dim mesColonnes as long, maColonne as long dim nbColonnes as long dim instrSQL As String, monSignet As Variant dim info As String, cr As String dim i as long dim test1 as string, monType cr = chr(13) ' retour a la ligne, pour les messages ConnecterSource ' Texte de la requ=EAte instrSQL = select * from signataires order by ID_signataires ' Envoyer la requete maRequete = maConnexion.createStatement() resuQuery = maRequete.executeQuery(instrSQL) 'nombre de colonne nbColonnes = resuQuery.columns.count-1 resuQuery.beforefirst() do while resuQuery.next monrow=resuQuery.row for i = 0 to nbColonnes monType=resuQuery.columns(i).TypeName test1 = tabSignataires ( monrow, i) select case monType case INTEGER test1 = Cint(tabSignataires ( monrow, i)) msgbox test1 resuQuery.updateShort(i, test1) case VARCHAR test1 = CStr(tabSignataires ( monrow, i)) resuQuery.updateString(i, test1) case LONGVARCHAR test1 = CStr(tabSignataires ( monrow, i)) resuQuery.updateString(i,test1) end select next resuQuery.updateRow loop DeconnecterSource Exit Sub Erreurs: DeconnecterSource erreur_num=err() erreur_txt=error(erreur_num) erreur_ligne = Erl() MsgBox(erreur n=B0 + erreur_num + =E0 la ligne + erreur_ligne + = chr(13) + erreur_txt, 1 + 16, Macro recupcurseur) End Sub merci pour votre aide Laurence BOTTIN (DGMT/SG/AG2), bureau informatique ministère des Transports, de l'Equipement, du Tourisme et de la Mer direction générale de la Mer et des Transports (: +33 1 40 81 17 27 Fax : +33 1 40 81 37 95 localisation des bureaux : Grande Arche sud La Défense mailto:[EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Geler l'affichage d'un document Calc
Merci Bernard, Cette méthode permet effectivement de geler correctement l'affichage. J'ai constaté que pour un gain significatif de performance, il faut cumuler cette méthode avec AddActionLock/RemoveActionLock. Dans mon test, mise à jour de toutes les cellules d'une plage de 18 colonnes par 1172 lignes (soit 21096 cellules), la macro tourne en 22 secondes sans ActionLock et en 8 secondes avec. Olivier Bernard Marcelly a écrit : dim fenDoc as Object fenDoc = thisComponent.CurrentController.Frame.ContainerWindow fenDoc.Enable = False wait 5000 ' simulation de la réalisation du travail fenDoc.Enable = True Et malgré la désactivation, il est possible de faire évoluer une barre de progression au bas de la fenêtre du document. Bernard - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] [OOo sous Delphi] AddActionLock RemoveActionLock font des graphiques pas beaux
Bonjour tout le monde. J'utilise OOo via la programmation en Delphi, j'arrive à faire presque tout ce que je désire. Pour bloquer l'application, j'utilise : FDocumentOOo.lockControllers; FDocumentOOo.unlockControllers; Cela donne le résultat que je désire, j'apprends (via cet emailing) qu'utiliser AddActionLock donnera des temps de traitements bien meilleurs. Mais lorsque je bloque l'application avec AddActionLock et RemoveActionLock, les graphiques ont une police plus grosse que prévu, la bordure de droite n'apparaît pas. Il faut double cliquer sur le graphique pour le mettre en mode édition et le déselectionner pour retrouver un graphique potable. Est-ce que vous avez déjà eu ce genre de problèmes et/ou savez-vous comment je peux résoudre ce problème, ou quelle est la piste à suivre ? Merci, pac. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] problème pour modifier les enregistrements dans base
Bonjour BOTTIN Laurence - DGMT/SG/AG2 (LoloBot) Message du 2006-04-06 09:57: pour mettre a jour la BDD j'utilise le code suivant et il ne fonctionne pas du tout... Ce diagnostic n'aide pas beaucoup... Et la non-indentation du codage non plus. Alors question : est-ce qu'une des colonnes modifiées est un champ auto-incrémenté? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [prog] problème pour modifier les e nregistrements dans base
J'ai pensé effectivement à cette hypothèse et je ne fait pas d'update sur le champs contenant la clef -Message d'origine- De : Bernard Marcelly [mailto:[EMAIL PROTECTED] Envoyé : jeudi 6 avril 2006 13:35 À : prog@fr.openoffice.org Objet : Re: [prog] problème pour modifier les enregistrements dans base Bonjour BOTTIN Laurence - DGMT/SG/AG2 (LoloBot) Message du 2006-04-06 09:57: pour mettre a jour la BDD j'utilise le code suivant et il ne fonctionne pas du tout... Ce diagnostic n'aide pas beaucoup... Et la non-indentation du codage non plus. Alors question : est-ce qu'une des colonnes modifiées est un champ auto-incrémenté? - 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] [OOo sous Delphi] AddActionLock RemoveActionLock font des graphiques pas beaux
Je travaille aussi la majorité du temps sur la manipulation de cellules, c'est pour ça que j'étais intéressé par le possible gain de temps. J'ai essayé ton idée de faire un RemoveActionLock avant de créer le graphique et le rajouter un AddActionLock à la fin du traitement de création du graphique mais cela ne marche pas. J'ai toujours ce bug qui affiche mal les graphiques. Personne d'autres n'a d'idées ou de pistes ? pac. Olivier Villatte a écrit : Bonjour, J'ai obtenu des gains de perfomances avec AddActionLock/RemoveActionLock sur la manipulation du contenu des cellules. Je n'ai jamais travaillé avec les graphiques donc je ne sais pas si tu auras un gain de performance. une piste peut-être en plaçant un RemoveActionLock juste avant la création du graphique et en replaçant un AddActionLock après si tu as encore besoin de modifier des cellules. Olivier - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] Comment supprimer une valeur dans la base de registre ?
Salut, dans le (très bon) livre de Bernard Marcelly version 1.1.4, page 599 Traitements spécifiques pour MS-Windows, il est indiqué d'utiliser : OpenRegKey pour ouvrir une clé, QueryValue pour récupérer une valeur. Mais il n'est pas indiqué comment supprimer une valeur, j'ai essayé quelques méthodes comme DeleteRegValue et d'autres dans le même style mais aucune n'a été reconnue. Dans l'API, http://api.openoffice.org/docs/common/ref/com/sun/star/registry/XRegistryKey.html il est fait état de deleteKey pour supprimer une clé complète et deleteLink pour supprimer un lien (je n'ai pas encore bien compris ce que c'était), mais rien pour supprimer une valeur. Comment peut-on faire ? Merci, pac. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [prog] impossible de faire un update dans base via macro
Bonjour, A) Vous utilisez une Boite de dialogue ou un formulaire ? B) En ce qui me concerne, j'avais fait une application de saisie avec formulaire en Ooo V1.1 et je faisais simplement un UpdateRow sur ma référence au formulaire de saisie oForm, ce qui provoquait la mise à jour de la BdD : oForm = ThisComponent.DrawPage.Forms.GetByName(Saisie_totale) oForm.UpdateRow C) Sinon, il y a toujours la possibilité d'envoyer une requête UPDATE directement à la BdD Jean-Claude DAVID - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [prog] impossible de faire un update dans base via macro
Une Base de Données ne verrouille pas un enregistrement si on ne lui demande pas explicitement. Si c'est une boite de dialogue remplie par une requête SELECT, cette requête ne peut pas mettre à jour la BdD. Pour ma part, pour chaque ligne, je ferais quelque chose du type (je n'ai pas vérifié la syntaxe) : strSQL = UPDATE signataires SET resuQuery.columns(0).Name = tabSignataires(monrow, 0) , resuQuery.columns(1).Name = tabSignataires(monrow, 1) ... WHERE ID_signataires = ID_signataires 'Création de la requête oStatement = oCon.CreateStatement() 'Exécution de la requête Retour = oStatement.executeUpdate(strSQL) Envoye ton fichier en M.P. si tu souhaites que j'y jette un coup d'oeil. Jean-Claude DAVID - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] Geler l'affichage d'un document Calc
Bonjour Bernard, J'ai beau cherher, je ne trouve pas d'exemple où AddActionLock est appliqué à un autre objet que le document. J'ai essayer le fouiller un peu dans le sdk et je n'ai trouvé que cette information : The interface com.sun.star.document.XActionLockable protects this cell from painting or updating during changes. The interface can be used to optimize the performance of complex changes, for instance, inserting or deleting formatted text. j'avais compris que AddActionLock gèle la mise à jour de l'affichage et que LockControlers bloque les actions utilisateur... maintenant, je ne suis plus sur de rien. est-il possible d'avoir plus d'infos ? Olivier Bernard Marcelly a écrit : AddActionLock est prévu pour un objet particulier dans l'interface, et même des parties d'un objet. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [prog] impossible de faire un update dans base via macro
Merci je vais faire le test, que veux tu dire par M.P. ? Laurence.bottin -Message d'origine- De : DAVID Jean-Claude - CETE Ouest/DU/AEH [mailto:[EMAIL PROTECTED] Envoyé : jeudi 6 avril 2006 15:07 À : prog@fr.openoffice.org Objet : RE: [prog] impossible de faire un update dans base via macro Une Base de Données ne verrouille pas un enregistrement si on ne lui demande pas explicitement. Si c'est une boite de dialogue remplie par une requête SELECT, cette requête ne peut pas mettre à jour la BdD. Pour ma part, pour chaque ligne, je ferais quelque chose du type (je n'ai pas vérifié la syntaxe) : strSQL = UPDATE signataires SET resuQuery.columns(0).Name = tabSignataires(monrow, 0) , resuQuery.columns(1).Name = tabSignataires(monrow, 1) ... WHERE ID_signataires = ID_signataires 'Création de la requête oStatement = oCon.CreateStatement() 'Exécution de la requête Retour = oStatement.executeUpdate(strSQL) Envoye ton fichier en M.P. si tu souhaites que j'y jette un coup d'oeil. Jean-Claude DAVID - 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] impossible de faire un update dans base via macro - s uite
Dans la documentation de l'interface XStatement (que retourne ExecuteQuery) il est précisé : is used for executing a static SQL statement, on serait donc sur un ResultSet statique et pas dynamique. A mon avis, il faut donc passer par des Update pour effectuer des mises à jour. Ou alors il faut utiliser un XResultSetUpdate qui lui provides the possiblity to write changes made on a result set back to database. par un UpdateRow Jean-Claude - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] impossible de faire un update dans base via macro - s uite et fin
Merci à Jean-Claude DAVID : Le update fonctionne dans ce cas Sub majDonnees() On Error GoTo Erreurs dim maRequete As Object, resuQuery As Object dim mesRows as long, monRow as long dim mesColonnes as long, maColonne as long dim nbColonnes as long, nbre dim instrSQL As String, monSignet As Variant dim info As String, cr As String dim i as long dim test1 as string, monType cr = chr(13) ' retour à la ligne, pour les messages ConnecterSource ' Texte de la requête instrSQL = SELECT * FROM SIGNATAIRES ORDER BY ID_SIGNATAIRES ' Envoyer la requête maRequete = maConnexion.createStatement() for i = 1 to ubound(tabSignataires(),1) instrSQL=UPDATEsignataires instrSQL=instrSQL SET instrSQL=instrSQL civilite = ' tabSignataires (i, 1 ) ', instrSQL=instrSQL nom = ' tabSignataires (i, 2 ) ', instrSQL=instrSQL prenom = ' tabSignataires (i, 3 ) ' WHEREID_signataires = tabSignataires (i, 0 ) print instrSQL nbre = maRequete.executeUpdate(instrSQL) next DeconnecterSource Exit Sub Erreurs: DeconnecterSource erreur_num=err() erreur_txt=error(erreur_num) erreur_ligne = Erl() MsgBox(erreur n° + erreur_num + à la ligne + erreur_ligne + chr(13) + erreur_txt, 1 + 16, Macro recupcurseur) End Sub Laurence BOTTIN (DGMT/SG/AG2), bureau informatique ministère des Transports, de l'Equipement, du Tourisme et de la Mer direction générale de la Mer et des Transports (: +33 1 40 81 17 27 Fax : +33 1 40 81 37 95 localisation des bureaux : Grande Arche sud La Défense mailto:[EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[prog] boutons radio
Bonjour Dans mon fichier http://troumad.info/Linux/sudoku.odt, j'ai fait une boite de dialogue avec des boutons radio (un seul groupe). Tout allait bien, je m'étais posé la question sur les regroupements, mais comme sans rien faire, tout allait comme je voulais, j'en ai profité ! Aujourd'hui, j'ai voulu rajouter deux boutons dans ce même groupe, j'ai donc rajouté ses deux boutons, mais impossible de voir comment les associer à l'autre groupe ! Ils forment un groupe à eux seuls... -- Amicalement vOOotre Troumad Alias Bernard SIAUD mon site : http://troumad.info : ADD maths WEB sectes Pour la liberté http://lea-linux.org http://www.eurolinux.org/index.fr.html N'envoyez que des documents avec des formats ouverts, comme http://fr.openoffice.org - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] boutons radio
Bonjour Bernard Dans mon fichier http://troumad.info/Linux/sudoku.odt, j'ai fait une boite de dialogue avec des boutons radio (un seul groupe). Tout allait bien, je m'étais posé la question sur les regroupements, mais comme sans rien faire, tout allait comme je voulais, j'en ai profité ! Aujourd'hui, j'ai voulu rajouter deux boutons dans ce même groupe, j'ai donc rajouté ses deux boutons, mais impossible de voir comment les associer à l'autre groupe ! Ils forment un groupe à eux seuls... il faut que tes boutons aient un numero d'ordre (propriete) consecutifs pour etre considérés du meme groupe OOo decale automatique les ordres quand on insere Livre ed1.p470/ed2.p510 Bon courage 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]
Re: [prog] boutons radio
Laurent Godard a écrit : Bonjour Bernard Dans mon fichier http://troumad.info/Linux/sudoku.odt, j'ai fait une boite de dialogue avec des boutons radio (un seul groupe). Tout allait bien, je m'étais posé la question sur les regroupements, mais comme sans rien faire, tout allait comme je voulais, j'en ai profité ! Aujourd'hui, j'ai voulu rajouter deux boutons dans ce même groupe, j'ai donc rajouté ses deux boutons, mais impossible de voir comment les associer à l'autre groupe ! Ils forment un groupe à eux seuls... il faut que tes boutons aient un numero d'ordre (propriete) consecutifs pour etre considérés du meme groupe OOo decale automatique les ordres quand on insere Livre ed1.p470/ed2.p510 Bon courage Laurent OK ! Je pense qu'il serait agréable de pouvoir regrouper plus facilement les boutons radios ! Par exemple avoir un bouton 'grouper'... -- Amicalement vOOotre Troumad Alias Bernard SIAUD mon site : http://troumad.info : ADD maths WEB sectes Pour la liberté http://lea-linux.org http://www.eurolinux.org/index.fr.html N'envoyez que des documents avec des formats ouverts, comme http://fr.openoffice.org - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [prog] problème pour modifier les enregistrements dans base
Vu que: - tu utilises la base interne HSQL - avec un ordre updateXXX Cela ressemble beaucoup au rapport http://www.openoffice.org/issues/show_bug.cgi?id=61869 qui n'est pas encore prise en compte bien que reproductible apparemment. Y-a-t-il un responsable Base dans OpenOffice ? Bernard - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]