Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recherche dans une base de données Access

12 réponses
Avatar
Sophie
Bonjour,

Lorsque j'effectue une recherche avec le mot suivant PO # 5432 dans la base
de données, il ne le trouve pas et je sais qu'il existe. Je crois que le
problème provient du dièse (#) dans le mot, existe t'il une solution à ce
problème?

Merci à l'avance pour votre aide,


Sophie

10 réponses

1 2
Avatar
dark poulpo
c'est quoi votre requete ?

--
-----
http://dark.freezee.org/
- Dark Update v2.0
- Dark Emule v0.44b r4
- Dark 3D-X 0.7beta
- Dark Shell 1.20
Avatar
dark poulpo
autre chose, apres avoir affiché votre requête, pourriez vous crer un nouvel
enregistrement avec la meme phrase "PO # 5432" et refaire une recherche,
afin de verifier que l'autre donnée est bien ecrite comme cela et qu'il n'y
a pas un espace en trop quelque part.



--
-----
http://dark.freezee.org/
- Dark Update v2.0
- Dark Emule v0.44b r4
- Dark 3D-X 0.7beta
- Dark Shell 1.20
Avatar
Alain Ménard
Bonjour,

et quelque chose du genre :

WHERE [Code]="PO # 5432#"

et si ce code est dans une textbox :

WHERE [Code]='" & me.txtCode & "'"

ou si seul le numéro est variable :

WHERE [Code]="PO # " & str(me.TxtCode)


Alain
Avatar
Sophie
Bonjour,

Voici ma requête:

strRefClient = Replace(Trim(txtRefClient.Text), "'", "''")

strSQLRefClient = "SELECT [Table ventes].NumVente, [Table
ventes].RefClient," & _
" [Table clients].NomCli " & _
" FROM [Table ventes] INNER JOIN [Table
clients] ON " & _
" [Table ventes].NumClient = [Table
clients].Numéro " & _
" Where RefClient LIKE '" & strRefClient & "*'
ORDER BY [Table ventes].RefClient;"

Set rsRecherche = dbGivan.OpenRecordset(strSQLRefClient)

J'ai recréé un nouvel enregistrement avec le même mot et toujours aucun
résultat dans ma recherche et j'ai créé un nouvel enregistrement avec ce mot
PO#222 et sa ne fonctionne pas, si j'écris seulement PO dans ma recherche là
sa fonctionne tous les mots qui commencent par PO vont être affichés même
les mots PO # 5432 et PO#222.

Merci pour votre aide,

Sophie


"dark poulpo" a écrit dans le message de
news:42300e22$0$19327$
autre chose, apres avoir affiché votre requête, pourriez vous crer un


nouvel
enregistrement avec la meme phrase "PO # 5432" et refaire une recherche,
afin de verifier que l'autre donnée est bien ecrite comme cela et qu'il


n'y
a pas un espace en trop quelque part.



--
-----
http://dark.freezee.org/
- Dark Update v2.0
- Dark Emule v0.44b r4
- Dark 3D-X 0.7beta
- Dark Shell 1.20




Avatar
dark poulpo
1)
strRefClient = Replace(Trim(txtRefClient.Text), "'", "''")


verifiez bien avec PO # 5432 (car jai plus vb) que vous avez bien le même
resultat dans strRefClient que dans txtRefClient.Text (sans les espaces et
les '' bien sur)

2)
" Where RefClient LIKE '" & strRefClient & "*'


indiquez de quel table vient RefClient

essaiyez un nouvel enreg mais avec un autre caractere que # ( ! par
exemple)

dark poulpo

-----
http://dark.freezee.org/
Avatar
Sophie
1)
strRefClient = Replace(Trim(txtRefClient.Text), "'", "''")
verifiez bien avec PO # 5432 (car jai plus vb) que vous avez bien le même
resultat dans strRefClient que dans txtRefClient.Text (sans les espaces et
les '' bien sur)

J'ai exactement le même résultat.



2)
" Where RefClient LIKE '" & strRefClient & "*'
indiquez de quel table vient RefClient

J'ai indiqué la table et sa ne fonctionne toujours pas.



essaiyez un nouvel enreg mais avec un autre caractere que # ( ! par
exemple)

J'ai essayé un nouvelle enreg. avec le caractère ! et sa fonctionne



Merci encore pour votre aide,

Sophie
Avatar
dark poulpo
ya pas de koi!

essayez ca:
1)
Where RefClient = 'PO # 5432'

et si ca marche

Where RefClient = '" & strRefClient & "'

si ca marche

faudrait verifier dans la doc si le # n'as pas une signification pour le
LIKE (si c'ets le cas, tenez moi au courant, ca m'interresse)

--
-----
http://dark.freezee.org/
- Dark Update v2.0
- Dark Emule v0.44b r4
- Dark 3D-X 0.7beta
- Dark Shell 1.20
Avatar
jt
Dans sql le diese # est un caractere generique il permet de remplacer un
chiffre, pour pouvoir recherche la chaine # il faut mettre le diese entre
crochet ainsi votre requete devient
SELECT * FROM TABLE WHERE CHAMP='PO [#] 5432'
ou
SELECT * FROM TABLE WHERE CHAMP LIKE 'PO [#] *'
poutr rechercher toutes les occurences commencant par PO #
Corialement
"Sophie" a écrit dans le message de news:

Bonjour,

Lorsque j'effectue une recherche avec le mot suivant PO # 5432 dans la
base
de données, il ne le trouve pas et je sais qu'il existe. Je crois que le
problème provient du dièse (#) dans le mot, existe t'il une solution à ce
problème?

Merci à l'avance pour votre aide,


Sophie




Avatar
jt
Voici l'aide d'ACCESS
Utilisation des caractères génériques dans la recherche de valeurs
partielles ou équivalentes

Vous utilisez des caractères génériques pour remplacer d'autres caractères
lorsque vous spécifiez la valeur recherchée et que vous :

· ne connaissez qu'une partie de cette valeur ;
· voulez rechercher des valeurs commençant par une lettre spécifique ou
correspondant à une séquence spécifique.

Vous pouvez utiliser les caractères suivants dans les boîtes de dialogue
Rechercher et Remplacer ou dans les requêtes, les commandes et les
expressions pour trouver des valeurs de champs, des enregistrements ou des
noms de fichiers.

Caractère Utilisation Exemple
* Représente un nombre quelconque de caractères. Il peut constituer le
premier ou le dernier caractère d'une chaîne. bl* trouve blanc, blé, bleu
? Représente un seul caractère alphabétique. Gr?s trouve gras, gris, gros
[ ] Représente l'un des caractères entre crochets. B[ae]lle trouve balle et
belle, mais pas bulle ni bille
! Représente tout caractère qui n'est pas entre crochets. b[!ae]lle trouve
bulle et bille, mais pas balle ni belle
- Représente l'un des caractères de la plage. Vous devez spécifier la plage
dans l'ordre croissant (de A à Z et non de Z à A). b[a-c]r trouve bar, bbr
et bcr
# Représente un caractère numérique quelconque. 1#3 trouve 103, 113, 123
Remarques

· Les caractères génériques doivent être utilisés avec des données de type
Texte. Toutefois, vous pouvez les utiliser pour d'autres types de données,
comme les dates, si vous ne modifiez pas le paramétrage de la section
Régionale pour ces types de données.
· Si vous utilisez des caractères génériques pour rechercher un astérisque
(*), un point d'interrogation (?), un dièse (), un crochet gauche ([) ou un
tiret (-), vous devez mettre l'élément recherché entre crochets. Par
exemple, pour trouver un point d'interrogation, tapez [?] dans la boîte de
dialogue Rechercher. Si vous recherchez un tiret ainsi que d'autres
caractères, placez le tiret avant ou après tous les autres caractères entre
des crochets. Cependant, si vous placez un point d'exclamation (!) après le
crochet gauche, placez le tiret après le point d'exclamation. Si vous
recherchez un point d'exclamation (!) ou un crochet droit (]), vous ne devez
pas le mettre entre des crochets.

· Vous ne pouvez pas rechercher simultanément un crochet gauche et un
crochet droit ([ ]) dans la mesure où Microsoft Access interprète cette
combinaison de caractères comme une chaîne de longueur nulle.
· Si vous recherchez des valeurs dans une table autre qu'une table Microsoft
Access, par exemple dans une table Microsoft SQL Server, il peut s'avérer
nécessaire d'utiliser d'autres caractères génériques. Pour de plus amples
informations, consultez la documentation se rapportant à cette source de
données.

Cordialement

"jt" a écrit dans le message de news:

Dans sql le diese # est un caractere generique il permet de remplacer un
chiffre, pour pouvoir recherche la chaine # il faut mettre le diese entre
crochet ainsi votre requete devient
SELECT * FROM TABLE WHERE CHAMP='PO [#] 5432'
ou
SELECT * FROM TABLE WHERE CHAMP LIKE 'PO [#] *'
poutr rechercher toutes les occurences commencant par PO #
Corialement
"Sophie" a écrit dans le message de news:

Bonjour,

Lorsque j'effectue une recherche avec le mot suivant PO # 5432 dans la
base
de données, il ne le trouve pas et je sais qu'il existe. Je crois que le
problème provient du dièse (#) dans le mot, existe t'il une solution à ce
problème?

Merci à l'avance pour votre aide,


Sophie








Avatar
Sophie
Bonjour,

Lorsque j'utilise ceci:

strRefClient = Replace(Trim(txtRefClient.Text), "#", "[#]")


strSQLRefClient = "SELECT [Table ventes].NumVente, [Table
ventes].RefClient," & _
" [Table clients].NomCli " & _
" FROM [Table ventes] INNER JOIN [Table
clients] ON " & _
" [Table ventes].NumClient = [Table
clients].Numéro " & _
" Where RefClient LIKE '" & strRefClient & "*'
ORDER BY [Table ventes].RefClient;"

Set rsRecherche = dbGivan.OpenRecordset(strSQLRefClient)

Sa fonctionne très bien, mais lorsque j'utilise ceci avant ma requête:

strRefClient = Replace(Trim(txtRefClient.Text), "'", "''")
strRefClient = Replace(Trim(txtRefClient.Text), "#", "[#]")



J'obtiens l'erreur pour l'apostrophe, je peux utiliser un ou l'autre mais
pas les deux.



Merci à tous pour votre aide,



Sophie


"jt" a écrit dans le message de
news:
Dans sql le diese # est un caractere generique il permet de remplacer un
chiffre, pour pouvoir recherche la chaine # il faut mettre le diese entre
crochet ainsi votre requete devient
SELECT * FROM TABLE WHERE CHAMP='PO [#] 5432'
ou
SELECT * FROM TABLE WHERE CHAMP LIKE 'PO [#] *'
poutr rechercher toutes les occurences commencant par PO #
Corialement
"Sophie" a écrit dans le message de news:

> Bonjour,
>
> Lorsque j'effectue une recherche avec le mot suivant PO # 5432 dans la
> base
> de données, il ne le trouve pas et je sais qu'il existe. Je crois que le
> problème provient du dièse (#) dans le mot, existe t'il une solution à


ce
> problème?
>
> Merci à l'avance pour votre aide,
>
>
> Sophie
>
>




1 2