FORUM DES UTILISATEURS / USER'S NEWSGROUP


Heures au format UTC + 1 heure




Publier un nouveau sujet Répondre au sujet  [ 3 messages ] 
Auteur Message
 Sujet du message: Mise à jour d'un champ texte
MessagePublié: 15 Nov 2016 9:44 
Hors-ligne
Abonné

Inscrit le: 16 Déc 2005 15:28
Messages: 34
Localisation: TULLE
Bonjour,

J'ai réalisé un petit script afin d'automatiser la saisie d'un texte dans le champ "texte interne" d'un produit :

UPDATE "Produits" SET
"Texte interne" = Text2Blob ('Docs CTRL')
WHERE "Réf. produit"='[Réf. produit]';

Jusque là, pas de souci.

Seulement quand il y a déjà un texte dans le champ, celui est effacé et remplacé par "Docs CTRL" alors que je voudrai que ça s'ajoute et non que ça remplace.

Avez-vous une solution ?

Merci

_________________
Vincent - CTM - SoluneAlta 2015 V15.1.2


Haut
 Profil  
 
MessagePublié: 15 Nov 2016 16:53 
Hors-ligne
Administrateur

Inscrit le: 03 Fév 2015 16:02
Messages: 67
Bonjour,

L'ajout d'un texte passe par la concaténation de champs de type Blob.
La fonction Solune sTable2Text existe pour cela.

Voyez plutôt :
Code:
//Table qui servira à construire le texte via sTable2Text
DROP TABLE "##TMP-TextesConcat";
CREATE TABLE "##TMP-TextesConcat"(
  "Indice" AUTOINC,
  "Produit" NULLSTRING(40),
  "TexteConcat" NULLSTRING(1000)
);

//Texte à concaténer
INSERT INTO "##TMP-TextesConcat" ("Produit", "TexteConcat") VALUES ('[Réf. produit]', 'Docs CTRL');

//Récupération des produits à mettre à jour dans une table temporaire pour ne pas mettre à jour directement la table solune (Performances et Moins de risque)
SELECT * INTO "##TMP-ProdMaj" FROM "Produits" WHERE "Réf. produit" = '[Réf. produit]';

//Concaténation des textes en un seul Blob
sTable2Text(##TMP-ProdMaj;##TMP-TextesConcat;Réf. Produit;Produit;Indice;Texte;;<TexteConcat>;;);

//Debug éventuel avant insertion finale
//SELECT * FROM "##TMP-ProdMaj" WHERE "Réf. Produit" = '[Réf. produit]';

//Mise à jour des véritables produits Solune.
UPDATE "Produits" P SET "Texte" = (SELECT "Texte" FROM "##TMP-ProdMaj" T WHERE T."Réf. Produit" = P."Réf. Produit") WHERE P."Réf. Produit" = '[Réf. produit]';



Cordialement.

_________________
Nicolas - Service Développement Solune


Haut
 Profil  
 
MessagePublié: 16 Nov 2016 8:51 
Hors-ligne
Abonné

Inscrit le: 16 Déc 2005 15:28
Messages: 34
Localisation: TULLE
Merci.

Ca marche

_________________
Vincent - CTM - SoluneAlta 2015 V15.1.2


Haut
 Profil  
 
Afficher les messages publiés depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 3 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Rechercher pour:
Aller vers:  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduction réalisée par Maël Soucaze © 2010 phpBB.fr