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

Signaler
Messages postés
12
Date d'inscription
vendredi 2 août 2002
Statut
Membre
Dernière intervention
5 décembre 2002
-
Messages postés
33
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
11 décembre 2002
-
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

Messages postés
182
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
5 janvier 2004
3
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
Messages postés
182
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
5 janvier 2004
3
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
Messages postés
182
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
5 janvier 2004
3
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
Messages postés
12
Date d'inscription
vendredi 2 août 2002
Statut
Membre
Dernière intervention
5 décembre 2002

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
Messages postés
41
Date d'inscription
mardi 14 mai 2002
Statut
Membre
Dernière intervention
17 janvier 2003

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
Messages postés
33
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
11 décembre 2002

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
Messages postés
33
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
11 décembre 2002

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