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

VBA Access Discussion :

[VBA]probleme insertion date


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2002
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 23
    Points : 8
    Points
    8
    Par défaut [VBA]probleme insertion date
    bonjour,

    j'ai une table stock_membres
    avec un champs date/heure au format date,abrégé DD/MM/YYYY

    Quand je realise l'insert dans cette table sans le champ date ca fonctionne.
    mais avec le champ date j'ai une erreur 3134

    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    dim strsql as string
    dim la_date as date
    dim nbsachets as integer
     
    la_date = date
    nbsachet = me.cartons * 4
     
    strsql = " insert into stock_membres (id_num_membres,nbre_cartons,nbre_sachets,date) values (' " & me.num_membres & " ,' " & me.cartons & " ', ' " & nbsachet & " ', ' " & la_date & " ');"
    voici ce que j'obtiens

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into stock_membres (id_num_membres,nbre_cartons,nbre_sachets,date) values ('1','2','8','23/03/2007');

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Tu insères une date dans un champ date, il faut donc la mettre entre #
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ' " & la_date & " '
    à transformer en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    # " & la_date & " #
    De plus quand c'est des nombres pas de ', c'est pour le texte.

    Starec

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2002
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    j'ai remplacé les ' par #

    strsql = " insert into stock_membres (id_num_membres,nbre_cartons,nbre_sachets,date) values (' " & me.num_membres & " ,' " & me.cartons & " ', ' " & nbsachet & " ', # " & la_date & " #);"

    et maintenant j'ai ca:
    insert into stock_membres (id_num_membres,nbre_cartons,nbre_sachets,date) values ('1','2','8',# 23/03/2007 #);

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Et Résultat ?

    Starec

  5. #5
    Futur Membre du Club
    Inscrit en
    Mai 2002
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    toujours la même erreur

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Inverse ton jour et ton mois grâce à la fonction format , pour passer au format anglosaxon.

    Starec

  7. #7
    Futur Membre du Club
    Inscrit en
    Mai 2002
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    pourquoi convertir en format anglosaxon?

    mon champs en base: DD/MM/YYYY
    la date est bien dans le même format: 23/02/2007?

    merci

  8. #8
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    Starec t'a donné la réponse, la date doit être mm/jj/aaaa.

    mois/jour/année

    A+

  9. #9
    Invité
    Invité(e)
    Par défaut
    Re
    Petit complément d'information

    Lorsque tu es en VBA, tu dois adopter une syntaxe anglosaxonne pour les dates.

    Ton jour étant le 23, VB interpréte cela comme un mois.

    Starec

  10. #10
    Futur Membre du Club
    Inscrit en
    Mai 2002
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    je veux bien suivre les instruction de starec mais je ne comprends pas le lien avec le format anglo saxon car j'ai bien en base un champs en format de date abrégé (DD/MM/YYYY).

    Dans mon formulaire ma zone de texte est aussi au format DD/MM/YYYY.

    insert into stock_membres (id_num_membres,nbre_cartons,nbre_sachets,date) values ('1','2','8',# 23/03/2007 #);

    Donc pourquoi convertir?

  11. #11
    Invité
    Invité(e)
    Par défaut
    Re

    Petite explication tirée de la FAQ

    http://access.developpez.com/faq/?page=dates#DateFormat

    Starec

  12. #12
    Membre du Club Avatar de Guennec.Yannick
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 50
    Points : 60
    Points
    60
    Par défaut
    Je ne suis pas sur mais il me semble que le moteur jet de access n'utilise que le format anglosaxon et qu'il vaut mieux faire les requettes dans ce format.

  13. #13
    Futur Membre du Club
    Inscrit en
    Mai 2002
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    ok

    je vais tester

    merci

  14. #14
    Futur Membre du Club
    Inscrit en
    Mai 2002
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    toujours le même probleme: erreur 3134.

    voici mon code.

    Private Sub Commande4_Click()
    Dim strsql As String
    Dim la_date As Date
    Dim nbsachets As Integer
    Dim varX As Variant
    Dim vl_id_num_membres As Integer

    la_date = date
    nbsachets = Me.stock_membres_billes_nbcartons * 4

    varX = DLookup("[id_num_membres]", "stock_membres_billes", "[id_num_membres] =" & Forms![stock_membres_billes]!stock_membres_billes_rech.Column(2))

    'MsgBox (" num_membres_rech ")
    'MsgBox (Me.stock_membres_billes_rech.Column(2))

    'MsgBox (" varx ")
    'MsgBox (varX)

    If varX = Val(Me.stock_membres_billes_rech.Column(2)) Then


    MsgBox ("trouve")
    strsql = "update stock_membres_billes set nbre_de_cartons = '" & Me.stock_membres_billes_nbcartons & "';"
    MsgBox (" strsql ")


    'MsgBox (strsql)
    'DoCmd.RunSQL (strsql)

    Else
    MsgBox ("pas trouve")

    strsql = "Insert into stock_membres_billes (id_num_membres,nbre_de_cartons,nbre_de_sachets,date) values ('" & Me.stock_membres_billes_rech.Column(2) & "','" & Me.stock_membres_billes_nbcartons & "','" & nbsachets & "',' " & Format(la_date, "mm/dd/yyyy") & " ');"
    MsgBox (strsql)
    DoCmd.RunSQL (strsql)

    End If

  15. #15
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Attention Heureux-Oli ta déjà sanctionné pour les balises de ton code

    Réedite ton post (bouton Editer) et met les balises codes de début et fin autour de ton code, c'est le #.

    On comprendra mieux, et redis nous sur quel ligne est l'erreur et le message de l'erreur, pas seulement le numéro.

    Starec

  16. #16
    Futur Membre du Club
    Inscrit en
    Mai 2002
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    resolu.

    j'ai renommé mon champs de la table en date_modification au lieu de date.

    merci

Discussions similaires

  1. probleme insertion date avec php et mysql
    Par fou-jea dans le forum Langage
    Réponses: 13
    Dernier message: 06/10/2012, 22h57
  2. Probleme insertion date avec un champ datetime
    Par locs dans le forum MS SQL Server
    Réponses: 24
    Dernier message: 24/09/2006, 13h19
  3. [SQL ds VBA] Probleme de date ds un UPDATE
    Par robin des bulles dans le forum Access
    Réponses: 8
    Dernier message: 20/06/2006, 11h37
  4. [C#] Problème de Date lors d'un Insert
    Par BilTCD dans le forum ASP.NET
    Réponses: 5
    Dernier message: 22/08/2005, 17h02
  5. [JDBC][MS ACCESS] probleme insertion de date
    Par darius_the_first dans le forum JDBC
    Réponses: 2
    Dernier message: 10/12/2004, 19h04

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