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 :

ADO rajout/modif champ dans MySQL montant valeur * par 100 [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre actif
    Homme Profil pro
    Manager de Projet SAP
    Inscrit en
    Mars 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Pologne

    Informations professionnelles :
    Activité : Manager de Projet SAP
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2009
    Messages : 210
    Points : 238
    Points
    238
    Par défaut ADO rajout/modif champ dans MySQL montant valeur * par 100
    Bonjour.

    J'ai besoin d'envoyer des donnees a MySQL ou de les modifier des donnees.
    Je le fais avec ADO.

    Si j'ouvre un curseur cote client, lorsque je rajoute un montant, celui-ci est correctement rajoute en table.
    Pour modifier les enregistrements, je suis oblige d'ouvrir un curseur cote serveur car, avec un curseur cote client, il y a de temps en temps un probleme comme quoi on ne peut pas modifier car la valeur a peut etre change etc etc.

    Du coup j'ouvre un curseur cote serveur. J'arrive sans probleme a mettre a jour les donnees, le update se fait correctement.
    Par contre, le montant est multiplie par 100 que ce soit en rajout de nouvel enregistrement ou en modif de champ d'un enregistrement existant.

    Voici la partie de mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
     
    ' Connexion ŕ base MySQL
            ' Crée objet Connection
            Set oCnMySQL = New ADODB.Connection
            ' Définit chaîne de connexion
            ' * Le provider MSDASQL (ODBC) étant celui par défaut, on peut l'omettre
            oCnMySQL.ConnectionString = "Provider=MSDASQL;" & _
            "DSN=" & serveur & ";" & _
            "UID=" & util & ";PWD=" & passe
            ' Ouvre la connexion
            oCnMySQL.Open
     
            TableM1 = "pub_facture_entete"
            ' Crée recordset
            Set rsms = New ADODB.Recordset
            rsms.CursorLocation = adUseServer
            'Ouvre la table
            rsms.Open "SELECT * FROM " & TableM1, oCnMySQL, adOpenKeyset, adLockOptimistic, adCmdText
     
                rsms.AddNew
                rsms("Nr_societe") = 60
                rsms("Nr_ID") = 91
                rsms("Nr_fact") = "essai montant"
                rsms("TTC_fact") = 100
                rsms.Update
    J'ai essaye en remplacant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
            rsms.Open "SELECT * FROM " & TableM1, oCnMySQL, adOpenKeyset, adLockOptimistic, adCmdText
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            rsms.Open "SELECT * FROM " & TableM1, oCnMySQL, adOpenKeyset, adLockOptimistic, adCmdTable
    Mais mon programme s'est arrete sur cette ligne en indiquant qu'ODBC ne prend pas en charge.

    J'ai lance manuellement un update sur la base MYSQL est le montant saisi dans la requete SQL Update, est correctement saisi dans le champ montant.

    Savez-vous d'ou peut provenir le probleme ?
    Merci.
    Cdlt.

  2. #2
    Membre actif
    Homme Profil pro
    Manager de Projet SAP
    Inscrit en
    Mars 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Pologne

    Informations professionnelles :
    Activité : Manager de Projet SAP
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2009
    Messages : 210
    Points : 238
    Points
    238
    Par défaut
    Bonjour.

    J'ai resolu mon probleme grace a mon collegue de l'informatique.

    En fait, il faut installer le pilote ODBC MYSQL version 5.1.8 ou versions superieures (la version 5.1.8 est la derniere en date).

    Cette version corrige le probleme des decimales.

    Et ca resout le probleme simplement.

    Cdlt.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Type de champs dans MySQL
    Par LeGilou dans le forum Requêtes
    Réponses: 3
    Dernier message: 05/02/2010, 22h57
  2. Réponses: 4
    Dernier message: 03/09/2009, 17h51
  3. [MySQL] champ datenaissance et type de champ dans mysql
    Par romeskira dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/10/2008, 17h34
  4. rajouter un champs dans une table existante
    Par pierre2410 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/07/2007, 17h55
  5. [langage] Comment rajouter des champs dans une liste
    Par toto_titi dans le forum Langage
    Réponses: 4
    Dernier message: 28/08/2003, 15h09

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