Suite, comment écrire la syntaxe VBA (excel) pour un champ date

Résolu
droupa - 14 sept. 2013 à 09:52
jordane45
Messages postés
36316
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 septembre 2022
- 16 sept. 2013 à 21:25
Bonjour,
Voici ce que j'ai adapté selon une solution donnée:
qry = "SELECT [tableSalle].[HEURE] FROM [tableSalle] WHERE [tableSalle].UF='" & Pure(sallecherche) & "' and [tableSalle].DATE=" & datecherche & ";"

sans le critère datecherche, cela marche très bien, grâce à la fonction Pure, mais l'ajout de l'item datecherche (dim as date) ne me rends rien dans la recherche (çà ne plante pas, mais ne trouve aucun enregistrement !)
ce qui marche:
qry = "SELECT [tableSalle].[HEURE] FROM [tableSalle] WHERE [tableSalle].UF='" & Pure(sallecherche) & "';"
en rajoutant le deuxieme critere sur un champ date, je n'ai pas d'erreur, mais ne ramène rien...
avez vous une idée...

3 réponses

cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
16 sept. 2013 à 19:47
Salut

DATE est un mot qui ressemble trop à un mot réservé du langage : Ne pas hésiter à utiliser les crochets [ et ] pour ce genre de nom de champ qui pourrait poser problème.

Quant à la date elle-même, quel format a-t-elle dans ta variable "datecherche" ?
FR, je suppose.
Avec ou sans heure ?
A quoi ressemble ta requète "qry" avant de la soumettre ?

-1- Essaye de transformer ta date au format US, en intervertissant le mois et le jour

-2- Pas de ' d'encadrement de la donnée "datecherche" ?
Dans ce cas, cela voudrait dire que tu utilises la représentation au format Double des dates sous Excel. Il faut donc lui fournir une date au format Double et pas textuelle.
Ce chiffre est composé de la date dans la partie entière et de l'heure dans les décimales.
Date : Nombre de jours écoulés depuis le 30 déc 1899 - Voir DateAdd
Heure : Un jour entier = 1; les heures sont donc des fractions de 1
Très bon article ici : http://didier-gonard.developpez.com/tutoriels/office/excel/comprendre-et-gerer-dates-sous-excel-et-vba/#NumSer

-3- Si ton champ DATE est déclaré comme une date dans ta DB, essaye d'utiliser avec les encadrements de variables dédiés à ce type de champ : le # :
... and [tableSalle].DATE=#" & datecherche & "#;"
0
jordane45
Messages postés
36316
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 septembre 2022
350
16 sept. 2013 à 20:30
Bonsoir Jack,
Sans vouloir faire mon rabat-joie, en tant que Modo.. ce serait bien d'insister auprès des utilisateurs..sur le fait d'utiliser les Balises de Code....
Il y a trop de messages postés (à mon gout) qui n'en disposent pas... et c'est moche..ça ne donne pas spécialement envie d'aider.
NB: je ne parle pas spécifiquement de ce message ni de ce membre, ni même que de la section VB du forum...... je profite juste de l'occasion pour le rappeler.
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
16 sept. 2013 à 20:15
C'est quoi, cette "suite" ?
Quand je vois cela, moi, je dis FIN
Ceux qui participent à de telles méthodes sont les complices d'un certain n'importe quoi.
Bonne chance à tous.
0
Bonsoir, je ne comprends pas votre intervention.
j'ai d'abord fait (je suis débutant sur ce genre de forum) un <Posez votre question>, sur lequel j'ai eu une réponse sur le sujet demandé, par contre je ne sais pas comment 'faire suite' à cette réponse en voulant y ajouter une autre difficulté que j'avais lors de ce message, je n'ai que deux interventions ici, et j'ai cru bon de faire une autre <posez votre question> ne sachant comment produire un autre message à partir du message de la première réponse ?!...excusez de vous avoir froissé pour si peu, puisque vous ne le regarderiez pas de toute façon.

je ne reprends le forum que maintenant, et je vais répondre à cs_jack qui a bien voulu me répondre avec intérêt.
Merci tout de même, j'éviterai ce genre la prochaine fois.
Bonne continuité.
0
jordane45
Messages postés
36316
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 septembre 2022
350
Modifié par jordane45 le 16/09/2013 à 21:00
Bonsoir,
Ne t'offusque pas de la réaction d'Ucfoutu.. il était tard, il devait avoir faim (ben oui..20H00 ) .. lol.

Plus sérieusement..
Tu as très bien fait d'ouvrir un nouvelle discussion (car on ne doit poser qu'UNE question par topic).

Par contre, ce qui l'a choqué, c'est l'utilisation de "SUITE" dans ton titre.

Il est préférable, si tu veux faire référence à une autre discussion, de mettre son lien directement dans la description de ton souci plutôt que d'écrire un titre comme celui-là.

Ps: N'oublie pas à l'avenir d'utiliser les balises de code lorsque tu en mets.
Dim moncode as string
moncode = "j'utilise les balises de code"
debug.print moncode



Edit :
Si tu es amené à poser régulièrement des questions sur le forum, penses à t'enregistrer. Ce sera plus simple pour les membres qui pourraient souhaiter "suivre" l'ensemble de tes questions/messages
0
ben je ne sais pas ce que sont ces 'balises'
faut il que je lise les 'prémisses de bonne utilisation du forum'?
car en général ce sont plutôt des instructions sur la politesse...votre avis?
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
16 sept. 2013 à 21:06
"puisque vous ne le regarderiez pas de toute façon. "
Ah bon !!!
Ne pas intervenir (je n'interviens que lorsque je le juge intéressant) ne signifie pas ne pas regarder.
Bref.
0
ben c'est vous que le dites,
<< au mot Suite> vous dites FIN, de... non recevoir donc, sinon vous avez alors un tantinet exagérer votre moment de professeur de bonne manière,... mais restons en là, après tout vous n'êtes que seul juge, et moi aussi, ...comme vous dites.
0
Voila je mets en résolu, afin de vous éviter d'autres tourments.
Bonne soirée à tous
une pensée me vient.
Faire la part des choses, c'est parfois faire les choses à part.
c'est de moi, ne cherchez pas...
je ne faisais que ma première contribution, sans génie mais avec mon problème bien présent.
0