Newsgroup: it.comp.appl.access
Titolo: Caratteri.... in Moduli Predefini...

Salve a tutto il NG....
Spero qualcuno possa essermi d'aiuto....
Ho necessità di stampare un report su moduli prestampati, con i caratteri
che devono necessariamente coincidere con delle caselle prestampate appunto,
tipo i nuovi bollettini di C/C/P, ora mi chiedevo inserendo i dati da una
maschera, è stabilito che vi è una lunghezza massima di caratteri per ogni
riga da stampare, la conosciamo contando le caselline, secondo Voi è
possibile in fase di preparazione del Report, tramite una funzione, far
scomporre la riga in questione nei singoli caratteri che la compongono e
quindi riportare ogni singolo carattere in una casella non associata dando
come max numero di caratteri il numero massimo delle caselle.... Mi spiego
meglio
Poniamo che la frase da scrivere è questa
Nome Cognome dove
Dove N1 O2 M3 E4 (SPAZIO)5 C6O7G8N9O10M11E11
Io preparo il report ed associo ad ogni casella di testo, pari al numero max
delle caselle, il risultato della funzione che mi dara quindi N O M E
(SPAZIO) C O G N O M E
Spero di essermi spiegato...
Grazie per l'aiuto...
Oscar A.

 ha scritto nel messaggio
news:5%8v8.22122$b62.6...@news1.tin.it...

per  la funzione non ci sono particolari difficoltà, i problemi vengono
dopo.
Usi una stampante ad aghi? (non va troppo d'accordo con access).
Innanzitutto dei usare un font non proporzionale se no la lunghezza della
stringa stampata varia a seconda del testo.
Poi chi ti dice che sia sufficente uno spazio per centrare la casellina
sucessiva?
Centrare le caselline del modulo non e' semplice anche se ti metti li' con
il righello e misuri le distanze, a causa dei margini minimi di stampa che
il driver della stamapnte impone, quando vai a stampare non sono mai
centrate e devi ritoccare empiricamente, ci vuole una vita.
L'unica cosa che rimpiango sono i moduli in pollici e il salto riga in sesti
:)
ciao, ale.


Come stampante uso una laser..... come ho detto i caratteri a spaziatura
fissa li uso ma cmq non si riesce a far combaciare tutto e da qui l'idea di
scomporre la frase in singoli caratteri e poi mettersi lì a creare 34
caselline non associate, se 34 sono gli spazi, e quindi risolvendo la
funzioncina ognuna di queste caselle sarà associata ad un carattere....
Da qui il fatto che ogni spazio inserito deve essere considerato come
carattere....
Puoi suggerirmi la funzioncina per scomporre la frase in caratteri...Grazie
dell'aiuto...Ovviamente il numero massimo di caratteri è uguale al num.
massimo delle caselline...
Oscar A.

 ha scritto nel messaggio
news:9wcv8.29592$vF6.9...@news2.tin.it...

allora grosso modo:
su evento formattazione del report
Nome contiene la stringa che vuoi scomporre
dim x as long
dim N as string
x=len(nome)
if x = 34 then N = nome
if x < 34 then N= nome & space(34-x)
if x > 34 then N = left(nome,34)
' questa manfrina puo' essere omessa; serve per non determinare dei campi
null anche se  in teoria non  dovrebbero dare fastidio
chiami c1,...c34 le caselline e le vai ad incastrare sul corpo del report,
auguri per la centratura
C1 = mid$(N,1,1)
C2 = mid$(N,2,1)
C3 = mid$(N,3,1)
C4 = mid$(N,4,1)
....
e cosi' via..
non ho capito pero' se in una stringa hai piu' parole tipo Nome = "MARIO
ROSSI", in questo caso bisogna prima estrarre il nome e poi procedere alla
estrazione dei singoli caratteri.
Ciao.

 ha scritto nel
messaggio news:a9jv25$8ese$1...@stargate1.inet.it...

Io ho risolto in modo molto più semplice.
Per stampare nelle caselline dei moduli di conto corrente postale ad esempio
ho scelto il carattere curier new 11 e nel report la casella di testo l'ho
formattata in questo modo
0 0 0 0 0
Questo è l'esempio per il cap dove mi lasciava gli zeri se il cap è
inferiore a cinque cifre e mi entrata esattamente in tutte le caselline.
Per i nomi ho fatto lo stesso.
Spero di essererti stato d'aiuto.
Ciao Michele