Exporter table Access vers format de virement CCP

Messages postés
1
Date d'inscription
vendredi 6 février 2015
Statut
Membre
Dernière intervention
7 février 2015
-
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.
Afficher la suite 

2 réponses

Messages postés
13423
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 juin 2019
280
0
Merci
En commençant ta question par Bonjour....
Commenter la réponse de Whismeril
Messages postés
5
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
20 avril 2019
3
0
Merci
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;
medreg
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
Cirec
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
3 août 2018
32 > 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 !!!
medreg
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
dubois77
Messages postés
693
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
19 février 2019
10 > medreg
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 ?!!
Commenter la réponse de getsource