Questione : accelerare il findfirst con la definizione di domanda

Ho accesso 2007 come la parte frontale ed assistente 2008 di SQL come estremità posteriore.  Stavo usando… i rs del
Set = etc
Since che di Me.RecordsetClone
rs.findfirst era realmente lento io è cambiato ad una definizione di domanda con parameters.
Should non che è più veloce?   Poiché nel mio caso è not.
Can che esaminate prego il mio codice allegato e dirmi a che cosa ho fatto torto?  Realmente sembra funzionare ma è ancora molto slow.
class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
occhiata notpretty del cboEvalDate_AfterUpdate secondario del >Private " del class= " " di codeSnippet810813 del id= del
           
class= > " libero " del
soluzioni >Related class= >rsFind " del qRelatedChild " " del class= di NoMatch " del title= " del href= " /Microsoft/Development/MS_Access/Access_Coding-Macros/Q_26340272.html di

Risposta : accelerare il findfirst con la definizione di domanda

Così che cosa stiamo facendo qui sta trovando l'annotazione nel recordset corrente usando l'oggetto di RecordsetClone.  L'annotazione è trovata una volta che regoliamo il segnalibro della forma per essere gli stessi come il segnalibro del recordset in modo da la forma visualizzi l'annotazione voluta.  Ci sono alcune cose per considerare come che cosa se ci sono cambiamenti unsaved sulla forma quando l'utente seleziona la casella combinata.  Potete aggiungere un ordine dell'annotazione di risparmi a quella parte del sommergibile o potete provare esso e fare il qualcos'altro.  Inoltre, che cosa accade se un fiammifero non è trovato?  Questo maggio o maggio non essere una possibilità basata sul vostro disegno della forma.  Esaminare l'esempio dell'Allen Browne per insite http://allenbrowne.com/ser-03.html

Occhiata del cboEvalDate_AfterUpdate secondario riservato () 'entro la data
        Db fioco come DAO.Database
        Qd fioco come DAO.QueryDef
        Rs fiochi come DAO.Recordset, rsFind come DAO.Recordset
        Regolar db = CurrentDb ()
        Regolar qd = db.QueryDefs! qryEvaluation
        qd. Parametri! ClientFileNo = txtClientFileNo
        qd. Parametri! WorkstationID = txtWorkstationID
        qd. Parametri! EvalDate = cboEvalDate.Text
        Regolare i rs = qd.OpenRecordset
        Se il bNewRevu = allinea allora 'questo se 021108 4:00
            Denominare AddEvalRcd 'se aggiungendo la prima data/eval ad una stazione di lavoro
            bNewRevu = falso
            cboName.Value = posizione di segnale minimo
            cboWorkstation.Value = posizione di segnale minimo
            cboEvalDate.Value = posizione di segnale minimo
            DoCmd.GoToControl “fsubEvalService„
            Uscire il sommergibile
        Altrimenti
            'permettere che l'utente scelga da a discesa (using EvalID)
            'molto lento qui su occhiata 7/12/10
            'rs.MoveFirst

            Regolare il rsFind = Me.RecordsetClone
                'presuppone che ClientFileNo e WorkstationID sono giacimenti del testo.  Rimuovere le citazioni circondanti (Chr (34)) se l'uno o l'altro è numerico
            rsFind.FindFirst “EvalDate = #„ & Me.cboEvalDate & “# e ClientFileNo =„ & Chr (34) & Me.txt ClientFileNo & Chr (34) & “e WorkstationID =„ & Chr (34) & Me.txt WorkstationID & Chr (34)
                'regolare il contrassegno di libro della forma al segnalibro del recordset
            Me.Boolmark = rsFind.Bookmark
            Regolare il rsFind = niente

         Concluder se

Gruppo del OM
Altre soluzioni  
 
programming4us programming4us