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 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
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 1
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
medreg Messages postés 11 Date d'inscription samedi 5 mai 2007 Statut Membre Dernière intervention 14 février 2016 1
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 1
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
medreg Messages postés 11 Date d'inscription samedi 5 mai 2007 Statut Membre Dernière intervention 14 février 2016 1
13 févr. 2016 à 11:43
comment utilisé ce code
par ce que je fait
label1.caption:=LigneDeVirement(st);
mais sa ne marche pas
0
Rejoignez-nous