Ogni ricevuta è formata da 7 record di 120 caratteri ciascuno nella
seguente sequenza:
1° 14
2° 20
3° 30
4° 40
5° 50
6° 51
7° 70
L'insieme delle ricevute viene fatto precedere da un record di testa e
seguire da un record di coda di 120 caratteri ciascuno:
record di testa "IB"
record di coda "EF"
Aspetto notizie in merito
Grazie in anticipo e saluti da Dino
>Ciao a tutti sono Dino.Ho realizzato Un DB per la gestione delle
>riba.Le riba mensilmente vengono calcolate attraverso una query di
>riepilogo ed esportate in un file formato testo tramite una macro che
>compie l'azione OutputSu.
>La banca giustamente mi dice che vuole il formato CBI. Mi ha dato i
>dati tecnici per realizzarlo.Ma a dir la verita' non ho capito molto.
Non c'è molto da capire !
Non si può fare con le funzioni di esportazione predefinite di Access: devi scrivere una funzione VBA che prepara i vari
record del tracciato così come prevede lo standard CBI.
Bisogna operare in questo modo per un motivo fondamentale:
un file CBI contiene al suo interno record di tipo diverso, ognuno con un tracciato specifico.
Senza contare che, se non ricordo male, non tutti i tipi record sono obbligatori quindi a secondo dei dati contenuti nel
file, alcuni tipi record possono essere presenti o meno.
>Di seguito vi riporto la sintesi del doc che mi hanno inviato.
>
>Ogni ricevuta è formata da 7 record di 120 caratteri ciascuno nella
>seguente sequenza:
>
>
>1° 14
> 2° 20
> 3° 30
> 4° 40
> 5° 50
> 6° 51
> 7° 70
>
>
>L'insieme delle ricevute viene fatto precedere da un record di testa e
>seguire da un record di coda di 120 caratteri ciascuno:
>
>
>record di testa "IB"
>
>
>
>
>
>
>
>
>
>
> record di coda "EF"
>
>Aspetto notizie in merito
>Grazie in anticipo e saluti da Dino
Vincenzo Turturro
Certificato Eucip Core Level
ITA 0000-002299 del 14/05/2007
---------------------------------------------
il sito comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------
risorse Access:
http://www.accessgroup.it
---------------------------------------------
Il sito comune di it.comp.as400
http://www.faq400.com
---------------------------------------------
Ciao Vincenzo Turturro Wrote
Non pretendo (ovviamente) che mi scrivi la funzione pero' non saprei
come impostare inizialmente la routine.
Io come dicevo sopra genero una query di riepilogo contenente
determinati campi.Per esempio supponiamo che il mese di Novembre abbia
generato 20 ric bancarie (Cioe' 20 record).La funzione che devo
realizzare deve spezzare ogni record in piu' record.Correggimi se
sbaglio.
Grazie e buone feste.
L'ultima volta che ho prodotto un file CBI risale ad un paio di anni fa ...
Quindi non saprei rispondere senza leggere prima con attenzione le specifiche CBI.
Fra l'altro: di quale versione CBI stiamo parlando ?
Però, se non ricordo male, il record di testa e quello di piede contengono i valori di quadratura dell'intero file,
quindi li devi valorizzare direttamente da codice VBA, calcolando i vari valori in funzione di quali/quanti record
vengono esportati nel file.
Poi, sempre se la memoria non mi tradisce, alcuni tipi di record (forse il tipo 60 ?) sono dedicati a contenere
informazioni descrittive e quindi non è detto che siano sempre presenti.
In ogni caso, nella documentazione c'è scritto per filo e per segno quali dati devono andare in ogni campo per ogni tipo
record.
Da tali specifiche dovrebbe essere quindi facile capire da dove devi prelevare i dati e quindi come scrivere la
funzione.
>Grazie e buone feste.
ho fatto una cosa analoga .. l'ho impostata cosě in VB:
- Leggo la query che contiene tutti i dati che mi servono in un recordset
- Controllo i dati che devo processare; se ci sono anomalie le segnalo ed
esco dal codice
- creo un file di testo (comandi OPEN e Print#)
- produco da codice il record di testa
- ciclo la produzione dei record da 10 a 70 (quelli che servono) girando su
tutto il recordset
nel mentre devi aggiornare una variabile intera che conta i record che
produci (i)
- produco il record di testa e gli scrivo dentro anche la variabile i+2
(record di testa e di coda)
Ciao Fabio Wrote
Inanzitutto ti ringrazio per la dritta.Correggimi se sbaglio.Io con
una macro predefinita(OutputSu ) riesco a generare un file TXT o anche
in HTML che probabilmente non serve per la realizzazione del record di
testa e coda.
Il mio problema e' l'impostazione iniziale del codice i quanto ho
appena cominciato ad avvicinarmi al VB.
Mi piace sottolineare che non pretendo che il buon "Fabio" o un altro
collega (chiamiamoci cosi')lo facciano al posto mio.....MA
Quasi....Ovviamente scherzo.
Ad esempio pero' (Perdona il neofito) io ho un recordset composto dai
campi:
Nome azienda - indirizzo -localita - tot fattura - num riba - pag 30 -
pag 60 - pag 90 ecc.
Come imposto la partenza della routine.
Grazie in anticipo e auguri di buon Natale (spero in formato CBI)
Saluti Dino
Con la macro è difficile combinare queste cose, mi sa che devi proprio usare
VBA.
Ti ho mandato la subroutine, che però ho scritto per i RID. Buon
divertimento!
La routine la fai partire con un pulsante dentro la tua maschera (dietro
l'evento click).
Poi comincia il bello ....
ciao
mi piacerebbe sapere se hai raggiunto il "tuo scopo"
e (dico e...) se fosse possibile, avere pure io la sub :)
azz mi stò scervellando, e ho pure 39 di febbre, ma devo farcela
entro fine mese.
pronto a ricambiare (se fosse possibile)
--
Questo articolo e` stato inviato dal sito web http://www.nonsolonews.it