Récup d'un nombre décimal sans le point

Résolu
val9000 Messages postés 2 Date d'inscription mercredi 30 août 2006 Statut Membre Dernière intervention 30 août 2006 - 30 août 2006 à 10:35
val9000 Messages postés 2 Date d'inscription mercredi 30 août 2006 Statut Membre Dernière intervention 30 août 2006 - 30 août 2006 à 12:19
Bonjour,

Je récupére les données venant d'un fichier csv et j'ai un problème en ce qui concerne la récupération de chiffres avec décimal séparés par un point. Exemple : 95.55
Les chiffres que je récupére ne contiennent plus les points. Exemple : 9555.
<!-- BEGIN TEMPLATE: bbcode_code -->

Code:

objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strPathtoTextFile & ";" & _
"Extended Properties=""text;HDR=NO;FMT=Delimited"""

objRecordSet.Open "SELECT * FROM " & CommonDialog1.FileTitle & "", _
objConnection, adOpenStatic, adLockOptimistic, adCmdText

Set cnx = New ADODB.Connection

'Définition du pilote de connexion
cnx.Provider = "Microsoft.Jet.OLEDB.4.0"
'Définition de la chaîne de connexion
cnx.ConnectionString = "C:\DB1.mdb"
'Ouverture de la base de données
cnx.Open

Do Until objRecordSet.EOF
TmpSqlInsertShareData = "INSERT INTO SHARE_DATA (ENTITY_ID, RELATED_ID, PERCENTAGE) VALUES (" & objRecordSet.Fields.Item(8) & ", " & objRecordSet.Fields.Item(9) & ", " & objRecordSet.Fields.Item(10) & ");"
cnx.Execute (TmpSqlInsertShareData)
objRecordSet.MoveNext
Loop

cnx.Close

Cette donnée est PERCENTAGE en base de données et la valeur est contenue dans objRecordSet.Fields.Item(10).

Merci d'avance pour votre aide.


<!-- / message -->

3 réponses

PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 48
30 août 2006 à 12:15
salut,

en prenant compte de ce %age

Private Sub Process() 
    objConnection.Open "Provider= Microsoft.Jet.OLEDB.4.0;" & _ 
                        "Data Source=" & strPathtoTextFile & ";" & _ 
                        "Extended Properties=""text;HDR=NO;FMT=Delimited""" 

    objRecordSet.Open "SELECT * FROM " & CommonDialog1.FileTitle & "", _ 
                      objConnection, adOpenStatic, adLockOptimistic, adCmdText 

    Set cnx = New ADODB.Connection 

    'Définition du pilote de connexion
    cnx.Provider = "Microsoft.Jet.OLEDB.4.0" 

    'Définition de la chaîne de connexion
    cnx.ConnectionString = "C:\DB1.mdb" 

    'Ouverture de la base de données
    cnx.Open 
    Do Until objRecordSet.EOF 
        TmpSqlInsertShareData = "INSERT INTO SHARE_DATA (ENTITY_ID,  RELATED_ID, PERCENTAGE) VALUES (" _
                                & objRecordSet.Fields.Item(8) & ", " & objRecordSet.Fields.Item(9) & ", " & _
                                objRecordSet.Fields.Item(10)  / 100  & ");" 
        cnx.Execute (TmpSqlInsertShareData) 
        objRecordSet.MoveNext 
    Loop 
    cnx.Close 
End Sub

<small> Coloration
syntaxique automatique [AFCK]</small>
       

++
PCPT   [AFCK]

<hr size ="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
3
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
30 août 2006 à 12:10
 Bonjour,

A tout hasard.

Replace(objRecordSet.Fields.Item(10),".",",")

jean-marc
0
val9000 Messages postés 2 Date d'inscription mercredi 30 août 2006 Statut Membre Dernière intervention 30 août 2006
30 août 2006 à 12:19
Merci beaucoup avec la division par 100 ça marche impec.

Bien vu, je n'y avais pas penser.
0
Rejoignez-nous