Newsgroup: it.comp.lang.visual-basic
Titolo: Un consiglio su come scrivere una data

Ciao a tutti,
premetto: sono un neofita del Vb :
ho definito un campo data estesa (su un Db Access 2000), adesso creo una
form di inserimento dati che dovrà andare a scrivere anche questo campo,
come mi consigliate di scriverlo in mmggaaaa oppure aaaammgg ??? Tenendo
presente che dovrei farci poi delle select sulla data fatidica....
Grazie mille a tutti.
Ronny
--------------------------------
Inviato via 
http://usenet.libero.it

 come mi consigliate di scriverlo in mmggaaaa oppure aaaammgg ???
Perchè pensi che 27/11/2002 sia diverso da 2002/11/27?
Ciao
--
using System.Gtk.Forms = "
http://www.neodatatype.net/windowsforms/sgf.aspx
"
mathParser = "
http://www.neodatatype.net
"
sitoComune = "
http://www.it-lang-vb.net
"

 come mi consigliate di scriverlo in mmggaaaa oppure aaaammgg ???
Sbaglierò, ma a mio avviso, se il campo è di tipo data/ora, esso viene
sempre memorizzato come numero, in cui la parte intera "rappresenta" i
giorni trascorsi da una data assunta come "0" (mi sembra sia il primo
gennaio 1900), e la cui parte decimale rappresenta l'ora. Tutte le altre
menate (data estesa, data breve, data in cifre, date a pois) sono solo ed
esclusivamente formati di visualizzazione......
hth
Salutoni
Sergio

 ha scritto nel messaggio
news:194Z130Z244Z250Y...@usenet.libero.it...

?
Le date se le prende nel formato data!
#dd/mm/yyyy#
anche se poi nelle query dovresti usare
mm/dd/yyyy
a meno che non abbia impostato 3 campi
Anno Mese Giorno a integer
(che forse sarebbe la cosa migliore)
e allora passeresti senza problemi
alla
SELECT * FROM Ordini WHERE (mese=1) And ((giorno>10) And (giorno<20))
che invece da un po di problemi con le date (between....data in formato
"americano"....formati diversi per DB diversi..etc etc)
io (dopo varie esperienze) mi sento di dire...
prendi in considerazione (se devi smanettare molto con le query e le date)
di spaccare la data in 3 campi numerici!
 bye man!

 date) di spaccare la data in 3 campi numerici!
Oppure in un unico campo testo nella forma "AAAAMMGG" ... :-)

 ha scritto nel messaggio
news:nT8F9.29556$3l.8...@twister1.libero.it...

quella č la soluzione che uso se non devo aggieggiare la data!
 solo memorizzarla.
ma in una query come fai a trovare i records fra il 10 ed il 15 marzo?
giorno>=10 AND giorno <=15 AND mese=3
se lo faccio con il testo mi si incasina...e se lo ridevo convertire tanto
vale usare il between ed il formato nativo.
E son convinto che, se anche scrivi di piů e sia un po una palla, sia piů
veloce il sistema dei 3 campi integer.
Non ti pare?
ciao!

 giorno>=10 AND giorno <=15 AND mese=3
... Where Data>='20020310' And Data<='20020315'
... col formato "AAAAMMGG" mi garantisco anche l'Order By :-)

 ... col formato "AAAAMMGG" mi garantisco anche l'Order By :-)
WHERE Data >= #2002/03/10# AND Data <= #2002/03/15#
E anche qui l'ordinamento č garantito dal tipo intrinseco. ;)


 E anche qui l'ordinamento č garantito dal tipo intrinseco. ;)
Zanna, verissimo, ma ricordi quel 3d dove sono stati proposti 8000 formati
diversi, ciascuno in funzione del database di arrivo (Access, SQL Server,
etc.) e il mezzo di comunicazione (DAO, ADO)?
Non voglio riaprirlo, ma col formato interno, quei cancelletti non ci vanno
con ADO/SqlServer.
Il campo testo, fortunatamente, č uguale per tutti, anche nella sintassi SQL
:-))

 Il campo testo, fortunatamente, č uguale per tutti, anche nella sintassi
SQL
In ogni caso noto sempre di piů, con dispiacere tra l'altro, che una
soluzione univocamente valida e accettata da tutti non esiste.
Questo č male.

 Questo è male.
Si la mia!
:-)
ossia mandi a fanculo le date e le tratti come numeri...dal db sotto casa a
quello che si inventeranno fra un anno...funzionerà sempre!
IMHO eh!...non voglio fare il presuntuoso....
io la penso così:
se dichiari una "cosa" testo e poi ti affidi (posso osare il termine?) ad un
casting implicito.....storgo il naso !
Oggi funziona ma un domani?
 se SQL.Net (o come cavolo si chiamerà) rinuncia a tale casting?
Deprechiamo tanto le Variant e poi ci affidiamo ad un cast fatto da un prog
di zio bill???
sempre IMHO eh!
:o)

 anche nella sintassi SQL
Anch'io uso il formato aaaammgg ma non capisco perche' usi il tipo testo,
Lupo!
Mi pare evidente che il tipo piu' adatto sia un bel Long!
Lokar
--
Sito Comune: 
http://www.it-lang-vb.net/
Manifesto: 
http://www.it-lang-vb.net/docs/Manifesto.txt
UGIdotNET - 
http://www.ugidotnet.org

 Mi pare evidente che il tipo piu' adatto sia un bel Long!
Hai ragione. Diciamo che continuo a preferire il testo perchč tratto la
stringa nella sua struttura, cosě com'č, quando devo formattarla per
esporla. Anche col Long si puň, ovviamente, ma a forza di Mod, Fix e
divisioni. Con la stringa me la cavo usando solo Mid. Tieni anche in buon
conto che (tutto nasce da questo), non sempre hai a disposizione tutte le
funzioni di trattamente numerico per vari database in un comando SQL. Quelle
(ne basta una) per il trattamento del testo, sě, pur con sintassi diverse.

 IMHO eh!...non voglio fare il presuntuoso....
Da tanto rimugino su questo problema, sto cercando di adottare più
soluzioni, per verificare ralemente quale mi convenga.
Ad esempio nel tuo sistema io ho un problema.
Se associo un recordset ad un datagrid ho degli enormi problemi nel
visualizzare le date formattate giuste, l'unica soluzione sarebbe usare
flexgrid e caricare il recordset a mano, che onestamente è molto più brigoso
del datagrid.
Onestamente flexgrid e mshflexgrid li uso solo se devo colorare le celle o
visualizzare una struttura gerarchica con il datashape :-)
Comunque accetto qualsiasi consiglio e critica alle mie parole, in quanto
ammetto onestamente di avere diverse lacune sulle griglie.