cs_Sismic22
Messages postés27Date d'inscriptionlundi 23 octobre 2006StatutMembreDernière intervention20 août 2007
-
26 févr. 2007 à 17:56
cs_Sismic22
Messages postés27Date d'inscriptionlundi 23 octobre 2006StatutMembreDernière intervention20 août 2007
-
27 févr. 2007 à 09:37
Salut!
J'ai un probleme lors de l'éxécution d'une requete. Il m'affiche un message d'erreur : Type de données incompatibles dans l'expression du critere.
Voici un extrait de ma requete :
requete "Select LibPanne From Panne, Présenter, Fiche Where Panne.NumPanne Présenter.NumPanne And Présenter.NumFiche = Fiche.NumFiche And Fiche.NumFiche = " & ensembleInfosFiches.Item(0) & " And DateArrivée = '" & ensembleInfosFiches.Item(1) & "' "
cameleon044
Messages postés36Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention22 novembre 2012 26 févr. 2007 à 18:16
Bonjour,
Quel type de base de donnée utilises tu ?
Dans ta base de données, le type de NumFiche est entier ? et DateArrivee une date ?
quel est le type de ensembleInfosFiches ?
d'après ce que je vois, ensembleInfosFiches.Item(0) doit contenir un nombre et ensembleInfosFiches.Item(1) une date
donc si tu as un tableau de chaine, pour ensembleInfosFiches.Item(0), dans ta requete tu fais cdec(ensembleInfosFiches.Item(0)) ou cint en fonction de ce que tu veux obtenir et meme chose avec la date.
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 26 févr. 2007 à 18:16
Salut,
1° Si Fiche.NumFiche est numérique
Fiche.NumFiche =" & ensembleInfosFiches.Item(0) & ...
à condition que ensembleInfosFiches.Item(0) soit numérique
2° Si DateArrivée est date
DateArrivée = #" & ensembleInfosFiches.Item(1) & "#"
à condition que ensembleInfosFiches.Item(1) soit convertit en date
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 26 févr. 2007 à 18:26
Salut
Règles du SQL (encore et encore) :
- Les noms de champ ou de date comportant des caractères spécifiques à une langue (les accents) ou des espaces ou caractères spéciaux, doivent être encadrés par des crochets droits [ et ]
Dans la déclaration de la DB, si le champ est de type :
- Texte : Encadrer les valeurs soumises avec des apostrophes '
- Numérique : Pas d'encadrement
- Date : Encadrement avec des #
Ta requète, une fois adaptée à la norme deviendrait :
requete = "Select LibPanne " & _
" From Panne, [Présenter], Fiche " & _
" Where Panne.NumPanne = [Présenter].NumPanne " & _
" And [Présenter].NumFiche = Fiche.NumFiche " & _
" And Fiche.NumFiche = " & ensembleInfosFiches.Item(0) " & _
" And [DateArrivée] = #" & ensembleInfosFiches.Item(1) & "#"
En supposant que :
ensembleInfosFiches.Item(0) est bien de type Numérique
ensembleInfosFiches.Item(1) est bien de type Date
De plus, tu noteras que la table associée à [DateArrivée] n'est pas précisée
Il te faut aussi vérifier que les valeurs de et ne comportent pas d'apostrophes ' parce que sinon, la requète comporterait un nombre impair de ' et elle ne saurait pas analyser la structure.
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Champion du monde de boule de cristal - 2005 Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_Sismic22
Messages postés27Date d'inscriptionlundi 23 octobre 2006StatutMembreDernière intervention20 août 2007 27 févr. 2007 à 09:37
La solution que je retrouve le plus est le problème de date.
J'ai donc essayé avec votre manière (mettre des "#") qui fonctionne très bien sur Access lui même, mais qui me renvoie un message d'erreur lorsque j'éxécute ma requete sur mon application. En effet, un message semblable à celui-ci apparaît : Aucune données pour la ligne/colonne.
Je trouve cela bizarre car sur Access, la requete me retourne un résultat.
Quelqu'un saurait de quoi cela peut venir ?
Merci pour votre aide.
++