giuseppe
2005-05-21 17:31:31 UTC
Ciao a tutti voi,
vorrei sottoporre il mio problema, principalmente agli esperti di VB per
access.
Ho già ottenuto diverse valide risposte da un altro partecipante a questo
NG, il quale mi ha indirizzato a cercare informazioni appunto sulla
spaziatura caratteri all'interno dei gruppi di Google, e qui ho trovato
qualcosa che può fare al caso mio.
Ho trovato del codice scritto per spaziare una parola: "aiuto" diventa "a i
u t o".
Il codice è il seguente:
Public Function TestoSpa(testo As String, numspazi As Integer) As String
Dim Lung As Integer
Dim i As Integer
Lung = Len(testo)
TestoSpa = Left(testo, 1) & Space(numspazi)
For i = 2 To Lung
TestoSpa = TestoSpa & Mid(testo, i, 1) & Space(numspazi)
Next
MsgBox TestoSpa
End Function
Questo funziona e ti fa inserire quanti spazi desideri.
Ciao.
----------------------------------------------------------------------------------------
Mi domandavo se era possibile adattare questo codice al mio problema.
Pensavo fosse possibile scrivere una function, attivabile con un pulsante di
controllo in un menu, che apre una tabella (miatabella), che legge i dati
dei campi e mi restituisce un file ASCII, (un file TXT) contenente i dati
dei singoli record della miatabella, spaziati ognuno obbligatoriamente, per
come mi sono stati richiesti. Fare questo lavoro manualmente richiederebbe
un sacco di tempo,
oltre che una estrema precisione, col rischio di vedermi scartare i record
con i dati che non rispettano tale formattazione.
Ho già fatto delle prove a mano, ma a nulla è valso tentare di formattare i
dati utilizzando punti di tabulazione, perchè in presenza di doppi nomi e
doppi nomi per cognome, word non rispetta le tabulazioni per mancanza di
spazio sulla riga orizzontale.
Il destinatario del mio lavoro mi richiede un file ASCII con le seguenti
caratteristiche:
Il file delle richieste deve essere in formato ASCII ed avere il seguente
tracciato:
i campi sono a lunghezza fissa e pertanto non necessitano di separatori. la
sequenza è:
35.............................35................................35.................................10......................24....................1
cognome...................nome............................luogo di
nascita............data di nascita...paternità..........sesso.
cognome: occupa 35 caratteri alfanumerici;
nome: occupa 35 caratteri alfanumerici (da 36 a 70);
luogo di nascita: occupa 35 caratteri alfanumerici (da 71 a 105);
data di nascita: occupa 10 caratteri alfanumerici (da 106 a 115);
Paternità: occupa 24 caratteri alfanumerici (da 116 a 139);
Sesso: occupa 1 carattere alfanumerico (a 140)
Mi sono chiesto se è possibile adattare con qualche modifica, il codice
sopra riportato per il caso della casella di testo, che restituisce una
parola con uno spazio fra una lettera e l'altra, ma a me non serve spaziare
una parola, bensì mi serve creare un tracciato, un record con una sequenza
di dati con una spaziatura ben precisa tra un dato e l'altro perchè ho 6
campi in tabella, ognuno con un dato da gestire.
Sono nelle Vs. mani, altrimenti il destinatario mi chiederà di stampare su
carta i dati dei singoli campi e così avrò le risposte con un ritardo
notevolissimo. Grazie in anticipo a tutti gli esperti che mi aiuiteranno a
risolvere questo rompicapo. Giuseppe.
vorrei sottoporre il mio problema, principalmente agli esperti di VB per
access.
Ho già ottenuto diverse valide risposte da un altro partecipante a questo
NG, il quale mi ha indirizzato a cercare informazioni appunto sulla
spaziatura caratteri all'interno dei gruppi di Google, e qui ho trovato
qualcosa che può fare al caso mio.
Ho trovato del codice scritto per spaziare una parola: "aiuto" diventa "a i
u t o".
Il codice è il seguente:
Public Function TestoSpa(testo As String, numspazi As Integer) As String
Dim Lung As Integer
Dim i As Integer
Lung = Len(testo)
TestoSpa = Left(testo, 1) & Space(numspazi)
For i = 2 To Lung
TestoSpa = TestoSpa & Mid(testo, i, 1) & Space(numspazi)
Next
MsgBox TestoSpa
End Function
Questo funziona e ti fa inserire quanti spazi desideri.
Ciao.
----------------------------------------------------------------------------------------
Mi domandavo se era possibile adattare questo codice al mio problema.
Pensavo fosse possibile scrivere una function, attivabile con un pulsante di
controllo in un menu, che apre una tabella (miatabella), che legge i dati
dei campi e mi restituisce un file ASCII, (un file TXT) contenente i dati
dei singoli record della miatabella, spaziati ognuno obbligatoriamente, per
come mi sono stati richiesti. Fare questo lavoro manualmente richiederebbe
un sacco di tempo,
oltre che una estrema precisione, col rischio di vedermi scartare i record
con i dati che non rispettano tale formattazione.
Ho già fatto delle prove a mano, ma a nulla è valso tentare di formattare i
dati utilizzando punti di tabulazione, perchè in presenza di doppi nomi e
doppi nomi per cognome, word non rispetta le tabulazioni per mancanza di
spazio sulla riga orizzontale.
Il destinatario del mio lavoro mi richiede un file ASCII con le seguenti
caratteristiche:
Il file delle richieste deve essere in formato ASCII ed avere il seguente
tracciato:
i campi sono a lunghezza fissa e pertanto non necessitano di separatori. la
sequenza è:
35.............................35................................35.................................10......................24....................1
cognome...................nome............................luogo di
nascita............data di nascita...paternità..........sesso.
cognome: occupa 35 caratteri alfanumerici;
nome: occupa 35 caratteri alfanumerici (da 36 a 70);
luogo di nascita: occupa 35 caratteri alfanumerici (da 71 a 105);
data di nascita: occupa 10 caratteri alfanumerici (da 106 a 115);
Paternità: occupa 24 caratteri alfanumerici (da 116 a 139);
Sesso: occupa 1 carattere alfanumerico (a 140)
Mi sono chiesto se è possibile adattare con qualche modifica, il codice
sopra riportato per il caso della casella di testo, che restituisce una
parola con uno spazio fra una lettera e l'altra, ma a me non serve spaziare
una parola, bensì mi serve creare un tracciato, un record con una sequenza
di dati con una spaziatura ben precisa tra un dato e l'altro perchè ho 6
campi in tabella, ognuno con un dato da gestire.
Sono nelle Vs. mani, altrimenti il destinatario mi chiederà di stampare su
carta i dati dei singoli campi e così avrò le risposte con un ritardo
notevolissimo. Grazie in anticipo a tutti gli esperti che mi aiuiteranno a
risolvere questo rompicapo. Giuseppe.