Mark A Matte
markamatte at hotmail.com
Tue May 16 09:41:27 CDT 2006
Thanks A.D With the code you sent...when I click on a record...was it supposed to stay selected? or was the form supposed to return to its original state on its own? The 3 seconds referred to wasn't a 'lag' as much as the duration of the formatting. The selection only lasted that long. If I used a shorter recordset...I didn't see the formatting at all. Thanks, Mark A. Matte >From: "A.D.TEJPAL" <adtp at hotmail.com> >Reply-To: Access Developers discussion and problem >solving<accessd at databaseadvisors.com> >To: "Access Developers discussion and problem >solving"<accessd at databaseadvisors.com> >CC: ADT <adtp at airtelbroadband.in> >Subject: Re: [AccessD] Select Multiple records on form >Date: Tue, 16 May 2006 19:55:10 +0530 > >Mark, Gustav, > > 1 - Comments on points raised by Gustav: > 1.1 - Change of status requiring re-rendering of colors on >controls governed by conditional formatting involves slight time lag, >though in simplest of cases it may hardly be noticeable. > 1.2 - The phenomenon gets further accentuated when max allowed >limit of three format conditions is fully exploited, and the expressions >used therein are not merely verifying the status of a particular record but >are dependant upon user defined functions dealing with recordsets. > 1.3 - Block-size involved (number of cells i.e. rows x columns), >for which re-rendering of colors is to be implemented, also contributes to >time lag. Overall number of records in form's record source also has a >bearing, as each record needs to be tested against the condition even if it >does not qualify for application of color. > 1.4 - For dynamic formatting at run time, editing the expression / >color / font of existing condition visa-vis application of brand new >condition is not found to provide any advantage in respect of time lag >discussed above. On the other hand, with edit approach, the revision does >not take effect unless refresh action is also performed on the form. > 1.5 - For the present case, involving conditional formatting of >selected block of records on a continuous form (Access 2000 file format), >performance of dynamic conditional highlighting is found to be much better >in Access 2003 installation, where the status change gets implemented in >just a flicker. In case of Access 2K & XP installations, the time lag is >found to be significantly more noticeable. > > 2 - Comments on points raised by Mark: > 2.1 - When you drag the mouse over record selectors for multiple >selection, form's click event fires only after the mouse button is finally >released on reaching the last selected record. It is this click event that >sets up revised conditional formatting of records falling in the selected >block. > 2.2 - Fn_SelectedBlock() is used by the expression in format >condition and verifies whether the given record falls in currently selected >block. It takes primary key number as its argument and returns 1 if true, >otherwise zero. AS explained in para 2.1 above, Fn_SelectedBlock() comes >into play only after the mouse button is finally released on reaching the >last selected record. > 2.3 - In one of your posts, you stated that you also wish to keep >track of non-contiguous selected records. Non-contiguous records can not >simultaneously form part of a given block of current selection. Perhaps you >want to keep track of all previously selected records, even those not >falling in current selection block. If so, this can be done. > 2.4 - My sample db ContFormsKeyNavAndHighLightMultiSelect, covers >this requirement and should become available at Rogers Access Library >shortly. It features: > (a) Key Navigation (Datasheet Style) > (b) Graded Highlighting Of Multiple Selected Records identifying: > (i) Current record > (ii) Current selection block > (iii) Other records, selected any time earlier in current >session > Note - Primary key numbers of all selected records (whether >forming part of current block or not) are stored in a form level global >variable. > >Best wishes, >A.D.Tejpal >--------------- > > ----- Original Message ----- > From: Mark A Matte > To: accessd at databaseadvisors.com > Sent: Monday, May 15, 2006 23:11 > Subject: Re: [AccessD] Select Multiple records on form > > > Gustav, > > Thanks for the compliment. As I started going through the code line by >line...it got more confusing. Apparently the function "Fn_SelectedBlock" >goes through each control...but 1 record at a time. > > The thing is if you are stepping through the code...when it gets to >where it calls "Fn_SelectedBlock"...it does NOT go there...it just >continues on...then when you get to the end of the code(hit F8 1 last time >on END SUB)...it zips through the function"Fn_SelectedBlock", without >breaking. > > This code, in my opinion, is doing something very 'cool'...almost what I >need...but just out of my understanding. > > Thanks, > > Mark A. Matte > > > >From: "Gustav Brock" <Gustav at cactus.dk> > >Reply-To: Access Developers discussion and problem > >solving<accessd at databaseadvisors.com> > >To: <accessd at databaseadvisors.com> > >Subject: Re: [AccessD] Select Multiple records on form > >Date: Mon, 15 May 2006 18:53:48 +0200 > > > >Hi Mark and A.D. > > > >Sorry A.D. - didn't notice that. You normally know very well what you >are doing but this With .Add(..) thingy looks strange to me. > >It may be perfectly OK ... but 3 seconds? > > > >/gustav > > > > >>> markamatte at hotmail.com 15-05-2006 18:39 >>> > > >Gustav, > > > >A.D.Tejpal sent this code...I hate to admit...but I don't quite >understand.I've tried to step through the code...but it doesn't do the > >"Fn_SelectedBlock" part until after I finish stepping though( I can > >actually see the VBA window "zip" through that function...after it >appeard to be done) if that makes any sense???...and in all honesty I'm not >sure what to change. > > > >Thanks, > > > >Mark A. Matte > > > > >From: "Gustav Brock" <Gustav at cactus.dk> > > >Reply-To: Access Developers discussion and problem > > >solving<accessd at databaseadvisors.com> > > >To: <accessd at databaseadvisors.com> > > >Subject: Re: [AccessD] Select Multiple records on form > > >Date: Mon, 15 May 2006 18:30:29 +0200 > > > > > >Hi Mark > > > > > > With Me(ControlName).FormatConditions > > > .Delete > > > Cdn = "Fn_SelectedBlock(ID) <> 0" > > > With .Add(acExpression, , Cdn) > > > .BackColor = 16777164 > > > .FontBold = True > > > End With > > > End With > > > > > >That code looks clunky to me. Did you try changing it to something >that > > >specifically Set a FormatCondition object, then adjusts properties > > >BackColor and FontBold of this? > > > > > >/gustav >-- >AccessD mailing list >AccessD at databaseadvisors.com >http://databaseadvisors.com/mailman/listinfo/accessd >Website: http://www.databaseadvisors.com