Exporter table Access vers format de virement CCP

Signaler
Messages postés
1
Date d'inscription
vendredi 6 février 2015
Statut
Membre
Dernière intervention
7 février 2015
-
Messages postés
5
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
20 avril 2019
-
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

Messages postés
14786
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
29 septembre 2020
438
En commençant ta question par Bonjour....
Messages postés
5
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
20 avril 2019
3
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;
Messages postés
11
Date d'inscription
samedi 5 mai 2007
Statut
Membre
Dernière intervention
14 février 2016

svp donner mois le code de fonction LeftStr
par ce que j'ai message d'erreur que LeftStr non declaré

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
Messages postés
3818
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
18 septembre 2020
34 > francky23012301
Hey,
Salut Francky,

ça fait plaisir de voir que tu passes encore par ici :p ^^

@Medreg:
je pense qu'il faudrait voir ou revoir les bases en Delphi !!!
Messages postés
11
Date d'inscription
samedi 5 mai 2007
Statut
Membre
Dernière intervention
14 février 2016

comment utilisé ce code
par ce que je fait
label1.caption:=LigneDeVirement(st);
mais sa ne marche pas
Messages postés
675
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
19 février 2019
12 >
Messages postés
11
Date d'inscription
samedi 5 mai 2007
Statut
Membre
Dernière intervention
14 février 2016

Tu ne regardes pas bien le code que t'a donné getsource :
function LigneDeVirement(Nccp : String;Montant: Real;Nom:String) : String;

il faut passer 3 paramètres à la fonction LigneDeVirement
ton "LigneDeVirement(st);" arrive d'ou ?!!