Caractère spéciaux dans champs base de données

NetWork001 Messages postés 12 Date d'inscription vendredi 2 août 2002 Statut Membre Dernière intervention 5 décembre 2002 - 22 août 2002 à 21:34
zefri Messages postés 33 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 11 décembre 2002 - 28 août 2002 à 00:22
Bonjour,

Ma question est peut-être rébarbative, mais je me permets de la reposer... Quand je veux copier une ligne de données, et que, dans cette ligne, il y'a un champ qui contient un apostrophe ou une étoile, le logiciel se plante alors que je voudrai qu'il me restitue le contenu EXACT des cellules... Comment faire ?

Merci à ceux qui peuvent m'aider

7 réponses

cs_raff Messages postés 182 Date d'inscription dimanche 18 août 2002 Statut Membre Dernière intervention 5 janvier 2004 3
23 août 2002 à 05:56
la fonction Chr

alors pour le * c'est chr(42) et pour le ' c'est chr(37)..je crois. exemple "c'est" & chr(42) & "facile" & chr(42) retourne : c'est*facile*

raff
0
cs_raff Messages postés 182 Date d'inscription dimanche 18 août 2002 Statut Membre Dernière intervention 5 janvier 2004 3
23 août 2002 à 05:56
la fonction Chr

alors pour le * c'est chr(42) et pour le ' c'est chr(37)..je crois. exemple "c'est" & chr(42) & "facile" & chr(42) retourne : c'est*facile*

raff
0
cs_raff Messages postés 182 Date d'inscription dimanche 18 août 2002 Statut Membre Dernière intervention 5 janvier 2004 3
23 août 2002 à 05:56
la fonction Chr

alors pour le * c'est chr(42) et pour le ' c'est chr(37)..je crois. exemple "c'est" & chr(42) & "facile" & chr(42) retourne : c'est*facile*

raff
0
NetWork001 Messages postés 12 Date d'inscription vendredi 2 août 2002 Statut Membre Dernière intervention 5 décembre 2002
23 août 2002 à 12:18
Tu n'as pas compris ma question : je la reformule.

Certaines cellules (notamment la cellule adresse et ville) contiennent des données avec un apostrophe ou avec une étoile. Par exemple : l'auvergne. Mais lorsque le prog arrive sur cette ligne, il me note un message d'erreur car il y'a un apostrophe. Or,ce que je veux, c'est que cette cellule (et toutes les autres qui portent une étoile ou un apostrophe) soient copiées exactement : c'est à dire que si dans la table 1, il y'a marqué l'auvergne, je veux que dans la table 2, il y'ai marqué l'auvergne aussi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_dido Messages postés 41 Date d'inscription mardi 14 mai 2002 Statut Membre Dernière intervention 17 janvier 2003
26 août 2002 à 21:49
tu n'a pas beaucoup de choix, en fait il faut faire

-- Au moment ou tu ecris ds base :

Variable=Replace(txtVariable,"'","~") 'tu remplaces le ' par un ~ (caractere peu utilisé)


ensuite tu fait ton INSERT de variable, ca ecrira ds base "chemin de l~alouette"

-- Au moment de la lecture :

Variable=replace(recordset!champs,"~","'") 'tu refait l'operation inverse


et la variable egale "chemin de l'alouette"

J'espere avoir repondu assez clairement, et que c ce que tu cherché

@+
0
zefri Messages postés 33 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 11 décembre 2002
28 août 2002 à 00:21
Tout dépends avec quel système de base de données tu travailles.
Avec Oracle par exemple, l'apostrophe est le caractère de fin de chaine, donc si tu veux en insérer un dans un champ il faut le doubler.

strSQL = "insert into ma_table(ma_colonne) values ('l''Auvergne')"

ou encore
strSQL = "insert into ma_table(ma_colonne) values ('" & replace(ma_cellule.text, "'", "''") & "')"

Pour le caractère *, y'a des chances pour qu'il soit pris pour le symbole de multiplication, et que ta base de donnée n'y retrouve plus ses petits.
D'ou l'importance de placer le contenu de la cellule en question entre simples quotes pour le typer en string

strSQL = "insert into ma_table(ma_colonne) values ('" & ma_cellule.text & "')"

J'espère que ces remarques pourront t'aider.

A+
0
zefri Messages postés 33 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 11 décembre 2002
28 août 2002 à 00:22
Tout dépends avec quel système de base de données tu travailles.
Avec Oracle par exemple, l'apostrophe est le caractère de fin de chaine, donc si tu veux en insérer un dans un champ il faut le doubler.

strSQL = "insert into ma_table(ma_colonne) values ('l''Auvergne')"

ou encore
strSQL = "insert into ma_table(ma_colonne) values ('" & replace(ma_cellule.text, "'", "''") & "')"

Pour le caractère *, y'a des chances pour qu'il soit pris pour le symbole de multiplication, et que ta base de donnée n'y retrouve plus ses petits.
D'ou l'importance de placer le contenu de la cellule en question entre simples quotes pour le typer en string

strSQL = "insert into ma_table(ma_colonne) values ('" & ma_cellule.text & "')"

J'espère que ces remarques pourront t'aider.

A+
0
Rejoignez-nous