|
Problème d'insertion avec un champ multi-lignes |
|
Stagiaire WDF
Inscrit: 09/03/2006 10:33
Post(s): 4
|
Bonjour, Comme le précise le titre j'ai un problème lorsque je souhaite insérer (à l'aide d'une requête), un champ multi-lignes. En effet, il prend en compte les sauts de lignes, y compris dans la requête Un exemple : Citation : <Texte saisi> <2ème Ligne de texte saisi> Dans la requête, il va alors m'insérer la chose de cette manière : Citation : // Insertion d'une réservation InserLig est une chaîne InserLig = "INSERT INTO lig_ab VALUES ('"+<Texte saisi> <2ème Ligne de texte saisi>+"')" Du coup, j'obtiens une erreur de syntaxe ! Je suis un peu perdu. P.S. : Mon champ multi-lignes est en type Mémo. De plus, j'utilise des fichiers .DBF (je précise au cas où il y aurait un lien... Moi, je n'en vois pas mais on ne sait jamais !) D'avance MERCI à ceux qui pourront me donner une réponse ou au moins une piste...
Contribution le : 09/03/2006 10:36
Edité par kuSo sur 9/3/2006 10:57:42
|
|
|
Re: Problème d'insertion avec un champ multi-lignes |
|
Animateur WDF
Inscrit: 19/01/2004 13:48
De www.sigmasys.fr
Post(s): 988
|
Bonjour,
Il ne faut pas spécifier la colonne à renseigner par hasard ?
InserLig = "INSERT INTO lig_ab(Nom_colonne_a_modifier) VALUES ('"+<Texte saisi> <2ème Ligne de texte saisi>+"')"
Bon dév.,
Totof
Contribution le : 09/03/2006 11:06
|
|
|
Re: Problème d'insertion avec un champ multi-lignes |
|
Stagiaire WDF
Inscrit: 09/03/2006 10:33
Post(s): 4
|
Je ne pense pas qu'il faut spécifier les colonnes pour l'insertion étant donné que lorsque je n'insère qu'une ligne l'enregistrement se fait naturellement. Le problème vient de ces deux lignes dans le champ avec lesquelles il prend en compte le saut de ligne, coupant alors la requête (j'espère que je suis clair ) Voici le vrai code (pour ceux à qui ça peut éclairer...) : Citation : // Insertion d'une réservation InserLig est une chaîne InserLig = "INSERT INTO lig_ab VALUES ('"+... " "+ S_ComRes +"',"+... " "+ S_DegréRes +","+... " CTOD('"+ DateVersChaîne(S_DateRes,"MM/JJ/AAAA") +"'),"+... " "+ AutoIncrement +","+... " '"+ S_NotesRes +"',"+... " "+ SQLCol("REQTECH", 2) +","+... " "+ SQLCol("REQVD", 2) +")"
Je précise que le champ "S_NotesRes" est celui qui pose problème ! EDIT : J'ai testé au cas où ta réponse, mais c'est la même chose !!
Contribution le : 09/03/2006 11:14
|
|
|
Re: Problème d'insertion avec un champ multi-lignes |
|
Utilisateur WDF
Inscrit: 19/05/2004 12:10
De LYON
Post(s): 59
|
Bonjour,
Une idée à essayer : remplacer le "RC" (retour ligne) par rien (ou par un espace) sur la ligne " '"+ S_NotesRes +"',"+...
" '"+ Remplace(S_NotesRes,RC," ") +"',"+...
Peut-être...
Contribution le : 09/03/2006 13:04
|
|
|
Re: Problème d'insertion avec un champ multi-lignes |
|
Stagiaire WDF
Inscrit: 09/03/2006 10:33
Post(s): 4
|
Merci, effectivement, j'avais pas pensé à ça ! Et après un petit essai, ça a l'air de fonctionner ! Le seul petit hic, c'est que lorsque je veux ensuite visualiser ce que j'ai enregistré sur plusieurs lignes (pour l'imprimer ou autre..), il me l'affiche sur tout une ligne... C'est un peu embêtant mais au moins je pense que ta solution peut m'aider !
Contribution le : 09/03/2006 14:11
|
|
|
Re: Problème d'insertion avec un champ multi-lignes |
|
Utilisateur WDF
Inscrit: 19/05/2004 12:10
De LYON
Post(s): 59
|
Et bien, dans ce cas, remplacer "RC" par un ou plusieurs caractères particuliers qui ne risquent pas d'exister dans le texte d'origine, genre "##" ou "@@" ou n'importe quel repère personnel, puis faire la transformation inverse avant d'afficher le texte.
Remplace(S_NotesRes,RC,"##")
Remplace(S_NotesRes,"##",RC)
Attention quand même aux caractères réservés de SQL (à vérifier, je ne les ai pas en tête).
Contribution le : 09/03/2006 16:08
|
|
|
Re: Problème d'insertion avec un champ multi-lignes |
|
Stagiaire WDF
Inscrit: 09/03/2006 10:33
Post(s): 4
|
Je vais conservé provisoirement cette solution puisque le logiciel que je réalise actuellement sur Windev possède également une version sur FoxPro (les deux logiciels doivent partager les mêmes tables...). Donc à terme, il faudra que je trouve une solution plus directe pour que l'affichage se fasse correctement sous FoxPro également. Merci tout de même !
Contribution le : 09/03/2006 16:50
|
|
|
Re: Problème d'insertion avec un champ multi-lignes |
|
Animateur WDF
Inscrit: 26/06/2002 16:24
De wdforge.org
Post(s): 2822
|
POur infos, je vous invite alors à utiliser comme séparateur ceux reconnus par d'autres outils (C, PHP etc) . C'est utile pour tout tranfert de données...
/t <=> TAB /n <=> RC // <=> / /" <=> "
et je dois en oublier...
Contribution le : 09/03/2006 17:11
|
|
|
Re: Problème d'insertion avec un champ multi-lignes |
|
Developpeur WDF
Inscrit: 24/01/2006 13:42
De Chartres
Post(s): 142
|
juste pour rectification se sont des \ et non des / \t <=> TAB et non /t <=> TAB
bon dev
Contribution le : 10/03/2006 10:57
|
|
|
Re: Problème d'insertion avec un champ multi-lignes |
|
Anonyme
|
Merci beaucoup ! J'ai enfin trouvé la solution, et cela grâce à vous puisque vous m'avez aider à me mettre sur la bonne piste En effet, au lieu d'utiliser justement du code C ou autre, il est forcément plus logique d'utiliser le code utilisé par FoxPro pour les faire comprendre à mes fichiers DBF ! Voilà donc ce qu'il a fallut que je tape : Citation : Remplace(S_NotesRes,RC,"'+chr(13)+chr(10)+'")
Voilà ! MERCI ENCORE pour TOUT !
Contribution le : 10/03/2006 17:13
|
|
|
Re: Problème d'insertion avec un champ multi-lignes |
|
Animateur WDF
Inscrit: 26/06/2002 16:24
De wdforge.org
Post(s): 2822
|
Mea Culpa Celtic !
Contribution le : 10/03/2006 22:47
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|