PDA

Visualizza la versione completa : Access 2000


Roby7
14-11-2002, 11:17
Salve a tutti quanti. Vi espongo il mio problema: doveri convertire una stringa testo di 5 lettere in un'altra sempre testo di 5 numeri dove a lettera corrisponde un numero esempio lettera R= numero 3 ecc. Per assurdo lettera uguale può occupare tutte e 5 le posizioni. Dato che non ho molto dimesticcazza con le macro, qualcuno può indicarmi la strada?
Grazie 1000!
Roby ;)

Denun
14-11-2002, 14:53
senti io non ci ho capito uno spinnacle di quello che hai detto.

fai un giro di boa e ripeti pls :)

Roby7
15-11-2002, 08:42
Ok ci riprovo. Ho scaricato una tabella con i CAP della provincia di Milano solo che invece di numeri sono presente lettere esempio MILANO anzichè 20100 ha RPQPP. Sono risalito alla sequenza che è questa:
P=0 Q=1 R=2 S=3 T=4 U=5 V=6 W=7 X=8 Y=9.
Ora io vorrei trasformare la stringa da letterale a numerica (sempre di tipo testo). Col vecchio basic avrei fatto un ciclo do while con all'interno un'altro ciclo che analizza ogni posizione della stringa individuando il carattere e sostituendolo con quello numerico. In access pur potendo fare lo stesso discorso non mi ci ritrovo con i comandi non conoscendo la terminologia.
Sono stato chiaro adesso?
Attendo risposte

Denun
16-11-2002, 02:03
se le lettere sono tutte maiuscole puoi trasformare le lettere in CAP senza bisogno di fare cicli:

--------------
Dim CAPNUMERI As String

CAPNUMERI = Asc(Mid$(Me.CAP, 1, 1)) - 80 & Asc(Mid$(Me.CAP, 2, 1)) - 80 & Asc(Mid$(Me.CAP, 3, 1)) - 80 & Asc(Mid$(Me.CAP, 4, 1)) - 80 & Asc(Mid$(Me.CAP, 5, 1)) - 80

MsgBox CAPNUMERI
-----------

dove Me.CAP è il campo o il text che contiene le lettere importate.

Roby7
18-11-2002, 09:45
Grazie 1000! Così a naso penso che sia la soluzione migliore. Quello che vorrei sapere è dove devo mettere questa istruzione visto che uso access solo come immissione dati. Cosa devo creare (query, maschera, macro ...) per poter utilizzare quetse istruzioni?
Grazie in anticipo per la risposta
Roby

Denun
18-11-2002, 13:32
mettila nell'evento click di un pulsante, oppure crea un textbox e mettila nell'evento current della maschera.

me.textbox=Asc(Mid$(Me.CAP, 1, 1)) - 80 & Asc(Mid$(Me.CAP, 2, 1)) - 80 & Asc(Mid$(Me.CAP, 3, 1)) - 80 & Asc(Mid$(Me.CAP, 4, 1)) - 80 & Asc(Mid$(Me.CAP, 5, 1)) - 80

cosi scorrendo i record li visualizzi direttamente nella forma "comprensibile".