Index des Archives

www.ancestrologie.com
Le nouvel ensemble de forums touchant à Ancestrologie et à ses plugins 


Lister les événements"divers"
Aller à la page Précédente  1, 2
 
Poster un nouveau sujet   Répondre au sujet    Index des Archives -> BOA
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
pthierry
Pro
Pro


Inscrit le: 27 Fév 2003
Messages: 455
Localisation: Paris 13

MessagePosté le: 23 Jan 2005 12:10    Sujet du message: Répondre en citant

Lya a écrit:
Je voudrais essayer de mettre automatiquement le "surplus" du champ Description dans les notes avant de le couper à 60 caractères...

J'ai essayé ça, mais ça bloque ! Où est mon erreur ? Sad

update EVENEMENTS_IND
set EV_IND_COMMENT = concat (EV_IND_COMMENT , ' ', substr (EV_IND_DESCRIPTION, 60))
where strlen (EV_IND_DESCRIPTION) > 60


rappel
EV_IND_COMMENT est un Blob de type texte
EV_IND_DESCRIPTION est un varchar de 90
attention le langage SQL bien que standardisé n'est pas tout à fait identique dans chaque base de données
je vois 2 erreurs dans ta requete
la concaténation : || 2 barres parallèles (touches Alt Gr + touche num 6)
et substr :
Functional description:
substr(s,m,n) returns the substring f s which starts at position m and
ending at position n.

ce qui donnerait quelquechose comme ça
set EV_IND_COMMENT = EV_IND_COMMENT ||' '|| substr (EV_IND_DESCRIPTION,1,10)
le malheur c'est que EV_IND_COMMENT est un Blob et on ne peut pas concaténer un blob avec un autre ou une chaîne de caractères
_________________
N'oubliez pas la fonction Rechercher...
Cordialement Pierre
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
Lya
Pro
Pro


Inscrit le: 30 Juil 2003
Messages: 945
Localisation: Seine-et-Marne (77)

MessagePosté le: 23 Jan 2005 17:28    Sujet du message: Répondre en citant

macpc a écrit:
Bonsoir Amandine

Ton truc m'interesse!

Ah oui, quelle coïncidence ! ?! Wink Very Happy Laughing

pthierry a écrit:

rappel
EV_IND_COMMENT est un Blob de type texte
EV_IND_DESCRIPTION est un varchar de 90
attention le langage SQL bien que standardisé n'est pas tout à fait identique dans chaque base de données
je vois 2 erreurs dans ta requete
la concaténation : || 2 barres parallèles (touches Alt Gr + touche num 6)
et substr :
Functional description:
substr(s,m,n) returns the substring f s which starts at position m and
ending at position n.


Merci pour les explications Pierre ! J'ai une autre question de débutante Wink :

par chance, pour tous mes individus "à problème", le champ notes était vide, donc j'ai simplement transféré le contenu de EV_IND_DESCRIPTION dans EV_IND_COMMENT avec cette procédure :
Code:
update EVENEMENTS_IND
set EV_IND_COMMENT = EV_IND_DESCRIPTION
where strlen (EV_IND_DESCRIPTION) > 59


maintenant, je voudrais vider le contenu de ces champs EV_IND_DESCRIPTION mais j'ai des problèmes avec la fonction DELETE...
j'ai essayé ça la place, mais ce n'est pas pareil, n'est-ce pas ? Confused
Code:
update EVENEMENTS_IND
set EV_IND_DESCRIPTION = ''
where strlen (EV_IND_DESCRIPTION) > 59


Pour le problème des blobs, si j'ai bien compris, on ne peut pas manipuler leur contenu, donc il faudrait l'extraire puis le réinjecter ? Sad

Bonne chance aux Pros ! Very Happy
_________________

Un bon voyageur n'a pas d'itinéraire fixe, et n'a pas l'intention d'arriver...
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur
Gvx
Spécialiste
Spécialiste


Inscrit le: 27 Déc 2004
Messages: 32
Localisation: Moselle (57)

MessagePosté le: 23 Jan 2005 18:38    Sujet du message: Répondre en citant

Bonjour Amandine,

pour vider le champ EV_IND_DESCRIPTION je pense que tu peux utiliser la procedure suivante:
Code:
update EVENEMENTS_IND
set EV_IND_DESCRIPTION = NULL
where strlen (EV_IND_DESCRIPTION) > 59

qui permettra de remettre le champ a l'etat initial.

Si tu as deja executer la requete suivante:
Code:
update EVENEMENTS_IND
set EV_IND_DESCRIPTION = ''
where strlen (EV_IND_DESCRIPTION) > 59

il faudra utiliser cette procedure:
Code:
update EVENEMENTS_IND
set EV_IND_DESCRIPTION = NULL
where EV_IND_DESCRIPTION =''

Je n'ai pas verifier l'efficacité de cette derniere.
_________________
A+ Gilles
Les petites histoires qui ont fait la grande histoire en Moselle
La généalogie de la famille
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
pthierry
Pro
Pro


Inscrit le: 27 Fév 2003
Messages: 455
Localisation: Paris 13

MessagePosté le: 23 Jan 2005 20:31    Sujet du message: Répondre en citant

Lya a écrit:

par chance, pour tous mes individus "à problème", le champ notes était vide, donc j'ai simplement transféré le contenu de EV_IND_DESCRIPTION dans EV_IND_COMMENT avec cette procédure :
Code:
update EVENEMENTS_IND
set EV_IND_COMMENT = EV_IND_DESCRIPTION
where strlen (EV_IND_DESCRIPTION) > 59


maintenant, je voudrais vider le contenu de ces champs EV_IND_DESCRIPTION mais j'ai des problèmes avec la fonction DELETE...
j'ai essayé ça la place, mais ce n'est pas pareil, n'est-ce pas ? Confused
Code:
update EVENEMENTS_IND
set EV_IND_DESCRIPTION = ''
where strlen (EV_IND_DESCRIPTION) > 59




pour la 1ère requete : la mise à jour a du se faire pour ts les individus
même si le champ notes était plein Twisted Evil (il écrase les données existantes)
pour le delete : il sert à supprimer des enregistrements
Evil or Very Mad heureusement que ça n'a pas fonctionné sinon ta table evenements_ind aurait été vidée Shocked du nettoyage par le vide
si tu veux vider le contenu d'un champ c'est encore un update et le mieux c'est la remise à null
_________________
N'oubliez pas la fonction Rechercher...
Cordialement Pierre
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
Lya
Pro
Pro


Inscrit le: 30 Juil 2003
Messages: 945
Localisation: Seine-et-Marne (77)

MessagePosté le: 10 Fév 2005 03:15    Sujet du message: Répondre en citant

Juste un petit mot (avec bcp de retard) pour vous remercier de vos explications Gilles & Pierre ! Wink

Pas trop le temps de continuer mes expérimentations sql-iennes en ce moment, donc ... la suite de mes aventures, plus tard ! Very Happy Wink
_________________

Un bon voyageur n'a pas d'itinéraire fixe, et n'a pas l'intention d'arriver...
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur
Lya
Pro
Pro


Inscrit le: 30 Juil 2003
Messages: 945
Localisation: Seine-et-Marne (77)

MessagePosté le: 14 Fév 2005 12:31    Sujet du message: Répondre en citant

Bonjour à tous Very Happy

J'ai encore 1 question ! Laughing En tapant :

update EVENEMENTS_IND
set EV_IND_DESCRIPTION = substr(EV_IND_DESCRIPTION, 1, 59)
where strlen (EV_IND_DESCRIPTION) > 59

j'obtiens encore un message d'erreur (même chose sans la condition strlen d'ailleurs).
Qu'est-ce qui ne va pas cette fois ? Rolling Eyes
_________________

Un bon voyageur n'a pas d'itinéraire fixe, et n'a pas l'intention d'arriver...
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur
Gvx
Spécialiste
Spécialiste


Inscrit le: 27 Déc 2004
Messages: 32
Localisation: Moselle (57)

MessagePosté le: 14 Fév 2005 22:57    Sujet du message: Répondre en citant

Bonsoir Amandine,

Je viens de tester la requete suivante adaptée a ma base de test
Code:
update EVENEMENTS_IND
set EV_IND_DESCRIPTION = substr(EV_IND_DESCRIPTION, 1, 10)
where strlen (EV_IND_DESCRIPTION) > 10 and EV_IND_KLE_DOSSIER =9


Je n'ai aucun message d'erreur et la requete execute bien la tache demandée.

Peux tu preciser la nature du message d'erreur obtenu.
_________________
A+ Gilles
Les petites histoires qui ont fait la grande histoire en Moselle
La généalogie de la famille
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Lya
Pro
Pro


Inscrit le: 30 Juil 2003
Messages: 945
Localisation: Seine-et-Marne (77)

MessagePosté le: 16 Fév 2005 01:30    Sujet du message: Répondre en citant

Bonsoir Gilles

Merci beaucoup pour ta réponse !!! Very Happy Very Happy Very Happy

J'ai réussi à comprendre le pourquoi du comment... Idea :
En fait, j'obtenais le message type "Erreur lors de l'accès aux données", blocage d'Ancestro à la sortie du Bois (pardon BOA Wink ) et arrêt du programme via le Gestionnaire des tâches.

Comme tu y arrivais, je me suis dit qu'il y avait un problème avec ma base et effectivement, en essayant avec une base "propre", ça marche parfaitement.

Finalement, j'ai réussi à localiser l'origine du blocage dans un dossier de test qui me servait justement à tester ces erreurs de type "Mismatch..."
Je pense que c'est parce que j'ai forcé la valeur à + de 60 caractères au départ, ou... c'est autre chose... J'ai un peu malmené cette pauvre base je crois ! Laughing Laughing Laughing
_________________

Un bon voyageur n'a pas d'itinéraire fixe, et n'a pas l'intention d'arriver...
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Index des Archives -> BOA Toutes les heures sont au format GMT + 2 Heures
Aller à la page Précédente  1, 2
Page 2 sur 2

 
Sauter vers:  
Vous ne pouvez pas poster 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 voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com