Newsgroup: it.comp.appl.access
Titolo: Estrai numeri

Ciao a tutti,
Da una banca dati Alimenti inserita in Excel importata in access ho ottenuto
una tabella alimenti con un campo chiamato NomeAlimento contenente i nomi
degli alimenti. Purtroppo in excel il nome dell'alimento era preceduto da un
numero, il primo alimento per es. 1pane, secondo 2mela ...... 800arancia
ecc.Per cui non ho la possibilità di ordinare alfabeticamente gli
alimenti.Con la funzione EstraiNumeri, di Carlo Costarella scaricata dal SC,
inserita sull'evento click di un pulsante di comando sono riuscito a
separare la parte numerica da quella letterale,inserendo quest'ultima in un
controllo associato ad nuovo campo parola della tabella alimenti,Fin qui
tutto bene,il problema consiste nel dover cliccare sul pulsante tante volte
quanti sono gli alimenti. Certamente il tutto può avvenire con il codice di
Vba. Sono poco pratico di Vba, da quel poco che so dovrei usare
openrecordeset , un ciclo e nel ciclo la funzione EstraiNumeri,ma  non so
come fare.Uso A2000. ringrazio per l'aiuto
Ferdinando

 ha scritto nel messaggio
news:WYAI6.11429$UW4.7...@news.infostrada.it...

Ti consiglio di risolvere il tuo problema con uno strumento più consono
(oserei dire istituzionale) per Access: una query di agiornamento (vedi
help).
In un Modulo del tuo database inserisci la funzione di Carlo che hai trovato
nel Sito Comune: così facendo potrai richiamarla da qualsiasi oggetto del
database.
Creati una query di aggiornamento basata sulla tua tabella e nella quale
richiami la funzione di Carlo dalla riga "Aggiorna a:" relativa al "nuovo
campo parola".
Così facendo risolvi anche il problema di essere poco pratico di VBA.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Roberto
Ciao Roberto,
anzitutto ti ringrazio per aver preso in considerazione il mio problema, ho
fatto come dici tu, mi sono creato la query di aggiornamento e qui ho
richiamato la funzione di Carlo in questa maniera EstraiNimeri(Campo1) dove
Campo1 è il campo contenente il nome dell'alimento comprensivo di numero.
Per tutti i record è stato inserito il n°1, come se l'operazione fosse stata
fatta soltanto per il primo record e poi copiata negli altri record.Ieri mi
sono dimenticato di dire che dal pulsante di comando mi richiamo la funzione
in questo modo:
Private Sub Comando10_Click()
    Call EstraiNumeri(Me.Campo1)
    Me.Ferdi = EstraiNumeri(Me.Campo1)
  Me.Parola = Mid(Me.Campo1, Len(Me.Ferdi) + 1)
End Sub
In questo modo ottengo di avere nel campo Parola soltanto lettere.
Come devo fare?
Grazie Ferdinando


Se la tua tabella sichiama Tabella2, se il campo contenente il nome
dell'alimento comprensivo del nmero si chiama Campo1 e se il nome del campo
che deve contenere il nome dell'alimento senza numero si chiama Parola, il
codice della query di aggiornamento che ti serve deve avere il seguente
codice SQL:
UPDATE Tabella2 SET Tabella2.Parola=
Mid([Campo1],Len(EstraiNumeri([Campo1]))+1);


 Roberto
Il tuo aiuto è sempre è sempre superlativo.Il tutto funziona perfettamente.
Leggo sempre il NG, avendo molto tempo a disposizione perché in pensione,
devo dire che il tuo modo di esporre le risposte è veramente efficace. Dalle
tue spiegazioni ho imparato moltissimo.
Ciao Ferdinando