Bonjour,
Je travaille avec un fichier txt généré par le script vbs suivant depuis une base Access. Je ne suis pas l'auteur de ce script.
J'ai développé des pages web qui puisent des informations dans le fichier .txt généré (montant, nom, prénom etc...) pour un paiment en ligne via Paybox. A l'origine, le montant dans ce fichier indiquait les 2 décimales après la virgule.
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 filepath = "\\serveur\rep\equipe\Gestion\export\factures" set fso = CreateObject("Scripting.FileSystemObject") Set tf = fso.CreateTextFile(filepath&"\facture.txt", True) tf.WriteLine ("ID;N°Facture;NomC;Montant;adr;cp;com") Set Conn = CreateObject("ADODB.Connection") Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=Gestion.mdb;" Set RS = CreateObject("ADODB.Recordset") 'SQL = "SELECT * FROM ACTION" SQL = "SELECT *,[clients]![nom] as cli,clients!Adresse & auditeurs!Adresse AS adr, clients![Code postal] & auditeurs![Code postal] AS cp, clients!Commune & auditeurs!Commune AS com FROM ((Facturation LEFT JOIN (Conventions LEFT JOIN CLIENTS ON Conventions.[Code client] = CLIENTS.[Code client])"_ &" ON Facturation.N°Ligne = Conventions.N°Convention) LEFT JOIN [AFFECTATION AUDITEUR ACTION] ON Conventions.[Code auditeur] = [AFFECTATION AUDITEUR ACTION].N°ligne) LEFT JOIN AUDITEURS ON"_ &" [AFFECTATION AUDITEUR ACTION].[Code auditeur] = AUDITEURS.[Code auditeur] WHERE Facturation.Montant<>0 AND [clients]![Nom] & [auditeurs]![nom] & [auditeurs]![Prénom]<>'""' and Facturation.Payé=No" rs.open SQL, conn, 3, 3 do while not rs.eof tf.WriteLine (rs("ID")&";"&rs("N°Facture")&";"&rs("cli")&rs("nom")&" "&rs("Prénom")&";"&Round(rs("Montant"),2)&";"&rs("adr")&";"&rs("cp")&";"&rs("com")) rs.movenext loop
Suite à un crash du serveur cet été, le fichier n'est plus le même. il indique seulement les décimales si besoin, genre :
1000
512,4
45,12
et du coup mon code php foire... car paybox reçoit les infos suivantes :
1000 (soit 10 € au lieu de 1000) et 5124 (soit 51,24€).
J'ai tenté de multiplier par 100 les valeurs du fichier mais j'obtiens :
100000
51200
4500
mes décimales sont arrondies à 0 !
Y'a-t-il moyen d'utiliser une fonction PHP pour rétablir mes décimales ? Doit-on intervenir sur le script vbs qui génère le .txt ?
Merci infiniment de votre aide...
Et meilleurs voeux à tous les développeurs !!
Partager