Exporter table Access vers format de virement CCP

karimdelphi
Messages postés
1
Date d'inscription
vendredi 6 février 2015
Statut
Membre
Dernière intervention
7 février 2015
- Modifié par f0xi le 22/04/2016 à 22:23
getsource
Messages postés
5
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
20 avril 2019
- 13 avril 2016 à 11:03
modéré
Bonjour

Je voudrais savoir comment je peut exporter une table Access vers un fichier texte CCP

Champs de table: [ccp, cle, solde, nom]
Et dans le TXT, ce format de virement :

Fixe [1] : "*"
Fixe [8] : "0"
Numéro de compte organisme [10] : numérique
Clé de numéro de compte [2] : numérique ou "00" si indisponible
Montant du virement CH 50 [13] : numérique
Nom et Prenom [27] : chaine en majuscule, nom prénom séparé par un espace (ord 0x32)
code enregistrement [1] : "1"


merci.

2 réponses

Whismeril
Messages postés
17673
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
15 août 2022
613
7 févr. 2015 à 07:52
En commençant ta question par Bonjour....
0
getsource
Messages postés
5
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
20 avril 2019
3
Modifié par Cirec le 5/02/2016 à 22:41
Bonjour,
voila mon solution , j'ai fait une fonction "LigneDeVirement" qui a 3 paramètre ccp, montant , nom

s : string;
exemple : S:= Lignedevirement := ('12544111',55000.00,'BENDIB YASSINE');

et le resultat sera
s= *000000000000125441110000005500000BENDIB YASSINE 1



 function LigneDeVirement(Nccp : String;Montant: Real;Nom:String) : String;
 var s,St,sNccp : String;MEntier : integer;
 begin

     s:= FormatFloat('0.00',Montant );;
     s := copy(s,pos(DecimalSeparator,s)+1,2);

     MEntier := trunc(Montant);
     St  := '*00000000' +   Repeatstr('0',12-Length( epurer(Trim(Nccp)))) +  epurer(Trim(Nccp));
     St := St + RepeatStr('0',11-length(inttostr(mentier))) + IntToStr(MEntier)+ s;

     if Length(Trim(Nom)) >= 27 then St := St + LeftStr(Trim(Nom),27)+'1'
     Else St := St + nom + RepeatStr(' ',27-length(trim(nom))) + '1';

     Result := st;
 end;
function epurer (CCp : String):string;
 Var s,s1 : string;  i:integer;
 Begin
      s := '';
      for i :=1 to length(ccp) Do
      IF (CCp[i]  in ['0'..'9']) Then S := S + CCp[i] ;
      epurer := S;
 end;
 (**********************************************************************)

 FUNCTION RepeatStr(ch: char; n:integer): string;
 var  i : integer ;
      s : string;
 Begin
       s := '';
       for i := 1 to n do  s := s + ch;
       result := s;
 end;
0
medreg
Messages postés
11
Date d'inscription
samedi 5 mai 2007
Statut
Membre
Dernière intervention
14 février 2016

Modifié par medreg le 5/02/2016 à 22:29
svp comment appliquer ce code sur mes données ci-dessous
donner moi un petite exemple
j'ai une base de données
table1.Fieldvalues['Compte']
table1.fieldvalues['Clef']
table1.fieldvalues['Montant']
table1.fieldvalues['Nom']
veuillez fait à mois ce exemple sur mes données
et merci
je besoin ce code préparé svp
le code pour création d'un fichier txt pour le virement ccp
et le code pour verification de fichier txt
et merci
0
getsource
Messages postés
5
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
20 avril 2019
3 > medreg
Messages postés
11
Date d'inscription
samedi 5 mai 2007
Statut
Membre
Dernière intervention
14 février 2016

13 avril 2016 à 11:03



label1.caption:=LigneDeVirement(table1.Fieldvalues['Compte'] + table1.fieldvalues['Clef'],
table1.fieldvalues['Montant'] ,
table1.fieldvalues['Nom'] );

0
medreg
Messages postés
11
Date d'inscription
samedi 5 mai 2007
Statut
Membre
Dernière intervention
14 février 2016

Modifié par medreg le 6/02/2016 à 18:34
manque la fonction de LeftStr et Length
0
medreg
Messages postés
11
Date d'inscription
samedi 5 mai 2007
Statut
Membre
Dernière intervention
14 février 2016

8 févr. 2016 à 09:34
svp donner mois le code de fonction LeftStr
par ce que j'ai message d'erreur que LeftStr non declaré
0
francky23012301
13 févr. 2016 à 00:18
Il suffit de rajouter l'unité StrUtils dans les uses

MedReg : Merci de ne pas polluer un thread avec des questions sans rapport et de faire des recherches préalable avant de solliciter de l'aide
0