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

Requêtes et SQL. Discussion :

Probléme de mise à jour via une requête [AC-2010]


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Points : 35
    Points
    35
    Par défaut Probléme de mise à jour via une requête
    Bonjour à tous

    Suite au rajout de 2 champs C1 et C2 dans une table Txxx j'essaye d'automatiser la mise à jour de cette table (il y a plusieurs centaines d'enregsitrement à mettre à jour !)

    Via un formulaire, j'ai fait une requête à partir de la table Txxx, j'ai extrait les valeurs des champs (Champ1, Champ2 etc.. Champ28) de l'enregistrement concerné
    j'ai fait les calculs (multiplication, addition) à partir de ces champs, j'obtiens deux valeurs V1 et V2
    Jusqu'ici tout va bien.

    Maintenant je souhaite mettre à jour l'enregistrement en insérant les deux valeurs V1 et V2 dans les deux nouveaux champs C1 et C2 de la table Txxx et là je n'y arrive pas...........................

    Extraire une valeur d'une requête c'est facile
    exemple :
    TransitDuree = Nz(DLookup("Dure01", "RAideMaJCalculRdT"))

    Faire l'inverse est plus difficile (en tout cas pour moi)
    Manuellement j'ai mis dans l'enregsitrement de la requête en cours R1 les valeurs V1 et V2 dans C1 et C2, la table Txxx a bien été mise à jour

    Merci par avance pour vos conseils pour résoudre ce probléme de mise à jour

    Cordialement

  2. #2
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Points : 35
    Points
    35
    Par défaut
    Bonjour

    J'ai essayé de faire une mise à jour avec le code suivant :

    UPDATE Txxx SET C1= V1, C2 = me.V2 WHERE (((Txxx.Date)=[DateRech]) AND ((Txxx.Li)=[NL]) AND ((Txxx.P)=[Pt]));

    mais j'ai un message d'erreur à l'instruction SET : Erreur de compilation Attendu : fin d'instruction

    J'ai essayé plusieurs écritures avec des parenthéses, de guillemets mais j'ai toujours le même message d'erreur à SET

    Par avance merci si on a une une idée sur le probléme

    Cordialement

  3. #3
    Membre habitué
    Homme Profil pro
    Data Manager
    Inscrit en
    Octobre 2013
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Data Manager
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 151
    Points : 167
    Points
    167
    Par défaut
    Bonjour,

    Je ne suis pas sur de bien comprendre... V1 et V2 sont des variables calculées dans ta procédure ?

    Si oui, as-tu essayé un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim sqlMAJ As String
     
    sqlMAJ = "UPDATE Txxx SET C1 = " & V1 & ", C2 = " & V2 & " WHERE (((Txxx.Date)=[DateRech]) AND ((Txxx.Li)=[NL]) AND ((Txxx.P)=[Pt]));"
    DoCmd.RunSQL (sqlMAJ)
    Si je n'ai rien compris, tu peux donner un peu plus de précision ?

    Laurent

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Points : 35
    Points
    35
    Par défaut
    Bonjour

    Avant tout merci pour ton aide

    J'ai essayé ton code , je n'ai plus de message d'erreur mais la mise à jour ne se fait pas

    En résumé via un formulaire je lance une requéte basée sur trois données issues du formulaire (DateRech, NL,Pt) , j'extrais les données avec Dlookup je fait les calculs nécessaire;
    jusque là pas de probléme.

    Les calculs que je fais me donne une variable V1 et une valeur V2 dans un champ du formulaire.
    Je souhaite mettre ces deux résultats dans la table Txxx que j'ai utilisé pour créer ma requête; J'ai modifié cette table en rajoutant deux champs
    C1 et C2. (objectif : mettre V1 dans C1 et me.V2 dans C2)

    Si je rentre manuellement ces deux données dans la requéte ouverte, la mise à jour se fait bien dans la table.
    Seulement j'ai des centaines d'enregistrement à mettre à jour donc je recherche le moyen d'automatiser cette mise à jour.

    Si je ne suis pas clair, n'hésite à me le dire car je sais que ce n'est pas toujours évident d'expliquer les choses

    Cordialement

  5. #5
    Membre habitué
    Homme Profil pro
    Data Manager
    Inscrit en
    Octobre 2013
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Data Manager
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 151
    Points : 167
    Points
    167
    Par défaut
    Tout d'abord, as-tu contrôlé les valeurs de V1 et V2 ? Est-ce qu'elles sont bien modifiées et mises à jour ?

    Si je comprends bien tu veux mettre à jour les enregistrements de la table Txxx pour lesquels :
    - le champ Date est égal au champ DateRech du formulaire,
    - le champ Li est égal au champ NL du formulaire
    - le champ P est égal au champ Pt du formulaire ?

    Et tu veux faire tout ça à partir du formulaire en question ?

    Si oui, essaie (en supposant que le champ Date est au format date...) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim sqlMAJ As String
     
    sqlMAJ = "UPDATE Txxx SET C1 = " & V1 & ", C2 = " & V2 & " WHERE (((Txxx.Date)= #" & Me.DateRech.Value & "#) AND ((Txxx.Li)= " & Me.NL.Value & ") AND ((Txxx.P)= " & Me.Pt.Value & "));"
    DoCmd.RunSQL (sqlMAJ)
    A bientôt
    Laurent

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Points : 35
    Points
    35
    Par défaut
    Bonjour

    Les valeurs de V1 et V2 sont des valeurs que j'ai calculé à partir de l'extraction de ma requête, le résultat est correct
    Le résultat V1 est une variable
    Le résultat V2 est un champ du formulaire

    Effectivement je veux mettre à jour (aprés calcul de V1 et V2) un enregistrement à la fois de la table Txxx pour lesquels :
    - le champ Date est égal au champ DateRech du formulaire,
    - le champ Li est égal au champ NL du formulaire
    - le champ P est égal au champ Pt du formulaire ?

    Le champ Date est au format Date abrégée

    J'ai essayé ton code, il n'y a pas de message d'erreur mais la mise à jour ne se fait pas (comme s'il ne trouvait pas l'enregistrement)
    J'ai remplacé le champ Me.V2 par une variable VarV2 mais cela n'a rien changé

    Avant de lancer le sqlMAJ j'ai fait un msgbox sur tout les paramétres V1, V2, DateRech, NL et Pt tout est ok

    Merci pour ton aide

    Cordialement

  7. #7
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    TeoSitran

    Peux tu nous poster le résultat contenue dans ta variable sqlMAJ ?

    Lorsque tu joues cette requête dans le QBE, que se passe t-il ?

    JimBoLion

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Points : 35
    Points
    35
    Par défaut
    Bonjour

    N'étant pas un expert j'ai du mal à répondre à tes questions

    "Peux tu nous poster le résultat contenue dans ta variable sqlMAJ ?"
    je ne sait pas comment faire

    "Lorsque tu joues cette requête dans le QBE, que se passe t-il ?"

    Il n'y a pas de fausses notes, la procédure s'exécute normalement dans mon formulaire
    mais la table Txxx n'est pas mise à jour.

    Par contre lorsque je laisse ma requête ouverte et que je rentre manuellement les valeurs V1 et V2
    dans les champs C1 et C2 la table se met à jour.
    (Ma requête est basée sur la table Table Txxx)

    En tout cas merci pour ton aide

    Cordialement

  9. #9
    Membre habitué
    Homme Profil pro
    Data Manager
    Inscrit en
    Octobre 2013
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Data Manager
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 151
    Points : 167
    Points
    167
    Par défaut
    Bonjour à toutes et à tous,


    Citation Envoyé par TeoSitran Voir le message
    "Peux tu nous poster le résultat contenue dans ta variable sqlMAJ ?"
    je ne sait pas comment faire
    Tu as plusieurs solutions :
    Quand tu es dans l'éditeur VBA, tu affiches la fenêtre d'exécution soit en passant par le menu Affichage soit en tapant Ctrl + G ; dans ta procédure tu rajoutes après avoir initialisé ta variable sqlMAJ :
    Tu exécutes ta procédure et tu nous envoies ce qui apparait dans la fenêtre d'exécution.

    Tu peux aussi afficher dans une fenêtre ta variable sqlMAJ (via la commande MsgBox sqlMAJ)

    Ou alors tu mets un point d'arrêt sur la ligne qui suit l'initialisation de la variable sqlMAJ. Tu fais tourner ta procédure. Elle s'arrête au point d'arrêt, tu mets ta souris sur la variable sqlMAJ et son contenu apparait dans une info bulle. Evidemment pour nous faire parvenir la réponse, le mieux est sans doute la première solution.

    Citation Envoyé par TeoSitran Voir le message
    "Lorsque tu joues cette requête dans le QBE, que se passe t-il ?"

    Il n'y a pas de fausses notes, la procédure s'exécute normalement dans mon formulaire
    mais la table Txxx n'est pas mise à jour.
    Là-dessus je ne peux pas t'aider : étant moi-même débutant, je ne connais pas encore le QBE. Mais ça a l'air intéressant...

    A bientôt
    Laurent

  10. #10
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    laurent_42,

    Le QBE (query by example) est autrement dit l'assistant de création de requêtes Access. En copiant (mode SQL) le résultat de la requête dans le code (grâce à l'exemple que tu as donné donc ), et en passant en mode création ensuite, on peut contrôler le résultat de manière plus intuitive.

    JimBoLion

  11. #11
    Membre habitué
    Homme Profil pro
    Data Manager
    Inscrit en
    Octobre 2013
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Data Manager
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 151
    Points : 167
    Points
    167
    Par défaut
    Ouuppsss !!! Eeeuhhh... Comment dire... ??? Heureusement que le ridicule ne tue plus sinon ça sentirait le sapin dans mon bureau...

    Merci pour cette précision !

    A bientôt
    Laurent

  12. #12
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Points : 35
    Points
    35
    Par défaut
    Bonjour

    J'ai mis un Msgbox sqlMAJ, lorsque je lance le processus le formulaire n'affiche pas ce message avec une variable V1 décimale

    Par contre j'ai mis ma variable V1 à 2 (nombre entier) et j'ai eu les message suivants :

    1er message :

    Entre une valeur de paramétre ( avec un M en haut à gauche)

    Je fait ok sans entrer de valeur (idem si je saisie M)

    j'ai un deuxiéme message :

    Vous allez mettre à jour 0 ligne(s)

    je fais oui et

    j'ai un troisiéme message qui représente le sqlMAJ :

    UPDATE TSaisieArret SET Tempsarrets =30, RdtPoste = 2 WHERE (((TSaisieArret.DateSaisie) = #06/03/2014#) and ((TSaisieArret.NumLigne) =11) and ((TSaisieArret.Poste) = M)) ;

    J'en déduit que si ma valeur V1 est un chiffre décimal (0,9998 ou 99,98)) cela bug, si c'est un chiffre entier (2 ou 100) la procédure se réalise
    mais les valeurs V1 et V2 ne sont toujours pas enregistrées dans la table

    Merci à tous pour aide

    Cordialement

  13. #13
    Membre habitué
    Homme Profil pro
    Data Manager
    Inscrit en
    Octobre 2013
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Data Manager
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 151
    Points : 167
    Points
    167
    Par défaut
    Hum hum...

    Comment tu déclares ta variable V1 ? C'est un entier ?

    Est-ce que tu essaies vraiment de mettre à jour le champ dont la date est le 06/03/2014, le numéro de ligne est 11 et le poste est M ? Ou c'est un autre que tu voudrais mettre à jour ? Il semblerait qu'il ne trouve pas d'enregistrement correspondant à ces 3 critères puisqu'il indique qu'il mettra 0 enregistrement à jour. Si le poste est une variable texte, il te faut sans doute modifier le code ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlMAJ = "UPDATE Txxx SET C1 = " & V1 & ", C2 = " & V2 & " WHERE (((Txxx.Date)= #" & Me.DateRech.Value & "#) AND ((Txxx.Li)= " & Me.NL.Value & ") AND ((Txxx.P)= '" & Me.Pt.Value & "'));"
    As-tu essayé de compiler ton code avec un clic sur l'icône représentant plusieurs feuilles et une petite flèche bleue ou en cliquant dans le menu Débogage sur "Compiler" ? Si oui, que se passe-t-il ? Rien ?

    A bientôt
    Laurent

  14. #14
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Points : 35
    Points
    35
    Par défaut
    Bonjour

    La variable V1 est déclarée en Integer (pas de probléme avec )
    La variable V2 est déclarée en Single (cela bugue en décimal)

    J'essaie bien de mettre à jour les deux champs dont la date est le 06/03/2014, le numéro de ligne est 11 et le poste est M

    j'ai modifié le code pour le poste (la valeur du poste est une lettre)

    J'ai maintenant un message qui me dit que "Vous allez mettre à jour 0 lignes(s)"

    Mais j'ai ce message lorsque que je mets la variable V2 en nombre entier sinon si V2 est un nombre décimal cela se plante au niveau du sqlMAJ

    Par avance merci

    Cordialement

  15. #15
    Membre habitué
    Homme Profil pro
    Data Manager
    Inscrit en
    Octobre 2013
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Data Manager
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 151
    Points : 167
    Points
    167
    Par défaut
    J'ai l'impression qu'il y a un problème de type de variable. V1 doit être du type de Tempsarrets et V2 du type de RdtPoste.

    As-tu compilé ton code ? Ca te dit quoi ?
    (Avant mets en tête de ton code, en dehors des procédures un :
    )

    Essai aussi de copier ton code SQL dans une requête en mode SQL dans le QBE comme le suggérait jimbolion en remplaçant les différents paramètres par leur valeur (i.e. Me.DateRech.Value par #06/03/2014#, etc...
    Qu'est-ce que ça donne ?

    Enfin, tu veux dire quoi par
    si V2 est un nombre décimal cela se plante au niveau du sqlMAJ
    ?
    Tu as quoi comme message d'erreur ?

    Laurent

  16. #16
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Points : 35
    Points
    35
    Par défaut
    Bonjour

    J'ai mis Option Explicit

    J'ai réécrit le code suivant :

    strSQL = "UPDATE TSaisieArret SET TempsArrets = 100, RdTPoste = 1 WHERE (((TSaisieArret.DateSaisie) = #01/01/2014#) and ((TSaisieArret.NumLigne) = 11) and ((TSaisieArret.Poste) = 'M'));"
    DoCmd.RunSQL (strSQL)


    Ce code fonctionne aprés plusieures tentatives :

    1/ j'ai mis pour le RdtPoste : 0,9998 --> message d'erreur "Erreur de compilation Attendu : fin d’instruction "
    j'ai mis ensuite 0.9998 pas de message d'erreur mais la procédure se plante sur le strSQL
    j'ai mis 1 et là pas de probléme mais toujours pas de mise à jour

    2/ J'ai eu un doute sur le format date, j'ai donc mis le 01/01/2014 et là les données ont bien été enregistrées dans la table au 1er janvier 2014
    Lorsque j'écrivais le #06/03/2014# il considérait que c'était le 3 juin 2014 (qui n'existe pas pour l'instant)

    Je résume : probléme avec le format de mon champ de formulaire V2 (idem si j'utilise une variable Varxx = me.champformulaireV2)
    : probléme avec le format date US/ France (dans mon formulaire la date de recherche est le format France)

    Pour répondre à ta question pour moi entier = 1, 2, 15 ou 100 etc.................
    décimal = 0,91 - 1,556 ou 10,6579 etc.................

    Je sens que l'on se rapproche de la résolution !!

    Merci pour ton aide

    Cordialement

  17. #17
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    TeoSitran


    Je résume : probléme avec le format de mon champ de formulaire V2 (idem si j'utilise une variable Varxx = me.champformulaireV2)
    : probléme avec le format date US/ France (dans mon formulaire la date de recherche est le format France)
    La conversion est implicite mais ut peux formater ta date format US en utilisant la fonction format ainsi : (tu évites ainsi toute interprétation)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .....WHERE (((Txxx.Date)= #" & format(Me.DateRech.Value,'MM/DD/YYYY')  & "#.....
    1/ j'ai mis pour le RdtPoste : 0,9998 --> message d'erreur "Erreur de compilation Attendu : fin d’instruction "
    j'ai mis ensuite 0.9998 pas de message d'erreur mais la procédure se plante sur le strSQL
    j'ai mis 1 et là pas de probléme mais toujours pas de mise à jour
    Après avoir vérifier la déclaration de tes variables dans la procédure ou fonction : çà m'a l'air OK

    Ensuite oui tu es proche de ta solution, car le reste de la requête a l'air cohérent donc peux tu vérifier le type de données dans la table ?

    cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = "UPDATE TSaisieArret SET TempsArrets = 100, RdTPoste = 0.998 WHERE (((TSaisieArret.DateSaisie) = #01/01/2014#) and ((TSaisieArret.NumLigne) = 11) and ((TSaisieArret.Poste) = 'M'));"
    que donne t-elle dans l’assistant requête ? (mode sql-> copier puis exécuter)

    JimBoLion

  18. #18
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonjour,

    Je réagis au dernier problème de format date. Effectivement dans un code VBA, les dates doivent toujours être au format US.
    Donc, si on a une valeur date, pour être sûr qu'elle soit interprétée correctement, il faut préciser avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format(VarDate,"mm/dd/yyyy")
    Et ne pas oublier de mettre entre # si en plus c'est du SQL.

    Bonne continuation

  19. #19
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 69
    Points : 35
    Points
    35
    Par défaut
    Bonjour à tous

    Je pense que l'ensemble des problémes rencontrés est lié aux différences de format FR/US

    pour la date j'ai résolu le probléme j'ai convertie la DateRech FR en Date US
    (merci à l'auteur du tuto sur les dates)

    Dim DateUs As Date
    DateUs = (Format(Me.DateRech, "mm/dd/yyyy"))


    La requête fonctionne bien et met à jour à la bonne date V1 (TempsArrets)

    Reste à régler le probléme de V2 (me.RdtPoste) là aussi c'est un probléme de format
    j'ai essayé la requête avec une valeur 0.901 cela fonctionne

    strSQL = "UPDATE TSaisieArret SET TempsArrets = " & TempsAr & ", RdTPoste = 0.901 WHERE (((TSaisieArret.DateSaisie) = #" & DateUs & "#) and ((TSaisieArret.NumLigne) = 11) and ((TSaisieArret.Poste) = 'M'));"
    DoCmd.RunSQL (strSQL)


    Mais si je mets 0,901 cela se plante

    Le plantage : je remplis les champs pour sélectionner l'enregistrement, je clique sur le bouton "valider" et il ne passe plus rien, pas de message d'erreur. le formulaire semble attendre (cela peu durer longtemps !)
    (Si la procédure fonctionne à la fin apparait un message "Calcul fait !")

    Si je mets 0.901 la procédure fonctionne, la mise à jour via la requéte se fait bien et le message suivant apparait "Calcul fait !"

    En résumé il ne reste qu'à trouver comment convertir la virgule d'un chiffre décimal en point !

    Je continue à chercher avec optimisme en attendant la prochaine difficulté (que serait la vie sans un peu de piment d'Espelette !)

    et encore merci pour votre aide

    Cordialement

  20. #20
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Re-,

    Et oui, dans VBA (et je pense aussi SQL), la virgule fait office séparation des champs. Donc normal si ça bug quand quand tu utilises des valeurs en décimal venant du format français.

    Pour :
    En résumé il ne reste qu'à trouver comment convertir la virgule d'un chiffre décimal en point !
    Utiliser la fonction Replace => Replace (TaValeur,",",".")

    Bonne continuation

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/04/2014, 11h24
  2. [AC-2000] problème de mise à jour d'une requête de contenu d'une liste modifiable
    Par Deverry57 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 30/07/2010, 08h42
  3. problème de mise à jour via un trigger
    Par clement42 dans le forum Sybase
    Réponses: 4
    Dernier message: 17/01/2007, 10h29
  4. Problème de mise à jour d'une variable
    Par Claire07 dans le forum Access
    Réponses: 2
    Dernier message: 19/06/2006, 21h40
  5. [MySQL] Problème de mise à jour d'une table
    Par SnickeursMan dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 17/01/2006, 11h39

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