[Résolu] Modifier une base de données MySQL
Modérateur : Vilains modOOs
Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
-
Artazis
- NOOuvel adepte

- Messages : 19
- Inscription : 18 janv. 2023 14:44
[Résolu] Modifier une base de données MySQL
Bonjour
Je cherche un moyen d'automatiser une tâche laborieuse. Je voudrais mettre à jour mes prix de vente produits, calculés avec calc, dans une base de données MySql de Dolibarr.
J'ai trouvé comment lier la base à calc et les modifications de ma base mettent à jour mon fichier calc. Mais c'est l'inverse que je voudrais faire. Mettre à jour la base à partir de Calc.
Je cherche un moyen d'automatiser une tâche laborieuse. Je voudrais mettre à jour mes prix de vente produits, calculés avec calc, dans une base de données MySql de Dolibarr.
J'ai trouvé comment lier la base à calc et les modifications de ma base mettent à jour mon fichier calc. Mais c'est l'inverse que je voudrais faire. Mettre à jour la base à partir de Calc.
Dernière modification par Artazis le 13 févr. 2023 12:57, modifié 1 fois.
Linux mint 20.3
Libre office 6.4.7.2 (Version stable des dépôts de mint)
Libre office 6.4.7.2 (Version stable des dépôts de mint)
-
Bidouille
- RespOOnsable forum

- Messages : 12851
- Inscription : 08 nov. 2005 16:23
- Localisation : Brest, France
Re: Comment modifier une base de données mySql avec Calc ?
Bonjour,
"avec Calc" est inutile dans votre titre puisque c'est implicite ici.
Merci également de donner suite à votre précédente question :
viewtopic.php?t=66696
Notamment en ajoutant le classique balisage [Résolu] comme c'est l'usage sur ce forum.
"avec Calc" est inutile dans votre titre puisque c'est implicite ici.
Merci également de donner suite à votre précédente question :
viewtopic.php?t=66696
Notamment en ajoutant le classique balisage [Résolu] comme c'est l'usage sur ce forum.
-
jeanmi2403
- SuppOOrter

- Messages : 1485
- Inscription : 18 janv. 2008 09:02
- Localisation : Val de Marne
Re: Modifier une base de données MySQL
Bonjour,
Cordialement,
C'est possible avec Base, mais avec Calc, je doute fort...
Cordialement,
Jean-Michel
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
-
Artazis
- NOOuvel adepte

- Messages : 19
- Inscription : 18 janv. 2023 14:44
Re: Modifier une base de données MySQL
Merci Jeanmi
J'ai posé cette question dans la partie base de ce forum. On m'a envoyé vers Calc comme j'accède directement à ma base avec Calc.
J'ai posé cette question dans la partie base de ce forum. On m'a envoyé vers Calc comme j'accède directement à ma base avec Calc.
Linux mint 20.3
Libre office 6.4.7.2 (Version stable des dépôts de mint)
Libre office 6.4.7.2 (Version stable des dépôts de mint)
-
Dude
- IdOOle de la suite

- Messages : 26201
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
-
Artazis
- NOOuvel adepte

- Messages : 19
- Inscription : 18 janv. 2023 14:44
Re: Modifier une base de données MySQL
Je me suis mal exprimé. Je souhaite accéder à ma base avec Calc.Peux-tu expliquer comment fais-tu pour accéder à MySQL depuis un classeur ?
Tu utilises CalcSQL ?
Pour le moment, je suis capable de lier une feuille Calc à une table un connectant un fichier Base. Le modification de la base modifie mon fichier Calc. Comme dans ce tuto :
https://www.mediaforma.com/libreoffice-calc-liaison-dune-table-ou-dune-requete-base-dans-calc/
C'est l'inverse que je souhaite faire. Je souhaite qu'une modification dans mon fichier calc modifie ma base.
Je ne connais pas CalcSQL. Je vais regarder.
Linux mint 20.3
Libre office 6.4.7.2 (Version stable des dépôts de mint)
Libre office 6.4.7.2 (Version stable des dépôts de mint)
-
Artazis
- NOOuvel adepte

- Messages : 19
- Inscription : 18 janv. 2023 14:44
Re: Modifier une base de données MySQL
D'après, ce que j'ai compris, ClacSQL permet simplement récupérer des valeurs d'une base. Pas de les modifier. Ca date un peu.
J'ai essayé chatGPT. La réponse est bluffante et me donne une piste sérieuse. Voici ce qu'il me répond à ma question :
Je vais creuser dans ce sens.
J'ai essayé chatGPT. La réponse est bluffante et me donne une piste sérieuse. Voici ce qu'il me répond à ma question :
La réponseJe voudrais que ma requête SQL modifie une valeur de ma base à partir d'une valeur du tableau clac
Ok. apparemment, c'est possible de programmer en python avec libre office Calc et ainsi envoyer mes requêtes de modification de ma basePour effectuer une modification de base de données à partir d'une valeur dans une feuille de calcul LibreOffice Calc, vous pouvez utiliser une requête SQL avec une instruction UPDATE. Voici un exemple :
Assumez que vous avez une feuille de calcul nommée "Tableau1" avec une colonne appelée "Nom" et une autre colonne appelée "Valeur".
Dans la cellule B1, saisissez la formule suivante :
python
=VALEUR("SQL"; "UPDATE Table1 SET Valeur = " & B2 & " WHERE Nom = '" & A2 & "';")
Copiez la formule dans les autres cellules de la colonne B pour appliquer la mise à jour à toutes les valeurs du tableau.
Ensuite, exécutez la requête en cliquant sur "Outils" -> "SQL".
Notez que dans cet exemple, nous supposons que vous avez une table appelée "Table1" dans votre base de données avec des colonnes "Nom" et "Valeur". Vous devez remplacer ces noms de table et de colonne par les noms appropriés pour votre propre base de données.
Ce n'est qu'un exemple simple. Il est important de vérifier que la requête est correcte et ne modifie pas les données indésirablement avant de l'exécuter sur une base de données en production. Il est également recommandé de sauvegarder votre base de données avant de l'exécuter pour pouvoir la restaurer en cas de problème.
Je vais creuser dans ce sens.
Linux mint 20.3
Libre office 6.4.7.2 (Version stable des dépôts de mint)
Libre office 6.4.7.2 (Version stable des dépôts de mint)
-
Dude
- IdOOle de la suite

- Messages : 26201
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: Modifier une base de données MySQL
Oui et c'est pour cela que je te demandais si tu passais par ce biais pour récupérer tes données.
Comme tout cela est rédigée par des bénévoles.
Il suffit de proposer une révision via la section Enrichissez la documentation
La réponse est surtout parcellaire et irréalisable en l'état, le menu Outils > SQL n'existe pas sous Calc.
C'est possible de programmer en Basic aussi. Il suffit d'étudier CalcSQL qui montre comment faire des SELECT pour l'adapter à du UPDATE.
Cette section n'étant pas dévolue aux macros (cf. bandeau rouge en haut de la page), il faudra poursuivre au bon endroit.
Pour faciliter les recherches, tu mettras un lien vers le nouveau fil afin que tout le monde puisse suivre lors d'une recherche.
-
Artazis
- NOOuvel adepte

- Messages : 19
- Inscription : 18 janv. 2023 14:44
Re: Modifier une base de données MySQL
J'y ai répondu dans mon message de 11h44Oui et c'est pour cela que je te demandais si tu passais par ce biais pour récupérer tes données.![]()
Je vais creuser plusieurs pistes : python, calcSQL (merci Dude).
La suite dans la section Macros et API dont voici le lien
viewtopic.php?t=66728
PS : un peu de mal psychologiquement à mettre la balise [résolu] alors que ça ne l'est pas.
Dernière modification par Artazis le 13 févr. 2023 14:32, modifié 1 fois.
Linux mint 20.3
Libre office 6.4.7.2 (Version stable des dépôts de mint)
Libre office 6.4.7.2 (Version stable des dépôts de mint)
-
Dude
- IdOOle de la suite

- Messages : 26201
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
-
Artazis
- NOOuvel adepte

- Messages : 19
- Inscription : 18 janv. 2023 14:44
Re: Modifier une base de données MySQL
Oui, mauvais balisage. J'ai envoyé un message aux admins pour demander le déverrouillage.
La question est en programmation, pas la solution. Du moins, pas encore.
Linux mint 20.3
Libre office 6.4.7.2 (Version stable des dépôts de mint)
Libre office 6.4.7.2 (Version stable des dépôts de mint)
-
jeanmi2403
- SuppOOrter

- Messages : 1485
- Inscription : 18 janv. 2008 09:02
- Localisation : Val de Marne
Re: Modifier une base de données MySQL
Bonsoir,
Quand on sait comment fonctionne ChatGPT (prolongation statistique du plus probable) il a assemblé tout un tas de choses trouvées sur la base qu'on lui a offerte.
En tout cas la formule qu'il donne relève du délire hallucinatoire...
Si c'est possible en python, ça l'est aussi en Basic.
Si on sait quels sont exactement les champs à modifier dans la base, ce n'est pas trop difficile.
Avec un cahier des charges très précis.
A plus
Pour python, pas de précipitation !Artazis a écrit : ↑13 févr. 2023 11:38 J'ai essayé chatGPT. La réponse est bluffante et me donne une piste sérieuse. Voici ce qu'il me répond à ma question :
Ok. apparemment, c'est possible de programmer en python avec libre office Calc et ainsi envoyer mes requêtes de modification de ma base
Je vais creuser dans ce sens.
Quand on sait comment fonctionne ChatGPT (prolongation statistique du plus probable) il a assemblé tout un tas de choses trouvées sur la base qu'on lui a offerte.
En tout cas la formule qu'il donne relève du délire hallucinatoire...
Si c'est possible en python, ça l'est aussi en Basic.
Si on sait quels sont exactement les champs à modifier dans la base, ce n'est pas trop difficile.
Avec un cahier des charges très précis.
A plus
Jean-Michel
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
LibO 25.2 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 24.8 sur OpenSuse & Linux MX
-
Artazis
- NOOuvel adepte

- Messages : 19
- Inscription : 18 janv. 2023 14:44
Re: Modifier une base de données MySQL
Ca fonctionne. Je vais mettre la solution dans la discussion dont le lien est situé un peu plus haut.
Je n'en sais rien et je ne suis pas expert en chatGPT. Ce qui est sur, c'est que ça m'a mis sur une bonne voie.Quand on sait comment fonctionne ChatGPT (prolongation statistique du plus probable) il a assemblé tout un tas de choses trouvées sur la base qu'on lui a offerte.
En tout cas la formule qu'il donne relève du délire hallucinatoire...
Pas sur que l'envoie de requète SQL fonctionne bien avec Basic alors qu'avec python pas de souci. Peut être avec calcSql mais ça me semble un peu dépassé.Si c'est possible en python, ça l'est aussi en Basic.
Pourtant, jusque là, personne ne m'a donné de piste valable à part Dude avec calcSQL que je n'ai pas suffisamment creusé pour juger.Si on sait quels sont exactement les champs à modifier dans la base, ce n'est pas trop difficile.
Désolé jeanmi pour toutes ces réponses un peu cinglante. Je devrais te remercier pour ta participation à ma discussion, mais mon expérience sur ce forum a été désagréable.
Linux mint 20.3
Libre office 6.4.7.2 (Version stable des dépôts de mint)
Libre office 6.4.7.2 (Version stable des dépôts de mint)