Discussione:
Nella visualizzazione dell'ultimo record, mi viene visualizzato il penultimo, perchè??
(troppo vecchio per rispondere)
Claudio
2006-11-22 09:19:22 UTC
Permalink
Forse l'oggetto non rende bene la descrizione del problema, spero di
poter meglio chiarire nel corpo.

Nel DB, mediante meschera una volta popolati tutti i campi in maschera,
collegata ad una tabella, mi apre una ulteriore maschera la quale invia
tutti i dati (via asp) ad un database remoto.
Fatta questa operazione l'utente cliccando su un pulsante dovrebbe
ricevere una stampa di un report con l'ultimo record inserito.
Per fare questo, avere l'ultimo record, avevo dato come origine al
report, una query di selezione che mi visualizzasse appunto solo e
soltanto l'ultiimo record

questa è la query
SELECT TOP 1 *
FROM Tbl1
ORDER BY ID DESC;

il problema però è che ad ogni completamento operazione, il report
stampa il penultimo record, pur esistendo nella tabella l'ultimo record
inserito.
Infatti, a riprova, se inserisco il record e apro la query vedo il
penultimo record, se chiudo e riapro la query per magia appare
l'ultimo... (why???)

Pensando che la query era una soluzione stupida, allora ho legato
sempre alla tabella una ulteriore maschera dove sull'evento open ho
inserito:
DoCmd.Requery
DoCmd.GoToRecord , , acLast

all'inserimento di un nuovo record per comodità diciamo il numero 5,
aprendo questa nuova maschera_test, come per magia (nera) mi appare il
penultimo record 4. Con maschera aperta, visualizzo la tabella e
l'ultimo record è il 5, e cliccando sul un pulsante (vai ad ultimo
record) si ferma sempre sul 4.
Se però chiudo e riapro la maschera_test come per magia (penso sia
sempre nera) mi appare il record 5
La domanda è semplice: perchè???????????
sono orma due giorni che non dormo che capire cosa causa sto tipo di
problema
attendo vostre prezione istruzioni


p.s. vi chiedo scusa per ogni eventuale errore od orrore di ortografia
o grammaticale, ormai il tremore da nervosismo la fa da padrone
ciao
CLAudio
Carlo Costarella
2006-11-22 10:43:48 UTC
Permalink
"Claudio" <***@gmail.com> ha scritto nel messaggio news:***@e3g2000cwe.googlegroups.com...
Forse l'oggetto non rende bene la descrizione del problema, spero di
poter meglio chiarire nel corpo.

Nel DB, mediante meschera una volta popolati tutti i campi in maschera,
collegata ad una tabella, mi apre una ulteriore maschera la quale invia
tutti i dati (via asp) ad un database remoto.
Fatta questa operazione l'utente cliccando su un pulsante dovrebbe
ricevere una stampa di un report con l'ultimo record inserito.
Per fare questo, avere l'ultimo record, avevo dato come origine al
report, una query di selezione che mi visualizzasse appunto solo e
soltanto l'ultiimo record

questa è la query
SELECT TOP 1 *
FROM Tbl1
ORDER BY ID DESC;

il problema però è che ad ogni completamento operazione, il report
stampa il penultimo record, pur esistendo nella tabella l'ultimo record
inserito.
Infatti, a riprova, se inserisco il record e apro la query vedo il
penultimo record, se chiudo e riapro la query per magia appare
l'ultimo... (why???)

Pensando che la query era una soluzione stupida, allora ho legato
sempre alla tabella una ulteriore maschera dove sull'evento open ho
inserito:
DoCmd.Requery
DoCmd.GoToRecord , , acLast
cut
----------------------------risposta ------------------------
Meglio fare me.refresh prima della procedura.
Al limite dopo aver fatto me.refresh, spostati al primo record visto che la
query visualizza comunque il primo record (ultimo) decrescente.
Potresti anche chiudere la maschera e spostare il codice su di un modulo
pubblico...prova e fammi sapere.

Ciao, Carlo
Claudio
2006-11-23 08:53:50 UTC
Permalink
Post by Carlo Costarella
----------------------------risposta ------------------------
Meglio fare me.refresh prima della procedura.
Al limite dopo aver fatto me.refresh, spostati al primo record visto che la
query visualizza comunque il primo record (ultimo) decrescente.
Potresti anche chiudere la maschera e spostare il codice su di un modulo
pubblico...prova e fammi sapere.
Ciao, Carlo
Purtroppo Carlo ho provato anche con Me.refresh ma la sostanza non
cambia
comunque, la query mi restituisce solo un record, cioè l'ultimo (o il
penultimo che dir si voglia) ma non anche il primo

Provo con un modulo pubblico
ti farò sapere

grazie
a presto
CLaudio
MA
2006-11-22 12:29:51 UTC
Permalink
Post by Claudio
Forse l'oggetto non rende bene la descrizione del problema, spero di
poter meglio chiarire nel corpo.
[CUT]
Questo è Asp non Access
In ogni caso devi salvare il record prima.
Seconda cosa che succede se io sto inserenddo un record e nel frattempo un
access successivo al mio ma più rapido salva prima di me?
Pensa il multiutente quando fai le applicazioni
Una soluzione potrebbe essere salvare l'istanza con un proprio
identificativo e stampare l'ultimo MIO identificato
--
--
Massimiliano Amendola
www.accessgroup.it
Il sito italiano di svilupatori Access
www.donkarl.com/it/cisa
Claudio
2006-11-23 08:57:31 UTC
Permalink
Post by MA
Questo è Asp non Access
In ogni caso devi salvare il record prima.
Seconda cosa che succede se io sto inserenddo un record e nel frattempo un
access successivo al mio ma più rapido salva prima di me?
Pensa il multiutente quando fai le applicazioni
Una soluzione potrebbe essere salvare l'istanza con un proprio
identificativo e stampare l'ultimo MIO identificato
Mi spiace contraddirti Massimo, ma è SOLO Access
infatti il record si salva subito, la maschera di inserimento è
collegata alla tabella non c'è alcun passaggio intermedio, l'aggio di
un db remoto avviene via asp ma in un secondo momento (se pur
immediato) e il db è monountenza infatti il db remoto ha solo lo scopo
di poter essere visualizzato e controllare i record inseriti nulla
più.
NOn mi serve un identificativo visto che faccio tutto con un unico DB
dove l'unica differenza sta nel avvere un clone remoto per una semplice
consultazione via asp.

a presto
Claudio

Loading...