Newsgroup: it.comp.appl.access
Titolo: ricavare campo data da campo testo "aaaammgg"

Buondě a tutti.
Sono alle prese con la trasformazione di un campo testo che contiene
caratteri del tipo 20040831 in un campo data per poi ricavare il tipo giorno
(mer, mar, lun etc.)
mi aiutereste per favore?

 ha scritto nel messaggio
news:41dd222b$0$8207$5fc...@news.tiscali.it...

Se non sbaglio quel formato non viene riconosciuto, pertanto devi
inserire alcune aggiunte:
Dim newData as Date
strData= "20040831"
newData=cdate(Mid(strData,1,4) & "/" & mid(strdata,5,2) & "/" &
mid(strdata,7,2))
Ora che hai la data:
Per avere il nome intero:
day=Format(weekDay(newData),"dddd")
Per avere solo i 3 caratteri:
day=Format(weekDay(newData),"ddd")
Ciao
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

 ha scritto nel messaggio
news:crjfar$gob$1...@lacerta.tiscalinet.it...

Perdonami Alex, non ho capito.
devo aggiungere il codice nell'SQL della query ?
Puoi farmi un esempio?
Ti ringrazio.

 Ti ringrazio.
Scusa Gaetano ma tu non hai parlato di codice SQL
hai solo detto di dover convertire il contenuto Stringa
del tipo indicato in data per ricavare il giorno....!!!
O sbaglio...?
A questo punto non ho capito dove devi inserire la conversione, a
se si trattasse di una Query, sarebbe altrettanto semplice:
Inerisci una Colonna nuova con un campo Calcolato chiamato: Giorno
Supponiamo che il Campo contenente la data si chiami cmpData
Giorno:Format(weekDay(cdate(Mid([cmpData];1;4) & "/" & mid([cmpData];5;2) &
"/" &
mid([cmpData];7;2));"ddd")
Fammi sapere se hai risolto.



Non ho risolto Alex, scusami ancora
ho una query basata su una tabella che ha un campo di tipo testo
(proveniente dall'importazione di un file dbf), in questo campo la stringa
riprodotta è del tipo aaaammgg (per esempio 20040831). Purtroppo, essendo
questo campo di tipo testo, ancorchè mi consenta di fare delle ricerche
sulla query (between... su form, è una query QBF) non mi dà la possibilità
di capire che tipo di giorno è 20040831 (sabato? domenica?...)
Pertanto ho seguito il tuo consiglio di inserire una colonna nella query,
scrivendo esattamente quanto mi dici, non mi funzionava inizialmente perchè
mancava una parentesi chiusa alla fine; dopo aver messo la parentesi
mancante, ottengo l'errore del tipo "espressione troppo complessa per essere
calcolata...."
questo e' il campo aggiunto da me, come tu dicevi,
giorno: Format(Weekday(CDate(Mid([data];1;4) & "/" & Mid([data];5;2) & "/" &
Mid([data];7;2));"gggg"))
il campo DATA, ripeto, è di tipo testo.
Se vuoi ti inoltro il file.
Ti ringrazio ancora per il tuo prezioso aiuto.

Premetto che hai commesso un'errore nell'importazione dati da DBF.
Se al momento dell'importazione formattavi il campo Data come Data
e non facevi tutto in automatico non avresti avuto questo tipo di problemi.
Devi crearti un file specifica d'importazione ed usare quello se la cosa è
ripetitiva
da codice, se è manuale allora perdi qualche secondo in più e reimporta
impostando il campo a formato DATA.
Per proseguire il 3D di prima invece......!
Se inserisci la stringa SQL sarà così:
SELECT *, CDate(Mid([data],1,4) & "/" & Mid([data],5,2) & "/" &
Mid([data],7,2)) AS NewData, Format(Weekday([NewData]),"ddd") AS Giorno
FROM Tabella1
Se inserisci il campo deve avere la formattazione anglosassone.
In effetti vanno separate le 2 Funzioni pertanto i campi da aggiungere sono
2:
1)CDate(Mid([data],1,4) & "/" & Mid([data],5,2) & "/" & Mid([data],7,2)) AS
NewData
2)Format(Weekday([NewData]),"ddd") AS Giorno
    Per questo 2° campo se lo inserisci da QBF ricorda che Format avrà "ggg"
Fai un test con tutta la stringa SQL dopo aver inserito il nome corretto
della Tabella
quindi adattala alle tue esigenze.
Ciao



Alessandro, hai perfettamente ragione...
ho risolto con i consigli che mi hai dato proseguendo il 3D...
Mi piacerebbe sapere come importare un dbf in una tabella preparata e vuota.
C'è una modalità diversa da "carica dati esterni..." ?
scusa la mia ignoranza... ma quando importo un dbf ci va dritto dritto in
una tabella di pari nome, come faccio a far andare i dati in una tabella
preparata e vuota?
Comunque grazie ancora!

 Comunque grazie ancora!
Beh prova ad importare il File a mano la prima volta.
Durante l'uso del Wizzard per l'importazione hai la possibilità
di gestire la formattazione di ogni singola Colonna, e di salvare
tale formattazione come Specifica.
A quel punto quando esegui l'Import con il metodo TransferText
puoi applicare il parametro [nomefilespecifiche] precedentemente salvato.
Ciao
-- 
@Alex (Alessandro Baraldi)
