Newsgroup: it.comp.appl.access
Titolo: Aggiornamento record su tabelle collegate

ho un db splittato in FE e BE residenti entrambi sul mio hard disk, nella
stessa cartella. Ora mi capita che usando DAO per effettuare delle
operazioni sui record (aggiunta, eliminazione) sul seguente
"sottomaschera.requery" per aggiornare l'elenco dopo gli interventi operati,
questo elenco in realtà non si aggiorni, sono costretto a chiudere e
riaprire la form per avere il contenuto aggiornato! E' come se il comando
requery fosse troppo veloce rispetto al tempo di aggiornamento dei record
(infatti sento chiaramente il rumore dell'hard disk che lavora quando il
requery è ormai già bello che andato!).
Come posso risolvere questo?! Mi sembra piuttosto assurdo già in locale,
figuriamoci in un ambiente di rete
p.s.: Ho letto i precedenti post di lentezza su tabelle collegate ma non ho
trovato aiuti. Grazie.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 ha scritto nel messaggio
news:80Z206Z188Z10Y1...@usenet.libero.it...

Hai letto i messaggi precedenti ma non hai incluso il codice che utilizzi e
descritto i passaggi che fai.
Io (acc'97) non noto nessun problema e ti parlo di tabelle residenti su
server e maschere su client...
Ciao.
--
Sergio MAZZA


ad esempio, codice per eliminare dei record:
private sub aa() 'tutto DAO
dim dbs as database
dim rst1 as recordset
    Set dbs = OpenDatabase(strPercorsoBE)
    Set rst1 = dbs.OpenRecordset("tab", dbOpenTable)
        rst1.Index = "primarykey"
        rst1.Seek "=", k1, k2
        rst1.Delete
        rst1.Close
        Set rst1 = Nothing
        dbs.Close
        Set dbs = Nothing
        msgbox ("RECORD ELIMINATO")
        forms!maschera!sottomaschera.form.requery
end sub
qualcosa del genere...a questo punto nella maschera il record è ancora
visibile nonostante sia già fisicamente eliminato. Difatti chiudendo e
riaprendo la form non c'è più.
Da notare che sono costretto ad usare opendatabase perchè devo fare un seek
ed essendo la tabella collegata l'unico modo è questo, non posso fare set
rst1=currentdb.openrecordset("tab").



E fare:
set rst1 = me.recordsetclone, che è il recordset della maschera attiva?
Ciao.
--
Sergio MAZZA

 Sergio MAZZA
no perchè la maschera ha una query come recordset, io lavoro su un'altra
tabella da codice. è chiaro che la query prende dei valori dalla tab che
manipolo.



Prova allora con una query di aggiornamento/cancellazione (metodo OpenQuery)
e poi a fare un me.requery...
Ciao.
--
Sergio MAZZA


Per quello che so io non puoi usare la funzione Seek per tabelle collegate
ma solo per tabelle contenute nello stesso database.
Vai  sul Sito Comune e nella Sezione Tables prova a leggere la FAQ di
Valerio Bussi intitolata "Utilizzare il metodo seek con una tabella
collegata (be)".
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Roberto
lo so! è proprio quello che ho scritto! la procedura è già predisposta per
ovviare al problema difatti

 ha scritto nel messaggio
news:c14nnh$mem$1...@canarie.caspur.it...

grazie devo ancora provarci, però ho notato che su un windows 2000 il
problema non si propone, cioè l'aggiornamento è istantaneo! invece testando
sul mio pc che è win 98 si verifica la latenza sull'aggiornamento!