IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

syntax error in number in query expression number and date in vb6


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 15
    Points : 8
    Points
    8
    Par défaut syntax error in number in query expression number and date in vb6
    Bonjour j'ai un message d'erreur sur application en VB6 qui m'indique cette syntaxe d'erreur dans le nombre dans l'expression 'numero = 10 and date =10.04.2014'
    Voici mon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Data1.DatabaseName = Chemin & "\technique\technique.mdb"
     Data1.RecordSource = "select * from histo where numéro=" & Val(LblNuméro) & " and date =" & Format(ListeDate) & ""
     Data1.Refresh
    logiquement je veux faire une recherche dans une liste de dates.
    merci de votre aide
    Images attachées Images attachées  

  2. #2
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    Bonjour et BIENVENU sur DVP

    Essaie avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Data1.RecordSource = "select * from histo where numéro='" & Val(LblNuméro) & "' and date ='" & Format(ListeDate) & ""
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Merc i l_autodidacte
    Bonjour et merci de votre aide.
    Mais sa m indique un autre message d erreur avec votre idée voici la capture d image

    Nom : Capture.GIF
Affichages : 153
Taille : 34,7 Ko

  4. #4
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Salut siadli

    Un petit coucou à l_autodidacte.

    Pourquoi ma requête, qui a un critère sur une date, ne me renvoie aucun enregistrement ?

    Donc siadli essais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Data1.RecordSource = "select * from histo where numéro='" & Val(LblNuméro) & "'" _
                       & "And date = #" & Format(ListeDate.List(ListeDate.ListIndex), "dd.mm.yyyy") & "#"
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Bonjour ProgElecT
    Votre solution m indique le même code erreur avec ou sans # voici le message
    merci de votre aide
    Images attachées Images attachées  

  6. #6
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    Dans ce cas, il faut vérifier comment est déclarée la variable numéro : est-ce un entier ou une chaine ?
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  7. #7
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Questions:
    -1- la syntaxe des dates de ta liste sont elles bien l'exacte reflet de celles de la BDs (séparateurs des jour, mois et année, ordre mois, année et jour .....)?
    -2- le champs date dans la BDs est il lui aussi de type Date ?
    -3- le champs numérodans la BDs est il lui aussi de type string, si il est de type numérique il faut enlever les apostrophes ?

    ....................................................................................
    Grillé par l_autodidacte
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Rebonjour
    LA syntaxe de ma date dans ma BDs a bien comme type Date/time avec comme séparateur (.)
    Pour le champs numéro declaré comme chiffre, il est correcte car il me donne les bonnes Date dans ma liste de recherche.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par l_autodidacte Voir le message
    Dans ce cas, il faut vérifier comment est déclarée la variable numéro : est-ce un entier ou une chaine ?
    le numéro est une variable entier

  10. #10
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Points : 671
    Points
    671
    Par défaut
    Bonjour,

    Si LblNumero est un entier pas besoin de Val qui s'applique a un string.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Data1.RecordSource = "select * from histo where numéro=" & LblNuméro & " and date =" & Format(ListeDate) & ""

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par iclic Voir le message
    Bonjour,

    Si LblNumero est un entier pas besoin de Val qui s'applique a un string.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Data1.RecordSource = "select * from histo where numéro=" & LblNuméro & " and date =" & Format(ListeDate) & ""
    Bonjour Iclic
    je te remercie de votre aide mais j ai toujours le même problème ma formule du départ fonctionne très bien en vb5 mais en vb6 il me trouve bien tout les dates dans la listbox mais quand on clic sur une date sa me met toujours le même code erreur.

  12. #12
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Points : 671
    Points
    671
    Par défaut
    Bonjour,

    Ton format date avec le point comme séparateur est-il compatible avec VB6?.

    Si l'argument expression passé à la fonction excède la plage de valeurs du type de données cible, une erreur se produit.


    La fonction CDate reconnaît les formats de date définis dans les paramètres régionaux de votre système. L'ordre des jours, mois et années risque de ne pouvoir être défini si les données sont fournies dans un format différent des paramètres de date reconnus. En outre, les formats de date complets précisant le jour de la semaine ne sont pas reconnus.

    Pour des raisons de compatibilité avec les versions antérieures de Visual Basic, il existe une fonction CVDate, dont la syntaxe est identique à celle de la fonction Cdate. Cependant, la fonction CVDate renvoie une donnée de type Variant et de sous-type Date et non une véritable donnée de type Date. Dans la mesure où il existe désormais un type Date intrinsèque, la fonction CVDate n'est plus nécessaire. On obtient le même résultat en convertissant une expression en donnée de type Date, puis en l'affectant à une donnée de type Variant. Cette technique est cohérente avec la conversion des autres types intrinsèques dans le sous-type Variant équivalent.

    exemple

    Ceci provoque une erreur de type incompatible sur xdate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim xdate As Date
     
    Private Sub Form_Load()
    xdate = CDate("12.10.2015")
    Stop
    End Sub
    Mais pas ceci, xdate contient bien la valeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim xdate As Date
     
    Private Sub Form_Load()
    xdate = CDate("12/10/2015")
    Stop
    End Sub

Discussions similaires

  1. Syntax error, unrecognized expression: >
    Par gianni7033 dans le forum jQuery
    Réponses: 1
    Dernier message: 11/01/2011, 11h12
  2. Réponses: 4
    Dernier message: 28/11/2008, 14h52
  3. Réponses: 5
    Dernier message: 13/07/2007, 14h51
  4. Réponses: 14
    Dernier message: 11/07/2006, 16h11
  5. [EasyPHP] Warning: Sablotron error on line 41: wrong expression syntax
    Par moonia dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 27/03/2006, 14h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo