Newsgroup: it.comp.lang.visual-basic
Titolo: Un contributo - Please su Requery

Salve a tutti.
Stamane mi sono alzato con questo dubbio. Spero di trovare una spiegazione
per stasera, ma nel frattempo mi appello a chiunque abbia un  .... po di
cuore.
Dunque, ho due form l'una per navigare tra i record del mio Db la seconda
per l'aggiunta e la modifica degli stessi.
Durante i test, mi sono accorto che, però quando apportavo una modifica ad
un record, tramite la seconda form, questa non veniva immediatamente
riportata nella prima.
Sono allora ricorso al metodo  requery ma il risultato non cambiava.
Mi sono fatto le mie belle ricerche e ho trovato qualcosa di cui nemmeno
immaginavo la funzione ecco cosa è venuto fuori (adoAnaLookup è il nome del
controllo adodc che stò usando)
      myBookmark = adoAnaLookUp.Recordset.Bookmark 'mi segno il punto dove
voglio ritornare
      Call frmIEAnagrafica.EditRecord(txtIDnome.Text) 'apre la form per
l'editing dei dati
      adoAnaLookUp.Refresh 'ho finito l'editing e riempio di nuovo il rst
con i dat aggionati
      adoAnaLookUp.Recordset.ActiveCommand.CommandText = "SELECT * FROM
D1qryAnagrafe ORDER BY IDNome" 'ecco la cosa nuova e che mi lascia
preplesso, questo serve per rifare il caricamento della query senza chiudere
e riaprire (praticamente come se andassi una seconda volta nella form di
editing)
      adoAnaLookUp.Recordset.Requery 'non so se serve a qualcosa a questo
punto
      adoAnaLookUp.Recordset.Bookmark = myBookmark ' ritorno al punto di
partenza
dopo un paio di prove sembrerebbe che tutto funzioni, quindi ho applicato la
stessa cosa ad altre tre form che fanno l'editing di altre tabelle.
provo con la prima OK
provo con la seconda OK
provo con la terza ?????
siccome non vorrei esplodere, adesso mi allontano dal computer e quando
stasera riprendo a lavorarci spero di aver sbollito tutto e di accorgermi
che magari si tratta di una banalità (la mia attenzione si stà concentrando
sull'uso della query)
ma chi sa se qualcuno ha una soluzione più pulita.
a proposito: provatevi a a scrivere 'adoAnaLookUp.Recordset.ActiveCommand '
poi ad inserire il 'punto' e ditemi cosa succede   : >
Ciao e grazie a tutti per l'attenzione
ZioJoe

 un record, tramite la seconda form, questa non veniva immediatamente
[CLIPpettone]
Non ho tempo di fare prove e non ho capito che cosa ti succede.
L'unica cosa è: Secondo me un Bookmark non è più riapplicabile se fai un
Requery del recordset, dovresti metterti via il valore del campo chiave e
ricercarlo dopo il Requery... ripeto... secondo me...
CIAO
Ettore Maronese, il Mes
http://www.it-lang-vb.net
   << Il Migliore
Evitate di applicare il rasoio di Occam: "Pluralitas non est ponenda sine
necessitate", perchè significa rifugiarsi nella pigrizia.

 riportata nella prima.
Di solito ciò avviene se si utilizzano connessioni diverse alla stessa
fonte dati. Prova a fare in modo di condividere la stessa connessione tra
le due form, e poi guarda che cosa succede.
-- 
Salutoni
Sergio
Per rispondere... togli il group dall'indirizzo
Se i tempi non chiedono la tua parte migliore, inventa altri tempi. 
(Baolian, libro II, vv. 16-17)
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 wrote in
message news:dlhm75$lmj$1...@domitilla.aioe.org...


 questo articolo e` stato inviato via web dal servizio gratuito


 funziona e ancora non trovo la strada per farla funzionare.
[CLIP]
Prova a fare, al posto di ADODC1.refresh:
    ADODC1.Recordset.Requery()
Se non funziona prova a fare:
   Dim TmpRs as ADODB.Recordset
    set TmpRs = ADODC1.Recordset
    set ADODC1.DataSource=nothing
    TmpRs.Requery()
    set ADODC1.DataSource=TmpRs
Poi, come ti ho detto, dubito che per tornare sul record precedente i
Bookmark funzioni, meglio se fai un  ADODB.Recordset.Find ("xuz",...)


 wrote in
message news:dlklci$5a5$1...@domitilla.aioe.org...
