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 :

Insertion d'un double dans une table


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Points : 66
    Points
    66
    Par défaut Insertion d'un double dans une table
    Bonjour,
    J'ai créé un formulaire qui permet à des utilisateurs de rentrer le nombre de demi-heure qu'ils passent sur une activité. Afin de le reconvertir en heure je multiplie ce nombre par 0.5. Or l'enregistrement dans ma table ne fonctionne plus (le nombre d'heure est déclaré comme réelle double).
    Voici 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
     
        champ_secretariat.SetFocus
        nb = champ_secretariat.Value
        nb_bis = 0.5 * nb
        MsgBox (Str(nb_bis))
     
        champ_semaine.SetFocus
        sem = champ_semaine.Value
     
        champ_année.SetFocus
        an = champ_année.Value
     
        list_nom.SetFocus
        ident = list_nom.Text
     
        DoCmd.SetWarnings False
        DoCmd.RunSQL "INSERT INTO Liaison_pers_activ_cara (`identifiant`, `ID_act_cara`, `Nb heure`, `Semaine`, `Année`) VALUES " + _
                    "( '" + ident + "', '1', '" + Str(nb_bis) + "', '" + Str(sem) + "', '" + Str(an) + "' )"
        DoCmd.SetWarnings True
    L'enregistrement fonctionnait lorsque l'on rentrait un entier et le nombre dans la messageBox correspond bien au nombre voulu.
    Merci de votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 266
    Points
    34 266
    Par défaut
    salut,
    bienvenue sur DVP
    peux-tu nous dire ce qui s'affiche avec cecic :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Debug.Print "INSERT INTO Liaison_pers_activ_cara (`identifiant`, `ID_act_cara`, `Nb heure`, `Semaine`, `Année`) VALUES " + _
                    "( '" + ident + "', '1', '" + Str(nb_bis) + "', '" + Str(sem) + "', '" + Str(an) + "' )"
    je pencherai pour une virgule à la place d'un point...
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Points : 66
    Points
    66
    Par défaut ....
    Bon j'ai rajouté ton bout de code et... rien ne s'affiche...
    Je suis novice sous Access 2007 alors faut peut-être activer qqchose que je n'ai pas activé...

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 266
    Points
    34 266
    Par défaut
    pardon, le debug.print affiche le résultat dans la fenetre d'exécution.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Points : 66
    Points
    66
    Par défaut Debug.print OK
    Bon notre problème se complique dans la fenêtre d'execution, on voit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO Liaison_pers_activ_cara (`identifiant`, `ID_act_cara`, `Nb heure`, `Semaine`, `Année`) VALUES ( 'machin', '1', ' 1.5', ' 52', ' 2008' )
    Mais toujours rien dans la table....
    Le genre réel double n'est peut-être pas adapté...

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 266
    Points
    34 266
    Par défaut
    les guillemets pour encadrer les noms de champs ne sont pas corrects, supprime les directement.
    Regarde les espaces inutiles aussi.
    Ca n'est pas plus compliqué, ca permet de voir tous les détails d'un coup
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Points : 66
    Points
    66
    Par défaut
    J'execute cette commande plusieurs fois dans mon code ('INSERT INTO....') avec les guillemets et les espaces sans aucun problème. La seule fois où l'enregistrement est un champ vide c'est lorsque ma valeur est un nombre décimal.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Points : 66
    Points
    66
    Par défaut Problème de point
    Apparement sur la version Access 2007, il faut que le séparateur soit une virgule non un point
    En effet je viens d'essayer de rentrer dans ma table une valeur avec un point il me dit que le type n'est pas bon. Si je remplace par un point ça fonctionne !
    Comment faire pour modifier cela au niveau logiciel (pour que ce soit plus facilement exportable) ou dans le code (si la virgule est la configuration par défaut)
    Merci

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 101
    Points : 66
    Points
    66
    Par défaut Résolution
    Je suis aller regarder le post de quelqu'un qui chercher à remplacer une virgule par un point et j'ai inversé!!!
    Du coup l'enregistrement fonctionne parfaitement
    Merci pour votre aide

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

Discussions similaires

  1. [MySQL] insertion de colonne supplementaire dans une table
    Par francis77777 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/03/2008, 09h07
  2. Réponses: 6
    Dernier message: 09/07/2007, 15h39
  3. [Débutant] Insertion d'un blob dans une table
    Par Rakken dans le forum SQL
    Réponses: 3
    Dernier message: 15/05/2007, 14h27
  4. [MySQL] Insertion de code HTML dans une table, avec UPDATE
    Par Daedalus31 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 05/02/2007, 12h19
  5. Réponses: 7
    Dernier message: 27/01/2006, 15h57

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