Newsgroup: it.comp.appl.access
Titolo: Vorrei ripulire RecordSource che viene modificato dopo l'impostazione set me.recordse = miorecordset

Quando normalmente assegno un recordset ad una maschera senza recordsource 
questo campo viene riempito
Sull'evento chiusura lo elimino.
In alcuni circostanza questo non accade per molte ragioni.
La conseguenza � che all'apertura lo statement del recordsource � ovviamente 
invalido (trattandosi di statement con "dialetto" del provider dati) e 
quindi la mashera si chiude inesorabilemente
Form_Load e FOrm_Open non gli fanno nulla!
Grazie
Daniele 

"OneEDP" <OneEDP@antispam> ha scritto nel messaggio 
news:4b193924$0$34591$4faf...@reader1.news.tin.it...

Scarica il rst su Unload


S�, ma con una chiusura non controllata, e se magari l'utente ha eseguito 
save RecordSource rimane inchiavicato!
Che devo fare?
Grazie
Daniele 

 save RecordSource rimane inchiavicato!
Questo tipo di funzionalita' mi e' sconosciuta.
Dove posso trovare informazioni?
--
ac

 Dove posso trovare informazioni?
Spiegati?
Ogni volta che esegui su una forma set me.recodset = myrecordset (DAO o ADO) 
automaticamente Me.RercordSource viene modificata con la query relativa.
Daniele 

 Dove posso trovare informazioni?
qua 
http://www.etimo.it/?term=chiavica
;) 


Inciavicato voce del verbo inchiavicare 


che tradotto significa renderlo chiavica... per cui � "chiavica" da spiegare 
;) 

 automaticamente Me.RercordSource viene modificata con la query relativa.
Prima stavo celiando e non avevo seguito il post.
Cmq, non capisco il tuo problema a meno che tu non chiuda il form con 
acsaveyes.
--
ac


Chiavica � dispregiativo
Chiavico invece �.... superaltivo

 acsaveyes.
Dopo l'assegnazione del nuovo recordset l'utente potrebbe eseguire un save e 
successivamente pu� accadere che il file si chiuda o per un crash o per 
altro motivo (tra cui l'utente che stacca la spina! � successo!) per cui 
nessun evento di chiusura verrebbe scatenato e, torno a ripetere quel 
termine che mi piace tanto, il recordsource rimane inchiavicato impedento 
cos� ogni tentativo di apertura.
Quindi idealmente la pulizia doverbbe essere preventiva... ma su un mde 
credo non si possa fare non potendolo aprire in design.
Grazie
Daniele 

 credo non si possa fare non potendolo aprire in design.
Fammi capire tu sostieni che la *proprieta* Recordsource del form rimane 
  *sporcata* dall'ultima assegnazine fatta?
Non ci credo neanche se lo vedo!
1) Perche' non mi e' mai successo
2) Perche' secondo questa regola tutte le proprieta' che subiscono 
questo trattamento rimarrebbero *sporche* (non penso che questo 
comportamento possa essere solo della proprieta' recordsource)
3) Tutti gli sviluppatori sarebbero ora rinchiusi in un apposito manicomio
--
ac

 credo non si possa fare non potendolo aprire in design.
Un sacco di cose del genere possono capitare con un .MDB:  possono venir 
salvati nel design della Form filtri/Ordinamenti applicati dall'utente, 
impostazioni (anche deleterie) di Righe/Colonne DataSheet, impostazioni di 
Pagina Report, etc.
Per queste ragioni � importante distribuire i programmi in formato .MDE.
ciao 

 manicomio
Allora Ale (torno adesso dopo una giornata a combattere con linee down di 
vari operatori)
applicando questo articolo 
http://support.microsoft.com/kb/281998
 prova a 
leggere Recordsource dopo aver impostato il recordset di una form con un 
ADO.Recordset e vedrai che risultato ottieni.
In pratica diventa una propriet� dinamica.
Ecco quello che avviene all'apertura
Set mcmdDettaglio = New ADODB.Command
        With mcmdDettaglio
            Set .ActiveConnection = myConnection
            .CommandText = UCase(myStatementQuery)
            .CommandType = adCmdText
            .CommandTimeout = 0
            .Properties("Updatability") = 7
            .Parameters.Append .CreateParameter("NumOrdine", adDecimal, 
adParamInput)
            .Parameters("NumOrdine").NumericScale = 0
            .Parameters("NumOrdine").Precision = 5
        End With
        'Istanzia il recordset
        Set mrstDettaglio = New ADODB.Recordset 'era dichiarato con 
WithEvents
        With mrstDettaglio
            .CacheSize = 10
            .CursorLocation = adUseClient
            .CursorType = adOpenDynamic
            .LockType = adLockPessimistic
            'Set .ActiveConnection = mcnnAs400.Connessione
            .Properties("Initial Fetch Size") = 1
            .Properties("Background Fetch Size") = 10
        End With
        mcmdDettaglio.Parameters("NumOrdine").Value = 
CDec(nnz(Me.SceltaNumOrdine))
        mblnDettaglioMoved = False
        With mrstDettaglio
            .Cancel
            If .State = adStateClosed Then
                .Open mcmdDettaglio, , , , adAsyncFetchNonBlocking
            Else
                .Requery adAsyncFetchNonBlocking
            End If
        End With
       Set Me.Recordset = mrstDettaglio
e proprio qui che il RecordSource viene modificato con le conseguenze che vi 
ho mostrato
Grazie
Ciao
Daniele

 .MDE.
Ciao
Daniele 

 Ma mentre si lavora sulla struttura mdb � necessario
?
Le modifiche 'indesiderate' si verificano anche in fase di Runtime in un 
file .MDB.


"OneEDP" <OneEDP@antispam> ha scritto nel messaggio 
news:4b1940f5$0$34592$4faf...@reader1.news.tin.it...
Ma OneEDP, ti posso chiedere perch� ti complichi cos� tanto la vita?
Il fatto che tutti gli altri lavorino in maniera meno "ammanuense" non ti 
lascia pensare?
Se eviti tutto ci� che Access ti fornisce in maniera nativa, perch� non 
programmi in altri linguaggi?
Spiegami perch� veramente non capisco 


Perch� OT?
Ti chiarisco subito.
Potresti farti un'idea da questo thread che iniziai un paio di mesi fa 
http://groups.google.it/group/it.comp.appl.access/browse_thread/thread/ea5e49f7d86150b/a8593bbecb2fa140?lnk=gst&q=notte+insonne#a8593bbecb2fa140
In poche parole il mio obiettivo � questo: frontend access sul db SQL 
Server, ma non centralizzando al 100% i dati solo su remoto. Poich� devo 
risparmiare banda rete e tempo vorrei utilizzare access anche come una sorta 
di minidb offline (specialmente per le statistiche) da sql server (e qui gli 
adp non me lo consentono affatto), per cui prevedo soluzioni miste con i 
giusti compromessi.
Spero di averti chiarito un po' di pi�
Grazie comunque
Daniele