Exporter table Access vers format de virement CCP

karimdelphi 1 Messages postés vendredi 6 février 2015Date d'inscription 7 février 2015 Dernière intervention - 7 févr. 2015 à 00:22 - Dernière réponse : getsource 3 Messages postés lundi 23 avril 2007Date d'inscription 2 août 2016 Dernière intervention
- 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.
Afficher la suite 

10 réponses

Répondre au sujet
Whismeril 11411 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 22 avril 2018 Dernière intervention - 7 févr. 2015 à 07:52
0
Utile
En commençant ta question par Bonjour....
Commenter la réponse de Whismeril
getsource 3 Messages postés lundi 23 avril 2007Date d'inscription 2 août 2016 Dernière intervention - Modifié par Cirec le 5/02/2016 à 22:41
0
Utile
8
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 11 Messages postés samedi 5 mai 2007Date d'inscription 14 février 2016 Dernière intervention - 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é
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
Cirec 4217 Messages postés vendredi 23 juillet 2004Date d'inscriptionModérateurStatut 3 avril 2018 Dernière intervention > francky23012301 - 13 févr. 2016 à 13:12
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 11 Messages postés samedi 5 mai 2007Date d'inscription 14 février 2016 Dernière intervention - 13 févr. 2016 à 11:43
comment utilisé ce code
par ce que je fait
label1.caption:=LigneDeVirement(st);
mais sa ne marche pas
dubois77 689 Messages postés jeudi 17 avril 2008Date d'inscription 9 mars 2018 Dernière intervention > medreg 11 Messages postés samedi 5 mai 2007Date d'inscription 14 février 2016 Dernière intervention - 13 févr. 2016 à 13:16
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.