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 :

Probleme syntaxe requête sql en VB6


Sujet :

VB 6 et antérieur

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : Décembre 2004
    Messages : 95
    Par défaut Probleme syntaxe requête sql en VB6
    Bonjour à tous et toutes,

    Des années que je ne suis plus venu et me voilà car confronté à un problème de syntaxe.

    Simple, j'ai une table avec 2 champs le 1er est Dates (format général et le second est montant (single)
    Je cherche juste la syntaxe correcte pour faire dans cette table un insert avec date = maintenant et montant égal x

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       strSQL = "INSERT INTO t_historique ( Dates, Montant )values ( Now, 18,20 );"
    Merci à vous de m'éclairer sur ce point.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 537
    Par défaut
    Visiblement, tu veux ajouter une ligne avec 2 champs (Dates et Montant), mais tu fournis 3 valeurs (now, 18 et 20), donc forcément ça coince. (utilise le . comme séparateur décimal)
    Et es-tu sûr du format de tes données dates ?

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : Décembre 2004
    Messages : 95
    Par défaut
    Bonsoir, merci pour ta réponse, en fait ce n'est pas 18 et 20 mais 18,20

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : Décembre 2004
    Messages : 95
    Par défaut
    problème de date ?
    dans acces c'est format géneral ??? le format date est :
    16/06/2025 17:26:06 et now est
    16/06/2025 17:27:03

    Donc le format est le même
    jai créé une table juste pour la date est voici mon strsql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    strSQL = "INSERT INTO table1 ( Dates) values (" & Now & ")"
    Rien à faire... erreur 3075 c'est un problèmr de syntaxe ....

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : Décembre 2004
    Messages : 95
    Par défaut
    en mode debug , voici ce que cela donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        "INSERT INTO table1 ( Dates) values (16/06/2025 17:47:35)"

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : Décembre 2004
    Messages : 95
    Par défaut
    bonsoir voici le code en entier pour juste inserer la date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      strSQL = "INSERT INTO table1 ( Dates) values (" & Now & ")"
      Set Rst = DB.OpenRecordset(strSQL, dbOpenDynaset)
    Mais erreur de syntaxe ???
    merci de m'aider à comprendre cela

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      strSQL = "INSERT INTO table1 ( Dates) values (" & Cdate(Now) & ")"
      Set Rst = DB.OpenRecordset(strSQL, dbOpenDynaset)
    peut être
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : Décembre 2004
    Messages : 95
    Par défaut
    Merci à tous ceux qui essayent de m'aider mais le problème persiste.... ???

  9. #9
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : Décembre 2004
    Messages : 95
    Par défaut
    Je suis allé voir sur ta page perso mais aucun lien ne fonctionne ?
    merci

  10. #10
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : Décembre 2004
    Messages : 95
    Par défaut
    RE BONSOIR,

    Par pur hasard, l'un d'entre vous aurait une table avec juste un champs date et un exemple de code pour inserer une ligne avec juste la date ?
    Afin de m'aider à mieux comprendre svp
    D'avance merci

  11. #11
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 247
    Par défaut
    Le plus simple et le moins risqué est souvent de fournir la date sous forme d'une chaine de caractère, et au format américain (AAAA-MM-DD).

    Il me semble qu'avec Access, on pouvait aussi fournir la date encadrée de # mais je ne me souviens plus de la syntaxe exacte
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  12. #12
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : Décembre 2004
    Messages : 95
    Par défaut
    Merci, mais j'ai tout essayé, formater la date, mettre des# devant et derriere en fait le plus incroyable est que pour essayer cette table n'a qu'un champ "Dates" en formate date/heure et format général (qui est identique a (now) mais refusé ???
    merci

  13. #13
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 537
    Par défaut
    "format général" ce n'est plutôt un forme "TEXTE" (ce qui est différent d'un format DATE) ?
    et now étant une fonction, il faut lui mettre les parenthèses dans la requête SQL => Now()

  14. #14
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : Décembre 2004
    Messages : 95
    Par défaut
    Merci, mais j'ai abandonné....
    merci à vous d'avoir essayé de m'aider

  15. #15
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 537
    Par défaut
    Tu pourrais donner le message d'erreur en entier, en principe ça te dit vers où ça ne passe pas, donc ça pourrait aussi nous aider

    Eventuellement, si tu n'as pas essayé, force la prise en compte du format date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = "INSERT INTO table1 ( Dates) values ("# & Now & #")"
    voire pour forcer le format "universel"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = "INSERT INTO table1 ( Dates) values ("# & Format(Now,'yyyy-mm-dd hh:mm:ss") & #")"

  16. #16
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : Décembre 2004
    Messages : 95
    Par défaut
    bonjour et merci
    mais erreur de syntaxe ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      dim strsql as string
     strSQL = strSQL = "INSERT INTO T_Dates ( Dates) values ("# & Format(Now,'yyyy-mm-dd hh:mm:ss") & #")"
    esayez et vous verrez ????

  17. #17
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : Décembre 2004
    Messages : 95
    Par défaut
    erreur dans le copier / coller mais cela ne change rien ... toujours erreur de syntaxe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
      strSQL = "INSERT INTO T_Dates ( Dates) values ("# & Format(Now,'yyyy-mm-dd hh:mm:ss") & #")"

  18. #18
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 537
    Par défaut
    erreur chez moi aussi, j'ai oublié des guillemets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = "INSERT INTO table1 ( Dates) values (#" & Now & "#)"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = "INSERT INTO table1 ( Dates) values (#" & Format(Now,'yyyy-mm-dd hh:mm:ss") & "#)"
    et précise le message complet, (ça devrait dire erreur de syntaxe près de '......')

  19. #19
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : Décembre 2004
    Messages : 95
    Par défaut
    Simplement Erreur d'execution '3219'
    opération non valide

  20. #20
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 63

    Informations forums :
    Inscription : Décembre 2004
    Messages : 95
    Par défaut
    Par contre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    strSQL = "INSERT INTO T_Dates ( Dates) values ("# & Format(Now,'yyyy-mm-dd hh:mm:ss") & #")"
    ca se met direct en rouge et donne ceci :

    erreur de compilation
    erreur de syntaxe

    c'est vraiment une cochonnerie syntaxique
    et je pense tout essayé et pas moyen de trouver un exemple sur le net Google n'est plus mon ami

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

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