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

Erreur 13 dans SQL

6 réponses
Avatar
Guy FALESSE
Bonjour à tous,

J'ai une erreur d'incompatibilté dans ce SQL

Dim meR as Control, mePT as Control, meF as Form, rst as RecordSet, maBD as
DataBase
Set meF = Forms!AjoutPièces
Set meR = meF!Référence 'champ texte
Set mePT = meF!PrixTarif 'champ monétaire
Set rst = maBD.OpenRecordset("EntréePiècesStock", dbOpenDynaset)
rst.FindFirst "Référence=' " & meR & " ' " AND "PrixTarif=" & mePT

etc.

Où serait donc l'erreur SVP?

D'avance merci pour vos conseils.

Guy FALESSE

6 réponses

Avatar
3stone
Salut,

"Guy FALESSE"
| J'ai une erreur d'incompatibilté dans ce SQL
|
| Dim meR as Control, mePT as Control, meF as Form, rst as RecordSet, maBD as
| DataBase
| Set meF = Forms!AjoutPièces
| Set meR = meF!Référence 'champ texte
| Set mePT = meF!PrixTarif 'champ monétaire
| Set rst = maBD.OpenRecordset("EntréePiècesStock", dbOpenDynaset)
| rst.FindFirst "Référence=' " & meR & " ' " AND "PrixTarif=" & mePT


une première ici:

rst.FindFirst "Référence=' " & meR & " ' AND PrixTarif=" & mePT



PS:
je suppose aussi que tu supprime les espaces entre apostrophe et guillemet


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Eric
Bonjour Guy,

Des espaces en trop entre les cotes et un " de trop.

Puisque tu définis meR et mePT comme des contrôles, je serai tenté de
mettre :
rst.FindFirst "Référence='" & meR & "' AND "PrixTarif=" & CCur(mePT)
pour forcer le type.
Car si tu demandes le TypeName() sur ces contrôles, Access va te
retourner des TextBoxes et donc par défaut ce sont des valeurs chaînes
(String)


Autre idée,
le mePT ne contiendrait-il pas un mauvais séparateur décimal ? (Le point
pour la virgule ou l'inverse)

--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Bonjour à tous,

J'ai une erreur d'incompatibilté dans ce SQL

Dim meR as Control, mePT as Control, meF as Form, rst as RecordSet, maBD as
DataBase
Set meF = Forms!AjoutPièces
Set meR = meF!Référence 'champ texte
Set mePT = meF!PrixTarif 'champ monétaire
Set rst = maBD.OpenRecordset("EntréePiècesStock", dbOpenDynaset)
rst.FindFirst "Référence=' " & meR & " ' " AND "PrixTarif=" & mePT

etc.

Où serait donc l'erreur SVP?

D'avance merci pour vos conseils.

Guy FALESSE




Avatar
Guy FALESSE
Salut Pierre,

Merci pour ta réponse, ça fonctionne maintenant comme il faut :-)
J'avais effectivement mis des espaces volontairement entre les apostrophes
et les guillemets.
Je ne me ferai sans doute jamais à ces syntaxes de SQL.
@+

Guy FALESSE

"3stone" a écrit dans le message de news:

Salut,

"Guy FALESSE"
| J'ai une erreur d'incompatibilté dans ce SQL
|
| Dim meR as Control, mePT as Control, meF as Form, rst as RecordSet, maBD
as
| DataBase
| Set meF = Forms!AjoutPièces
| Set meR = meF!Référence 'champ texte
| Set mePT = meF!PrixTarif 'champ monétaire
| Set rst = maBD.OpenRecordset("EntréePiècesStock", dbOpenDynaset)
| rst.FindFirst "Référence=' " & meR & " ' " AND "PrixTarif=" & mePT


une première ici:

rst.FindFirst "Référence=' " & meR & " ' AND PrixTarif=" & mePT



PS:
je suppose aussi que tu supprime les espaces entre apostrophe et guillemet


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw



Avatar
Guy FALESSE
Salut Eric,

Des espaces en trop entre les cotes et un " de trop.
Comme je le disais à Pierre, les espaces étaient voulus, par contre le

guillemet de trop non.
En fait donc, maintenant cela fonctionne bien, donc pas besoin de mettre
CCur(mePT) mais sait-on jamais.
En tout cas, merci pour ta réponse :-)
@+

Guy FALESSE



"Eric" a écrit dans le message de news:
%
Bonjour Guy,

Des espaces en trop entre les cotes et un " de trop.

Puisque tu définis meR et mePT comme des contrôles, je serai tenté de
mettre :
rst.FindFirst "Référence='" & meR & "' AND "PrixTarif=" & CCur(mePT) pour
forcer le type.
Car si tu demandes le TypeName() sur ces contrôles, Access va te retourner
des TextBoxes et donc par défaut ce sont des valeurs chaînes (String)


Autre idée,
le mePT ne contiendrait-il pas un mauvais séparateur décimal ? (Le point
pour la virgule ou l'inverse)

--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Bonjour à tous,

J'ai une erreur d'incompatibilté dans ce SQL

Dim meR as Control, mePT as Control, meF as Form, rst as RecordSet, maBD
as DataBase
Set meF = Forms!AjoutPièces
Set meR = meF!Référence 'champ texte
Set mePT = meF!PrixTarif 'champ monétaire
Set rst = maBD.OpenRecordset("EntréePiècesStock", dbOpenDynaset)
rst.FindFirst "Référence=' " & meR & " ' " AND "PrixTarif=" & mePT

etc.

Où serait donc l'erreur SVP?

D'avance merci pour vos conseils.

Guy FALESSE




Avatar
Eric
ooops !
pas de " juste avant PrixTarif
--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Bonjour Guy,

Des espaces en trop entre les cotes et un " de trop.

Puisque tu définis meR et mePT comme des contrôles, je serai tenté de
mettre :
rst.FindFirst "Référence='" & meR & "' AND "PrixTarif=" & CCur(mePT)
pour forcer le type.
Car si tu demandes le TypeName() sur ces contrôles, Access va te
retourner des TextBoxes et donc par défaut ce sont des valeurs chaînes
(String)




Avatar
Guy FALESSE
Salut Eric,

Pas de problème, c'était corrigé :-)
Encore merci pour le suivi.
@+

Guy FALESSE


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

ooops !
pas de " juste avant PrixTarif
--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Bonjour Guy,

Des espaces en trop entre les cotes et un " de trop.

Puisque tu définis meR et mePT comme des contrôles, je serai tenté de
mettre :
rst.FindFirst "Référence='" & meR & "' AND "PrixTarif=" & CCur(mePT) pour
forcer le type.
Car si tu demandes le TypeName() sur ces contrôles, Access va te
retourner des TextBoxes et donc par défaut ce sont des valeurs chaînes
(String)