Fråga : rusa upp findfirst med querydefinition

Jag har att ta fram 2007 som beklär avslutar och SQL-server 2008 som en backend.  Jag använde… rs = etc
Since för
Set för Me.RecordsetClone
rs.findfirst som den var egentligen långsam mig ändrade till en querydefinition med parameters.
Should inte, som är snabbare?   Därför att i mitt fall det är not.
Can, du behar look på fäst mitt kodifierar och berättar mig vad jag förorättade?  Den verkar faktiskt för att vara funktionsduglig, men det är stilla mycket slow.
> för
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
" codeBody " " referens för undercboEvalDate_AfterUpdate för >Private för class= " för
Related lösningar för class= ": för NoMatch " för title= " för rsFind " för qRelatedChild class= först om endast NoMatch

Svar : rusa upp findfirst med querydefinition

Så vad vi gör här, finner rekordet i strömrecordseten, genom att använda RecordsetClonen, anmärker.  En gång rekordet är funnit oss uppsättningen bildabokmärken som är samma som recordsetbokmärken så den bilda ska skärmen det önskade rekordet.  Det finns några saker som betraktar liksom vad, om det finns osparade ändringar på bilda, när användaren väljer det combo boxas.  Du kan tillfoga ett räddningrekord befaller till den del av suben, eller du kan testa för den och göra någonting annat.  Också vad händer, om en match inte finnas?  Denna kan eller kan inte vara en möjlighet som baseras på ditt, bildar design.  Se det Allen Brownes exemplet för insite http://allenbrowne.com/ser-03.html

Referens för privat undercboEvalDate_AfterUpdate () 'daterar by
        Dunkel db som DAO.Database
        Dunkel qd som DAO.QueryDef
        Dunkla rs som DAO.Recordset, rsFind som DAO.Recordset
        Uppsättning db = CurrentDb ()
        Uppsättning qd = db.QueryDefs! qryEvaluation
        qd. Parametrar! ClientFileNo = txtClientFileNo
        qd. Parametrar! WorkstationID = txtWorkstationID
        qd. Parametrar! EvalDate = cboEvalDate.Text
        Fastställda rs = qd.OpenRecordset
        Om bNewRevuen = True därefter 'denna om 021108 4:00
            Appellen AddEvalRcd ', om tillfoga 1st, daterar/eval till en arbetsstation
            bNewRevu = falskt
            cboName.Value = ogiltigt
            cboWorkstation.Value = ogiltigt
            cboEvalDate.Value = ogiltigt
            DoCmd.GoToControl ”fsubEvalService”,
            Gå ut suben
        Annars
            'låt användaren välja från dropdown (using EvalID)
            'mycket långsamt här på referens 7/12/10
            'rs.MoveFirst

            Fastställd rsFind = Me.RecordsetClone
                'antar att ClientFileNo och WorkstationID är text sätter in.  Ta bort omgeende citationstecken (Chr (34)) om endera är numerisk
            rsFind.FindFirst ”EvalDate = nr.” & Me.cboEvalDate & ”nr. och ClientFileNo =” & Chr (34) & Me.txt ClientFileNo & Chr (34) & ”och WorkstationID =” & Chr (34) & Me.txt WorkstationID & Chr (34)
                'uppsättning som bilda bokar markerar till recordsetbokmärken
            Me.Boolmark = rsFind.Bookmark
            Fastställd rsFind = ingenting

         Avsluta om

Om-liga
Andra lösningar  
 
programming4us programming4us