Newsgroup: it.comp.lang.visual-basic
Titolo: [ADO & VB] Problema con date storiche

Ciao ragazzi,
ho il seguente problema :
con VB6 SP5 e Access 2000 dovrei andare a scrivere in un
campo di tipo data/ora delle date molto 'vecchie' tipo 1510 etc..
Il problema č che access mi restituisce un errore nel caso di tali date,
mentre il tutto funziona con date piů recenti.
La cosa strana č che inserendo la data incriminata direttamente nella
tabella tramite Access non ho problemi.
Non posso modifcare il campo ad intero per ragioni che non
dipendono da me. (sarebbe stato facile.....)
Quale č il problema e come faccio a risolverlo ?
Grazie. 

todoroki ha scritto:

non sono sicuro di avere capito che tipo di problema.
dovendo lavorare spesso con date del genere, il problema vero e' che prima
dell'800 i calendari variano, nonch' da stato a stato, da regione a
regione d'italia, per non parlare dell'incubo delle indizioni, ma per il
resto piu' o meno funziona, specie se non vuoi sapere che giorno della
settimana e' una certa data.
adesso ho creato una tabella con
id
gg
mm
aa
giorno
giorno e' un data, id il contatore, gli altri long.
con un datacontrol e una griglia, ho messo solo questo codice:
Private Sub cmdOk_Click()
    txtGiorno = CDate(txtGG & "/" & txtMM & "/" & txtAA)
    Adodc1.Recordset.MoveLast
End Sub
tralasciando un momento per velocita' il discorso su cdate fatto ieri da
albe, ho provato a inserire
5 12 1345
31 12 1510
e dando ok sia txtgiorno sia la griglia mostrano
05/12/1345
31/12/1510
da te che cosa succede?
ciao, a.
ps - uso vb6sp6
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio 
news:dobpjq$o1s$1...@news.newsland.it...


>> Quale è il problema e come faccio a risolverlo ?


 Tu ne sai niente ?
Se sapessi l'errore, forse potrei aiutarti.
Ciao
Alberto
-- 
A questo punto hanno trovato un muro,
un muro duro, molto molto duro,
che siamo noi.

 e mi da errore dal 1752.
E per essere proprio precisi che caspita di errore hai?
E magari, dato che stai provando a salvare una data, spiegami perchè gli 
passi una stringa!
Usa DateSerial()!!!
Ciao 

 Tu ne sai niente ?
quanto al 1752, non so se c'entra
http://www.redhat.com/docs/manuals/database/RHDB-7.1.3-Manual/sql/datatype-datetime.html
 The Papal bull of February 1582 decreed that 10 days should be dropped
from October 1582 so that 15 October should follow immediately after 4
October. This was observed in Italy, Poland, Portugal, and Spain. Other
Catholic countries followed shortly after, but Protestant countries were
reluctant to change, and the Greek orthodox countries didn't change until
the start of this century. The reform was observed by Great Britain and
Dominions (including what is now the USA) in 1752. Thus 2 Sep 1752 was
followed by 14 Sep 1752
mi e' capitato cercando
access date field 1752
in ogni modo e' un buon esempio di quello che accennavo sulle date
'storiche'.
continuo a restare assai perplesso sulla tabella. di solito si mette
alfanumerico, in modo da poter segnare 1728-1729. mal che vada numerico.
ma per un campo di cui si usa, e nel quale si immette, solo l'anno, usare
il date mi sembra suicida.
ciao, a.


 Questa non mi era mai capitata !
A parte tutte le giustissime considerazioni degli altri sul trattamento dei dati
di tipo Date, il tuo problema probabilmente sta qui:
http://www.kbalertz.com/kb_264081.aspx
Non stai quindi usando il provider JetOLEDB ma ODBC, giusto?
Bye
Raf

Che palle....
Tutti tranne uno sono andati a criticare il codice (che tra l'altro era solo 
di
esempio) che ho scritto invece di cercare di capire e risolvere il reale 
problema.
Non è di grande aiuto..
Solo Rafunk ha capito il problema e la reale situazione.
Grazie comunque delle vostre risposte.

 Solo Rafunk ha capito il problema e la reale situazione.
La prossima volta tirerò a caso le risposte anche io anzichè basarmi sulle 
tue indicazioni.
Un bravo a Rafunk che ormai conosce i suoi polli e riesce a leggere nel 
pensiero.
Ciao 

 pensiero.
concordo :>
ciao, a.

 ha scritto nel messaggio
news:43aa5b58$1...@x-privat.org...

Diciamo che sono stato illuminato quando todoroki ha detto che l'errore saltava
fuori con date antecedenti al 1753... non era proprio un anno a caso infatti
ricordavo che in SQL Server l'intervallo di date rappresentabili correttamente
con il tipo datetime iniziava proprio dall'1/1/1753.
Una ricerchina nell'MSDN ed ecco trovata la soluzione.
Sì comunque sto andando a scuola di "lettura tra le righe"...
Bye
Raf

 Sì comunque sto andando a scuola di "lettura tra le righe"...
visto che ti ha in simpatia, spiegala a todoroki, insieme al valore di un
integer e ai limiti di una tabella access :)
lo sproloquio sui 10 giorni persi era preceduto dal link redhat.
forse "sql/datatype-datetime.html" non si leggeva abbastanza bene.
cliccare e continuare a leggere, evidentemente
ciao, a. :->

 cliccare e continuare a leggere, evidentemente
Boh... sinceramente quando ho visto che parlava di PostgreSQL ho skippato... ma
in effetti il succo è lo stesso: è la riforma gregoriana del calendario la
"fonte" dei guai.
Ciao
Raf

 esempio)
Ed è questa la vera minchiata.
Se posti una porcheria che non rispecchia ciò che realmente fai, 
distogli dal vero problema. Leggendo un codice oggettivamente 
vergognoso come quello che hai scritto, veniva da pensare che ci 
fossero chissà quali altre cavolate nel codice stesso.
Ad esempio, se tu avessi postato la connectionstring, si sarebbe notato 
subito che usavi ODBC, cosa che su Access oramai non fa più nessuno (ed 
evidentemente c'è un perchè...).


Ok, va bene.
La mia polemica nasceva soltanto dal fatto che molte volte
le risposte di alcuni membri nel newgroup mi sembrano alquanto
altezzose.
Tali soggetti pensano di essere gli unici sapientoni, di conoscere solo
loro tutti gli arcani e ritengono il 90% degli altri frequentatori del 
newsgroup
degli incompetenti e li trattano, non con buone maniere, come dei 
rompiscatole.
A queste persone voglio dire che devono sapere che l'educazione ed il 
rispetto
verso gli altri precede qualsiasi altro principio e conoscenza, anche perchè 
spesso
non sanno nemmeno chi sono le altre persone ed i loro livelli di 
preparazione nel campo.
A volte a causa di questi comportamenti mi verrebbe voglia di abbandonare il 
newsgroup,
anche se i famosi ed infallibili sapientoni di cui parlavo, non esiterebbero 
a rispondermi :
"Di uno come te cosa ne facciamo ?"
Con questo chiudo.

 rompiscatole.
E questo non è bello, ma dopo aver sentito per l'ottomilionesima volta la
stessa domanda sulle date, di cui ci saranno 4mila thread alla settimana che
risviscerano tutte le volte le stesse cose, spiegando per filo e per segno
come Windows gestisce le date, fino ad arrivare quasi al linguaggio macchina
e al big/little indian, per poi vedere che dopo 2 ore un altro rifà una
domanda sullo stesso argomento... beh, sinceramente a me cadono i
co&£|0ni...
Ciao

 e al big/little indian
little big endian o little big horn? :)

"todoroki" <todo...@NOSPAMlibero.it> ha scritto

visto che il "che palle" era in reply a un mio messaggio, chiariamo.
tu devi ancora capire cos'e' la programmazione (il tuo "livello di
preparazione", o piuttosto di impreparazione, e' chiarissimo da quello che
scrivi e da come lo scrivi), ma soprattutto devi ancora imparare a usare un
newsgroup.
nessuno ti ha offeso, qualcuno si e' smazzato a cercare di risolvere il tuo
problema, ti sono stati chiesti chiarimenti.
non li hai forniti, hai dato solo codice fake (peraltro dilettantesco come
la tua analisi), non hai nemmeno fatto clic su un link, e insulti.
finiamola qui, e tanti auguri, non solo di stagione.
a.p.


o long horn? :P

 ha scritto nel messaggio 
news:411hdmF...@individual.net...



CVD che cosa?
Che non hai capito ancora un tubo di come funziona e che nessuno ti ha
offeso?
Ciao

 Questa non mi era mai capitata !
Perchè continui a metterti in imbarazzo da solo?
Lokar

 ha scritto nel messaggio 
news:43abcc90$0$1083$4faf...@reader4.news.tin.it...

Il problema l'ho risolto quasi da subito.
Il CVD è riferito al fatto che la risposta dimostrava
ciò che avevo asserito prima.
Non mi riferisco a te che mi sembri una persona
corretta ed educata, senza parlare della competenza.
Al "caro" andrea palazzi che afferma che la mia
reparazione è nulla e che io di programmazione non
ne so niente, voglio rispondere che io sono un ingegnere
informatico con 110 e lode.
Tu cosa sei, a parte il solito saputello che "crede" di
sapere tutto e tratta altezzosamente gli altri come pivelli.
Inoltre tengo a precisare che io con il mio "che palle" non
ho offeso o insultato nessuno, era solo un'imprecazione.
VB nei 5 anni non lo abbiamo usato molto e perciò so
benissimo da solo di non essere ferrato in questo ambiente.
Mi trovo ad usarlo abbastanza spesso, matale problema
non mi era mai capitato.
Con questo chiudo, abbandono definitavamente questo
newsgroup e torno al mia amato java, tanto di me che ve
fate ?

 fate ?
Auguri per il tuo incerto futuro da programmatore.
Lokar
P.S. Nessuno ti ha cacciato, se non sai accettare le
critiche costruttive che ti sono state rivolte...
Beh, fattacci tuoi! 

 informatico con 110 e lode.
Nelle regate, la tua posizione sarebbe da R.A.F. (Retired After Finish).
E' il gesto di chi, dopo avere terminato una regata in una determinata
posizione, ritiene di avere ottenuto tale piazzamento in modo immeritato (ad
esempio per un errore della giuria), e chiede di venire considerato RAF, e
messo fuori classifica.
Se veramente sei un 'ingegnere informatico con 110 e lode', in questo
specifico thread hai rappresentato a tutti gli effetti una vergogna per la
categoria (di cui molti qui dentro, me compreso, fanno parte).
Non tanto per la spaventosa incompetenza tecnica, del tutto ammissibile
nelle fasi di apprendimento, quanto per l'arroganza e la supponenza che
insisti a mostrare.
Se ti viene detto che una certa cosa è 'orrida', e ti viene detto da chi su
un determinato argomento ne sa più di te, o se ti viene detto che non sai
usare un NG, e ti viene detto da chi questo NG lo frequenta da molto più di
te, hai solo due possibilità:
- Dimostrare intelligenza, e riflettere sulle ragioni che hanno portato
diverse persone a esprimersi in un certo modo;
- Dimostrare stupidità, ed incazzarti sostenendo che 'gli altri sono
maleducati'.
Purtroppo per te, hai già scelto.
Alberto

 informatico con 110 e lode.
Beh, da quanto postato non si direbbe, non solo per il codice postato, ma
per il fatto che non ti sei attenuto alla prima regola della reportistica di
un problema: dettagliare sempre il più possibile le condizioni che possono
aver causato il problema e qual è il problema.
Con questo mi pare che il thread stia un po' andando alla deriva, anche come
toni.
(sì, mi sto proprio rammollendo...)
Ciao

 (sì, mi sto proprio rammollendo...)
possiamo suggerirle un impianto nuovo di zecca?
http://tinyurl.com/9dxpe
nel pregiarci di augurarle buone feste e un sereno 2006
le inviamo i nostri piu' distinti saluti, suoi
a&p odont., inc.
e non pensi male sull'inc.: siamo tranquillissimi, con la coscienza
specchiata di chi non l'ha scelto ma ci si trova e ci prova :)