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

Macros et VBA Excel Discussion :

Problème avec valeur négative dans un RECORDSET


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2
    Par défaut Problème avec valeur négative dans un RECORDSET
    Bonjour à tous,

    J'ai une base de données sous Firebird que je consulte avec Excel 2010 via ODBC.

    Lorsque je renvoi les données de mes table dans une feuille, aucun problème.

    Par contre quand je veux les exporter dans un fichier .CVS, j'ai un problème avec les valeurs négative que je n'arrive pas à solutionner.
    Exemple: -600 devient -1.8446744073709E15 etc...

    Le type de champ utilisé pour QTEDISPO de la table STOCK est NUMERIC(15,5)
    la propriété "CHARACTER SET" est WIN1252
    Ca, je ne peut pas le modifier!

    Je cherche depuis deux jours et je ne trouve pas d'explication à mon problème alors je joint le code utilisé, que j'ai trouvé en fouinant par ci par là sur les forums et un peu modifié pour mes besoins.

    Merci de votre aide car là je sèche.......

    Thierry.

    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
     
    Public Sub SaveRecordsetToCSVyyyy()
      Dim CSVData As String
     
    sSQL = "SELECT stoNOARTICLE, stoNODEPOT, stoQTEDISPO FROM STOCK"
     Set Rst_Temp = Nothing
     Rst_Temp.Open sSQL, Connection_Bdd01, adOpenKeyset, adLockOptimistic
     
     If Dir("B:\Temp\Stock.csv") <> "" Then Kill "B:\Temp\Stock.csv"
         Open "B:\Temp\Stock.csv" For Binary Access Write As #1
     If Rst_Temp.RecordCount <> 0 Then
     
        Do While Not Rst_Temp.EOF
                CSVData = CSVData & """" & Rst_Temp.Fields(0).Value & """" & ";"
                CSVData = CSVData & """" & Rst_Temp.Fields(1).Value & """" & ";"
                CSVData = CSVData & """" & Format(Rst_Temp.Fields(2).Value, "# ##0.00000") & """" & ";" & vbNewLine
          Rst_Temp.MoveNext
        Loop
      Else
         MsgBox "No data"
     End If
     
          Put #1, , CSVData
         Close #1 '
        Rst_Temp.Close
        Set Rst_Temp = Nothing
    End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code AdoDb.RecordSet : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SQL = "SELECT  Chr(34) & [stoNOARTICLE] &  Chr(34) ,  Chr(34)  & [stoNODEPOT] &  Chr(34) , Format([stoQTEDISPO],'# ##0.00000') FROM STOCK"
     
    Set rs=Connection_Bdd01.execute( sSQL)
    If not rs.eof then
    CSVData  =rs.GetString(, , ";", VbCrlf
    End if

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2
    Par défaut
    Bonjour et merci pour votre aide.

    La requette SQL proposée ne fonctionne pas avec FIREBIRD mais cela ma mis sur la voie.

    Voici comment j'ai solutionné mon problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sSQL = "SELECT  stoNOARTICLE, stoNODEPOT, cast(stoQTEDISPO as varchar(25)) AS stoQTEDISPO FROM STOCK"
    Encore merci...

    Cordialement,
    Thierry.

  4. #4
    Invité
    Invité(e)
    Par défaut
    c'est déjà ça!

Discussions similaires

  1. Réponses: 21
    Dernier message: 05/02/2015, 11h26
  2. [Débutant] Valeur négative dans une matrice
    Par sirouna dans le forum Images
    Réponses: 3
    Dernier message: 05/02/2010, 19h09
  3. Empecher de rentrer une valeur négative dans un champs
    Par moilou2 dans le forum VBA Access
    Réponses: 4
    Dernier message: 05/09/2008, 16h55
  4. Réponses: 4
    Dernier message: 11/07/2008, 11h42
  5. Valeur négative dans un champs!
    Par moilou2 dans le forum IHM
    Réponses: 4
    Dernier message: 27/12/2007, 20h26

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