Newsgroup: it.comp.appl.access
Titolo: estrarre data da stringa

buongiorno,
A03 
in una nuova tabella ho importato alcuni campi formato testo da excel in cui sono contenute delle date in formato gg/mm/aa, come nell'esempio:
 
UVM L 2086/26-02-14 DIM 13/04/14
 
Vorrei estrarre la data con una query per poterla usare in un campo apposta.
Come posso procedere?
Grazie
 
Remigio

 ...
 
La posizione della data (alle fine del testo) � sempre la stessa o 
variabile?
 
Se variabile:
"DIM " prima della data � constante?
Qualcosa � constante p.e. la lunghezza?
Mostra pi� esempi.
 
-- 
cu
Karl
*********
Access FAQ (German/Italian): 
http://www.donkarl.com
 
Access Lobby: 
http://www.AccessDevelopers.org
 

...
 
Ciao Karl,
l'8nica costante è la lunghezza della data ??/??/?? che si trova quasi sempre alla fine del testo ma in alcuni casi si trova anche all'interno del testo stesso. La stringa è variabile del tipo:
 
"Dimesso il 24/07/14"
"Uvm effettuato 12/05/13 da commissione"
presente dal 01/02/14"
ecc.
 
Molte grazie
Un saluto a tutti
 
Remigio
 

 
 
la soluzione e' agire con forza considerevole impiegando un oggetto di 
dimensioni adeguate su chi ha preparato il tracciato record usato per fare 
l'inserimento dei dati.
:-)
 
una soluzione brutta e che necessita di controllo manuale per tutte le date 
e' quella di dividere il contenuto del campo in base agli spazi; fatto 
quello analizzi le 'parole' 8 caratteri e se trovi '/' come terzo e settimo 
carattere forse potrebbe essere una data.
 
ma a questo punto come decidi che significato ha questa data? in che campo 
metti il valore?
 
devi comunque controllare manualmente ogni e qualsiasi data riconosciuta 
dal sistema perche' questo metodo e' affidabile allo 0% (zeropercento).
 
 
-- 
Paolo opg
 
BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--

 wrote in

Eheh, 
Paolo, magari avessi la possibilità di fare ciò che mi hai consigliato! :-)
Ora provo la tua soluzione ma credo sia troppo dispendiosa in termini di cervello.
Grazie e saluti cordiali
 
Remigio

fai 10 replace nidificati in moda da sostituire in tutta la stringa i caratteri:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0  Con  "x"
 
poi fai InSrt di xx/xx/xx e trovi il punto di inizio della data
 
poi ......
 
 
Non hai la certezza matematica di non fare errori ma puo essere un aiuto
 
.


se � sicuro che la "/" � usata solo per le date pu� trovare con un solo 
instr il punto iniziale
 
BFS

Il 24/09/2014 12:53, Mancini ha scritto:

Non ti sembra di essere eccessivo? 10 replace nidificate?
La cosa piu' "fica" e' una espressione regolare (maschere per fare cio' 
se ne trovano a pacchi) oppure una split sulla barra ed un semplice 
ciclo con un "par de if" ;-)
 
-- 
ac (x=y-1)
Aborro il Killfile
(La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)
 
---
Questa e-mail è priva di virus e malware perché è attiva la protezione avast! Antivirus.
http://www.avast.com
 
 

 se ne trovano a pacchi) 
Questo non saprei come farlo,  magari è la soluzione migliore  :)
 
 
.

 Questo non saprei come farlo,  magari � la soluzione migliore  :)
Le espressioni regolari in VBA sono piuttosto deboli (io sono fermo al 
2003 e quindi non so se ci sono stati miglioramenti) ma sono veramente 
uno sballo. In javascript "sbavo" per usarle
 
-- 
ac (x=y-1)
Aborro il Killfile
(La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)
 
---
Questa e-mail � priva di virus e malware perch� � attiva la protezione avast! Antivirus.
http://www.avast.com
 
 


Molte grazie!