Newsgroup: it.comp.lang.visual-basic
Titolo: Date nei form

Salve a tutti,
è da molto tempo che non partecipo al NG, ma da oggi spero di poter essere
più presente.
Avrei un problema che sicuramente avrete riscontrato e spero risolto nelle
vostre applicazioni.
Ho una tabella con un campo di tipo "Date" non obbligatorio.
Nel form di inserimento dati per questa tabella, omettendo il campo il
salvataggio del record va a buon fine.
Se il campo data invece viene prima compilato e puoi svuotato si ottiene
l'errore: "Azione eliminata da un oggetto associato". Non riesco a capirne
il motivo. Potreste aiutarmi?
P.S.: Per i campi di tipo "Date" l'Access non prevede la proprietà "Consenti
valore nullo".
--
Nino Stella
Inteldata Srl
nino...@tin.it



 wrote in message 8fej4v$ent$1...@nslave1.tin.it...


 puoi benissimo lasciare una stringa di testo di 8 caratteri al MAX e poi
da
tu hai ragione, però quando vuoi dare la possibilità all'utente di farsi
delle query la situazione si complica. Pensa solo al problema di ordinare
una tabella per data. Usando le stringhe verrebbe tutto falsato. Dovrei dire
all'utente di utilizzare il CVDATE ecc.
Comunque per adesso è l'unica soluzione.
ciao e grazie


 Comunque per adesso è l'unica soluzione.
anch'io uso sempre il campo data, soprattutto per le funzioni che consente
il tipo data.
se pero' il problema fosse solo di ordinamento, in linea del tutto teorica
e' possibilissimo, e tutto sommato semplice, fare un get di gg, mm, aaaa
(naturalmente vanno poi controllati il range dei singoli campi e la
sensatezza del risultato complessivo), e poi ordinare in ansi aaaammgg.
nelle query dovresti solo considerare che e' una stringa e non una data.
tant'e' che, oltre alla dtoc() (date2char) di dbase, mi sembra di ricordare
che il mai abbastanza rimpianto clipper avesse una praticissima dtos() cioe'
date2string.
(volendo, in questo modo diventa piu' semplice gestirsi i segni zodiacali,
se qualcuno e' interessato: inde on month + day :)
per quanto invece riguarda il problema iniziale, e' un casino che salta
spesso fuori. e nemmeno sui ng usa ho trovato risposte certe e/o univoche.
credo che si incasini con valori tipo "", null, ecc. -- tipica genialata
microsoft. siamo solo alla rel. 9 di access, forse alla 99 si comportera' in
modo user-friendlier...
io proverei a mettere nel lostfocus del txtbox o in validate / reposition
del datacontrol (se lo usi), qc tipo:
If Not IsDate(txtDate) Then txtDate = Date
cioe' a metterci una data valida di comodo (magari 1.1.1980); oppure:
Private Sub txtDate_LostFocus()
    If Not IsDate(txtDate) Then
        MsgBox "Data non corretta"
        txtDate.SetFocus
        txtDate.SelStart = 0
        txtDate.SelLength = Len(txtDate)
    End If
End Sub
col che l'utente non si schioda finche' non la capisce...
hth, pal






 col che l'utente non si schioda finche' non la capisce...
...se non fosse che nel mio caso la data non è un campo obbligatorio.
A volte mi sembra di essere tornato indietro. Quando si programmava in
dBase/Clipper certi automatismi erano scontati.
--
Starman

 il motivo. Potreste aiutarmi?
Io faccio cosě:
In Access uso i campi di tipo data (perchč sono sicuramente comodi)
La connessione al database ed il riversamento dei dati nei txtbox ecc lo
gestisco da codice
Quando l'utente lascia vuoto un txtbox dov'era prevista una data, prima di
salvare il record
ci metto io una data assurda (per l'applicazione in uso), quando l'utente
richiama il record
contenente la "data assurda" non la visualizzo.
In questo modo l'utente non si accorge di nulla ed il resto me lo ciuccio
io.
Non č elegante (un po' mi vergogno xchč immagino che esista qualcosa di +
furbo ma... piuttosto che
niente...meglio piuttosto)
Ciao

 Non č elegante (un po' mi vergogno xchč immagino che esista
qualcosa di + furbo ma... piuttosto che niente...meglio
piuttosto)
Usavo lo stesso sistema anche io (usavo 09/09/9999) prima di
convincermi che e` sufficiente l'uso di Null (da che versione
di access in poi? la due?).
--
Ciao.
Maurizio