Newsgroup: it.comp.lang.visual-basic
Titolo: report non aggiornati

Ho costruito una applicazione VB che in successione estrae i dati da una
tabella di Access,  li inserisce in un'altra tabella di appoggio (questa
viene svuotata e riempita, con i risultati della select, ad ogni
elaborazione). Per ultimo viene aperto un report per visualizzare i dati
contenuti nella tabella di appoggio.
Ho notato che il report visualizza sempre i dati della elaborazione
precedente (che non esistono piů, perchč sostituiti da quelli dell'ultima
elaborazione).
Sapete dirmi perchč?
Grazie
Ciao
Michele

GUARDA LA PROPRIETA DISCARDSAVEDDATA!

Salve...
ieri la funzione Format(date$,"dd") mi restituiva 31...perchè il giorno
era 31....oggi mi restituisce 4...e nel mese invece trovo il giorno!
Tutto questo con VB6. Devo tentare il suicidio?
Gianni Moretti

 ha scritto nel messaggio
news:38E60E7A...@tiscalinet.it...

NO, è un bug già noto della format, se il giorno è inferiore a 13 (colpa
della localizzazione di Windows?) viene interpretato come MESE. Altrimenti,
correttamente come giorno.
L'unico modo mi sembra sia quello di forzare il riconoscimento, nel tuo caso
con
format(day(now),"00")
--
 
federic...@planet.it
Eliminare NOSPAM dall'indirizzo! Delete NOSPAM from address!

 format(day(now),"00")
Bug? Prova:
Debug.Print Date$, Format$(Date$, "dd")
Debug.Print Date, Format$(Date, "dd")
Debug.Print Date$, Format(Date$, "dd")
Debug.Print Date, Format(Date, "dd")
--
Ciao.
Maurizio

...

ATTENTO!
La Date() e la Date$() sono due cose DIVERSE!
La Date è il valore giuliano della data, la Date$ è la rappresentazione come
stringa della data, che eventualmente viene reinterpretata da VB come nel
tuo caso.
Ciao

 ha scritto nel messaggio news:8c5ind$d33$1...@nslave1.tin.it...
Già che siamo in argomento, qualcuno sa spiegarmi cosa succede
in questo caso ? Il problema è con Format e le date:
Debug.Print Day(Now)                     ' Risultato: 2
Debug.Print Format(Day(Now), "dd")       'Risultato: 01
Attenzione, vale per qualunque giorno; e succede anche utilizzando
al posto di Now un numero Long. Esempio:
Debug.Print Day(36618)                  ' Risultato: 2
Debug.Print Format(Day(36618), "dd")    'Risultato: 01
8-(((
Qualcuno ha idea del perché questo capita, e se è un bug, c'è anche sul VB6 ?
Bye, G.
--
---------------------------------------------
    Le risposte alle tue domande le trovi
    sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
       ... e nell'help in linea !
---------------------------------------------
Real E-address: 
gaet...@hotmail.com

"Paperino" <non...@lo.dico> ha scritto nel messaggio
news:8c7ko9$2kd4$1...@stargate1.inet.it...

Format con "dd" vuol dire di interpretare la variabile passata come una
data, prenderne il giorno e visualizzarlo in due cifre.
Se gli passi day(xx), gli passi un integer, non una data.
Usa format(now,"dd") oppure format(day(now),"00").
(Sempre che poi non faccia confusione con il mese (vedi news precedenti).
Il fatto poi che ti dia 01 come risultato, è perché automaticamente converte
il 2 da te passato in una data (risultato: 01/01/1900)


 Se gli passi day(xx), gli passi un integer, non una data.
Questo mi dimostra per l'ennesima volta la differenza tra pensare
in modo superficiale e _pensare_ . Sarà l'età...   :-(((
Grazzzzie !
Gaetano.

 > Maurizio Borrelli

"Zanna", scusa, non capisco a chi dici di stare attento e perche': io ho
risposto "Bug? Prova:" all'affermazione di "effedipi": "NO, è un bug già
noto della format" allo scopo di dimostrare che Format non e' responsabile
dell'apparente errore lamentato da "Gianni Moretti", mettendo in evidenza
come il problema nasca, appunto, dall'uso non accorto di Date e Date$ e
dalla stringa del secondo argomento di Format, che costringe ad interpretare
come data quello che data non e'.
Secondo me la risposta corretta alla domanda di "Gianni Moretti" e':
Usa Date, che restituisce una variante data che verra' interpretata
correttamente da Format.
Invece Date$ restituisce come stringa la data corrente di sistema in formato
interno di VB e cioe' secondo l'impostazione americana. Questo comporta che
quando Format "domanda a vb" di convertire tale stringa in data, vb risponde
con grande buona volonta' ed entusiasmo trasformando in data *a tutti i
costi* quello che gli viene passato. Una prova evidente di questo la si puo'
avere cosi':
Digitazione:            Testo dopo invio:
Debug.Print #12/4/2000# Debug.Print #12/4/00#
Debug.Print #4/12/2000# Debug.Print #4/12/00#
Debug.Print #13/4/2000# Debug.Print #4/13/00#
Debug.Print #4/13/2000# Debug.Print #4/13/00#
Quindi Format, poverino, non ci ha colpa.
--
Ciao.
Maurizio


Format no, ma non sarebbe giusto aspettarsi che VB segua sempre la stessa
logica nella conversione dei dati?


 logica nella conversione dei dati?
Eccome! Concordo in pieno con te, volevo proprio intendere quello scrivendo
che "vb risponde con grande buona volonta' ed entusiasmo trasformando in
data *a tutti i costi* quello che gli viene passato". Si potrebbe concludere
che, per stare tranquilli, convenga usare sempre Now al posto di Date, e da
qualche parte sicuramente sara' scritto.
--
Ciao.
Maurizio