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

VB 6 et antérieur Discussion :

type de variable


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 38
    Points : 42
    Points
    42
    Par défaut type de variable
    bonjour tt le monde

    comment se fait il que vb6 me fait une concaténation au lieu d'afficher les chiffres correctement ? la valeur qui doit être 360.000
    a la place, il m'affiche 360205 (205 qui est la valeur de x que j'entre dans l'inputbox)
    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
     
    Option Explicit
     
    Sub main()
    Dim x As Long
    x = InputBox("valeur x")
    Dim db As Database
    Dim record As Recordset
    Dim list As ListItem
    Dim Montant As Long
    Dim s As String
    s = "SELECT  [COMMANDER].[QTE],[ARTICLE].[PU],[BON_DE_COMMANDE].[NUM_BC] FROM ARTICLE,COMMANDER,[BON_DE_COMMANDE] WHERE [ARTICLE].[REF_ART] = [COMMANDER].[REF_ART] AND [BON_DE_COMMANDE].[NUM_BC] = [COMMANDER].[NUM_BC] AND [BON_DE_COMMANDE].[NUM_BC] like " & x & ""
    Set db = OpenDatabase(App.Path & "\Base de données\Base.mdb")
    Set record = db.OpenRecordset(s, dbOpenDynaset)
    record.MoveFirst
    While record.EOF = False
        Montant = (record.Fields(0) * record.Fields(1)) + ((record.Fields(0) * record.Fields(1)) * (20 / 100))
        x = x + Montant
        record.MoveNext
    Wend
        MsgBox x
    record.Close
    db.Close
    End Sub
    merci d'avance

  2. #2
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 417
    Points : 5 816
    Points
    5 816
    Par défaut
    Les champs QTE et PU sont-il déclarés Numérique dans la base de données ?

    Essaie avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s = "SELECT  [COMMANDER].[QTE],[ARTICLE].[PU],[BON_DE_COMMANDE].[NUM_BC] FROM ARTICLE,COMMANDER,[BON_DE_COMMANDE] WHERE [ARTICLE].[REF_ART] = [COMMANDER].[REF_ART] AND [BON_DE_COMMANDE].[NUM_BC] = [COMMANDER].[NUM_BC] AND [BON_DE_COMMANDE].[NUM_BC] like '%" & x & "%'"
    en ajoutant '% avant x et %' après

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 38
    Points : 42
    Points
    42
    Par défaut
    oui PU et QTE sont bien de type numérique

    il m'affiche maintenant "aucun enregistrement en cours"

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2014
    Messages : 38
    Points : 42
    Points
    42
    Par défaut
    j'ai trouvé

    j'ai essayer ceci et ça marche nickel

    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
    Option Explicit
    Public Function NetaPayer(x As Variant)
    Dim db As Database
    Dim record As Recordset
    Dim List As ListItem
    Dim Montant As Long
    Dim s As String
    s = "SELECT [COMMANDER].[QTE],[ARTICLE].[PU],[BON_DE_COMMANDE].[NUM_BC] FROM ARTICLE,COMMANDER,[BON_DE_COMMANDE] WHERE [ARTICLE].[REF_ART] = [COMMANDER].[REF_ART] AND [BON_DE_COMMANDE].[NUM_BC] = [COMMANDER].[NUM_BC] AND [BON_DE_COMMANDE].[NUM_BC] like '" & x & "'"
    Set db = OpenDatabase(App.Path & "\base.mdb")
    Set record = db.OpenRecordset(s, dbOpenDynaset)
     If record.RecordCount = 0 Then
        x = 0
     Else
        x = 0
        record.MoveFirst
        While record.EOF = False
            Montant = ((record.Fields(0) * record.Fields(1)) + ((record.Fields(0) * record.Fields(1)) * (20 / 100)))
            x = x + Montant
            record.MoveNext
        Wend
    End If
    NetaPayer = x
    record.Close
    db.Close
    End Function
    encore merci

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

Discussions similaires

  1. Type et variable
    Par cloogy dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/12/2004, 15h07
  2. [SQL S 2000] Type de variable ?
    Par Tankian dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/06/2004, 14h03
  3. Assembleur et type de variable delphi
    Par declencher dans le forum Langage
    Réponses: 5
    Dernier message: 20/06/2004, 23h21
  4. Comparer les types de variable
    Par onipif dans le forum ASP
    Réponses: 11
    Dernier message: 27/05/2004, 18h07
  5. Types de variables entre mysql/php et flash
    Par ramses83 dans le forum Flash
    Réponses: 2
    Dernier message: 06/10/2003, 18h35

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