Requete

cs_Sismic22 Messages postés 27 Date d'inscription lundi 23 octobre 2006 Statut Membre Dernière intervention 20 août 2007 - 26 févr. 2007 à 17:56
cs_Sismic22 Messages postés 27 Date d'inscription lundi 23 octobre 2006 Statut Membre Dernière intervention 20 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) & "' "

Si quelqu'un peu m'aider
Merci d'avance.

5 réponses

cameleon044 Messages postés 36 Date d'inscription mercredi 8 novembre 2000 Statut Membre Dernière intervention 22 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.

Voilà, j'espère avoir répondu à ta question
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
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
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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)
0
vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 2
26 févr. 2007 à 22:33
hum, c'est normal çà aussi ?:

 ensembleInfosFiches.Item(0)

c'est pas plutot:

 ensembleInfosFiches.Item(0) .value

non ?
0

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

Posez votre question
cs_Sismic22 Messages postés 27 Date d'inscription lundi 23 octobre 2006 Statut Membre Dernière intervention 20 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.
++
0
Rejoignez-nous