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

VBScript Discussion :

Transférer une donnée Double dans un tableau SQL


Sujet :

VBScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien en automatisme
    Inscrit en
    Septembre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien en automatisme
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2021
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Transférer une donnée Double dans un tableau SQL
    Salut à tous,

    Je suis nouveau sur le forum et j'aurai besoin de votre aide !

    Je cherche à envoyé le contenu d'une variable dans un tableau SQL. Je ne rencontre aucun problème avec celles de type INT ou STRING mais dès qu'il s'agit d'un DOUBLE ou Float ça ne marche plus.
    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
    20
    21
    22
    23
    24
    25
    26
    'Préparation des variables pour Update"
    NumUnit9 = "0755"
    Dim Test 
    Dim Test2
    //'Test = 125.222
     
     
     
    CoupleVis1 = 12.5
    CoupleVis2 = 13
    CoupleVis3 = 12
    CoupleVis4 = 15
    AngVis1 = 3500
    AngVis2 = 3800
    AngVis3 = 3200
    AngVis4 = 3400
     
     
    'Update des variables'
    strRequest = "Update[DATA_TRACA].[dbo].[Tracabilite] Set Couple_Vis_1 = '" _
    & CoupleVis1 & "', Couple_Vis_2 = '" & CoupleVis2 & "', Couple_Vis_3 = '" & CoupleVis3 & "', Couple_Vis_4 = '" _
    & CoupleVis4 & "', Angle_Vis_1 = '" & AngVis1 & "', Angle_Vis_2 = '" & AngVis2 & "', Angle_Vis_3 = '" & AngVis3 & "', Angle_Vis_4 = '"_
    & AngVis4 & "' Where Num_Unit= '"& NumUnit9 &"' "
     
    obj.Execute strRequest
    End Function
    Pour la variable CoupleVis1 ça ne marche pas, mais pour la variable CoupleVis2 pas de problème.

    D'avance merci pour vos réponses !

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    Salut

    Il faudrait vérifier le type de tes champs de la BDs que tu veux remplir avec des Double ou Float
    Attention, SQL attend une virgule comme séparateur décimal non pas un point.

    Motif de l'édit:
    Citation Envoyé par ProgElecT
    Attention, SQL attend une virgule comme séparateur décimal non pas un point.
    C'est l'inverse
    SQL attend une point comme séparateur décimal non pas un virgule.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien en automatisme
    Inscrit en
    Septembre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien en automatisme
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2021
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je cherche à remplir une colonne en Float ou numeric(p,s).
    Concernant le point je n'ai pas le choix car sinon Vbscript me renvoie une erreur.
    Ce qui me paraît très bizarre c'est que pour que ça marche je dois inscrire les valeurs entre guillemet comme ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CoupleVis1 = "230.35"

  4. #4
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    C'est curieux, as tu essayé d'entrer un int dans cette même colonne ? ou même un string, rien que pour voir.
    As tu peux vérifier le type des champs de la BD, apparemment comme tu entour la valeur à leur donner avec des ", ils doivent être de type string.
    Ou alors la rédaction de ta requête est mal formulée, essais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    strRequest = "Update[DATA_TRACA].[dbo].[Tracabilite] Set Couple_Vis_1 = " _
    & CoupleVis1 & ", Couple_Vis_2 = " & CoupleVis2 & ", Couple_Vis_3 = " & CoupleVis3 & ", Couple_Vis_4 = " _
    & CoupleVis4 & ", Angle_Vis_1 = " & AngVis1 & ", Angle_Vis_2 = " & AngVis2 & ", Angle_Vis_3 = " & AngVis3 & ", Angle_Vis_4 = "_
    & AngVis4 & " Where Num_Unit= "& NumUnit9
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien en automatisme
    Inscrit en
    Septembre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien en automatisme
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2021
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Salut,

    Alors quand j'envoie un Int ou String ça fonctionne. Par contre dès que je met une virgule (un point en Vbs), ça ne marche plus.
    J'ai essayé de modifier mon script comme tu me l'as conseillé et ça marche si je laisse le contenu de ma variable entre guillemet sinon ça me renvoie l'erreur suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    SCRIPT3604: [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near '4'.
    SQLconn.html (249,1)
    Quand je clique sur le défaut ça me renvoie à la ligne 38 et le "near 4" correspond au 4 de 320.4
    Voici mon script en l'état actuel

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    '''UPDATE INTERMEDIAIRE'''
    Function Update_Traca_STxx7
     
    'Préparation des variables pour Update"
    Dim NumUnit9
    Dim CoupleVis1
    Dim CoupleVis2 
    Dim CoupleVis3
    Dim CoupleVis4
    Dim AngVis1
    Dim AngVis2
    Dim AngVis3
    Dim AngVis4
    NumUnit9 = "0756"
    Dim Test 
    Dim Test2
    //'Test = 125.222
     
    CoupleVis1 = 320.4
    Msgbox VarType(CoupleVis1)
    CoupleVis2 = 16
    CoupleVis3 = 12
    CoupleVis4 = 13
    AngVis1 = 3500
    AngVis2 = 3800
    AngVis3 = 3200
    AngVis4 = 3400
     
     
    'Update des variables'
    strRequest = "Update[DATA_TRACA].[dbo].[Tracabilite] Set Couple_Vis_1 = " _
    & CoupleVis1 & ", Couple_Vis_2 = " & CoupleVis2 & ", Couple_Vis_3 = " & CoupleVis3 & ", Couple_Vis_4 = " _
    & CoupleVis4 & ", Angle_Vis_1 = " & AngVis1 & ", Angle_Vis_2 = " & AngVis2 & ", Angle_Vis_3 = " & AngVis3 & ", Angle_Vis_4 = "_
    & AngVis4 & " Where Num_Unit= "& NumUnit9
     
     
    obj.Execute strRequest
    End Function

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    Salut

    A voir
    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
    dim NumUnit9
     
    Function StrNum(lgn,data)
            numeric=CStr(data)
            LngEntier = len(Cint(data))
            result = String((lgn-LngEntier), "0") & numeric
            'si data est un chiffre à décimal, result à pour séparateur une virgule
            'et si la BDs attend un point, déremer la ligne qui suit
            'result = replace(result,",",".") 'remplace la virgule par un point
            StrNum = result
    End Function
     
    NumUnit9  = 12
    NumUnit9  =  StrNum(4,NumUnit9) 'ajoute 2 zéro à gauche du chiffre
    msgbox NumUnit9
     
    NumUnit9  = 123
    NumUnit9  =  StrNum(4,NumUnit9) 'ajoute 1 zéro à gauche du chiffre
    msgbox NumUnit9
     
     
    NumUnit9  = 1.23
    NumUnit9  =  StrNum(7,NumUnit9) 'ajoute 6 zéro à gauche du chiffre
    msgbox NumUnit9
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien en automatisme
    Inscrit en
    Septembre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien en automatisme
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2021
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je viens de tester et malgré que ton script fonctionne j'ai toujours le même problème . Le Msgbox me renvoie bien la valeur attendu mais en fin d'exécution du script j'ai toujours le même message d'erreur.
    Est-ce que ça peut venir du paramètre suivant ?
    Images attachées Images attachées  

  8. #8
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 180
    Points
    17 180
    Par défaut
    désolé, je ne connais pas cette possibilité de paramétrage que je suppose être au niveau de la BDs.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

Discussions similaires

  1. [XL-2016] Transférer des données dispersées dans un tableau
    Par Doonynat74 dans le forum Macros et VBA Excel
    Réponses: 27
    Dernier message: 14/02/2019, 16h50
  2. Affichage d'une liste double dans un tableau
    Par G3G3 dans le forum Tkinter
    Réponses: 2
    Dernier message: 08/07/2008, 10h32
  3. [SQL] Données spécifiques dans un tableau
    Par Shandler dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/03/2008, 12h19
  4. Réponses: 2
    Dernier message: 25/10/2007, 17h30
  5. [MySQL] afficher des données binaires d'une table mysql dans un tableau
    Par piscop dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 23/06/2007, 14h48

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