Donnée manquante requete select

praetor62 Messages postés 35 Date d'inscription dimanche 19 décembre 2010 Statut Membre Dernière intervention 14 juillet 2011 - 15 juin 2011 à 15:29
praetor62 Messages postés 35 Date d'inscription dimanche 19 décembre 2010 Statut Membre Dernière intervention 14 juillet 2011 - 16 juin 2011 à 09:47
Bonjour,

Voila, j'ai une requête qui me sélectionne l'ensemble de mes champs d'un table Access par 4 conditions :

Modifier "select * from Reservation where NOMORGANISME '" & LabelOrganisme.Caption & "' and VILLEORGANISME = '" & LabelVille.Caption & "' and [N°FicheReservation] = '" & LabelFiche.Caption & "' and DateSeance = '" & LabelDate.Caption & "' and HoraireSeance = '" & LabelHoraire.Caption & "'"
Set rs1 = base.OpenRecordset(Modifier)

et puis viens ensuite l'affichage des mes résultats mais je ne pense pas utile de copier ce code là car je pense qu'il est bon.

j'ai cette erreur bien connue qui m'apparait : error type mismatch in criteria expression.
Je me suis renseigné sur cette erreur mais je ne vois pas où est le problème dans mon code... :
le type de mes données dans ma form sont les mêmes que dans base donnée. J'ai eu des problèmes avec les dates; est-ce que ce serais ça? Que devrais-je faire dans ce cas la?

6 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
15 juin 2011 à 16:53
Bonjour,

si tes champs DateSeance et Horaireseance sont de type date, ta requête ne peut être faite (comme tu le fais) sur des chaînes de caractères (type string)


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
praetor62 Messages postés 35 Date d'inscription dimanche 19 décembre 2010 Statut Membre Dernière intervention 14 juillet 2011
15 juin 2011 à 16:59
Oui mes champs sont de type date. Comment ma requête peut être faite dans ce cas alors?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
15 juin 2011 à 17:30
en transformant les strings en dates (voir CDate dans ton aide en ligne) et en entourant les dates par des # dans ta requête.
Attention : avec certains sgdb : utiliser % à la place de #
(et pas de guillemets ni quotes pour les champs date)


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
praetor62 Messages postés 35 Date d'inscription dimanche 19 décembre 2010 Statut Membre Dernière intervention 14 juillet 2011
15 juin 2011 à 17:52
Oui alors j'ai été regardé pour le Cdate()
Mais j'ai un autre problème qui est apparus : No current record sur la ligne soulignée ci dessou
Modifier "select * from Reservation where NomOrganisme '" & LabelOrganisme.Caption & "' and VilleOrganisme = '" & LabelVille.Caption & "' and [N°FicheReservation] = '" & LabelFiche.Caption & "' and DateSeance = #" & CDate(LabelDate) & "# and HoraireSeance = '" & LabelHoraire.Caption & "'"

Set rs1 =  base.OpenRecordset(Modifier)

 AjoutReservation.TNomOrganisme.Text = rs1("NomOrganisme") 
AjoutReservation.TVille.Text  = rs1("VilleOrganisme")
AjoutReservation.TDateSeance.Text = rs1("DateSeance")
AjoutReservation.CHoraireSeance.Text = rs1("HoraireSeance")
AjoutReservation.Text4.Text = rs1("[N°FicheReservation]")
AjoutReservation.TDateReservation.Text = rs1("DateReservation")
AjoutReservation.CTypeReservation.Text = rs1("TypeReservation")
AjoutReservation.CPayeur.Text = rs1("Payeur")
AjoutReservation.CReglement.Text = rs1("ModeReglement")
AjoutReservation.TPrix1.Text = rs1("NbPlace1")
AjoutReservation.TPrix2.Text = rs1("NbPlace2")
AjoutReservation.TPrix3.Text = rs1("NbPlace3")
AjoutReservation.TPrix4.Text = rs1("NbPlace4")
AjoutReservation.TSupp1.Text = rs1("NbSupp1")
AjoutReservation.TSupp2.Text = rs1("NbSupp2")
AjoutReservation.TSupp3.Text = rs1("NbSupp3")
AjoutReservation.TSupp4.Text = rs1("NbSupp4")
AjoutReservation.TAccPayant.Text = rs1("AccPayant")
AjoutReservation.TAccGratuit.Text = rs1("AccGratuit")
AjoutReservation.LabelTotalPlace.Caption = rs1("TotalPlace")
AjoutReservation.LabelSTotal.Caption = rs1("STotal")
AjoutReservation.TSReglee.Text = rs1("SReglee")
AjoutReservation.LabelSRestante.Caption = rs1("SRestante")
AjoutReservation.TRemOrganisme.Text = rs1("RemOrganisme")
AjoutReservation.TSouhait.Text = rs1("SouhaitReservation")
0

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

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
15 juin 2011 à 19:49
Déjà :
...si tes champs DateSeance et Horaireseance sont de type date...

à quoi tu as répondu :
Oui mes champs sont de type date.

et tu as écrit :

...and HoraireSeance = '" & LabelHoraire.Caption & "'" ...


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
praetor62 Messages postés 35 Date d'inscription dimanche 19 décembre 2010 Statut Membre Dernière intervention 14 juillet 2011
16 juin 2011 à 09:47
Non dsl ^^'
Pour des raisons pratiques j'avais mon champs horaire en type text.. j'avais oublié de corriger mon post..
Donc il n'y a que mon champs date qui est en "date" d'où mon
..and HoraireSeance = '" & LabelHoraire.Caption & "'" ...
0
Rejoignez-nous