Salut Déjà dit maintes et maintes fois : Si le champ "date de naissance" compose réellement des espaces, il faut encadrer le nom du champ avec des crochets [ et ] Si le champ est, dans la définition de la DB, un champ de type 'date générale', il faut faire les tests avec des # comme encadrement. Ce qui donnerait : sql = "select * from Customers " & _ " where [date de naissance] <= '#' + CONVERT(DATETIME, current_date, 103) + '#'" Mais il faudra vérifier à quel monde appartient la variable 'current_date' : Appartient-elle à ton programme VB ? ou à SQL ? Si c'est une variable VB, il faudra revoir la syntaxe, du genre : " where [date de naissance] <= '#' + CONVERT(DATETIME, " & current_date & ", 103) + '#'"
Astuce si tu as à faire avec des champs de type texte : Il faut bien dissocier les séparateurs de VB avec ceux de SQL. Puisqu'il y a confusion possible entre les " de VB et ceux de SQL, SQL autorise d'utiliser les symboles ' comme encadrement des chaines. De cette manière, la syntaxe VB est allégée, plus besoin de doubler les ". Exemple : sql = "select * from maTable Where Nom = 'toto la riflette'"
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)
|