FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour MULTISELECT RECORDSET
Posts: 300
Joined: Wed Jul 11, 2007 11:06 AM
MULTISELECT RECORDSET
Posted: Fri Jun 25, 2021 02:18 PM

Hi,
I can use multiselect with xbrowse of recordset
*
How to go to each record select and do Something

What is the syntax ?

wac := oLbx:aSelected

for i = 1 to len (wac)
*** ???
next

Thanks for your help .

Philippe

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: MULTISELECT RECORDSET
Posted: Sat Jun 26, 2021 03:21 AM
Code (fw): Select all Collapse
oBrw:lScreenUpdating := .f.
oBrw:Refresh()
//
uSaveBm := oBrw:oRs:BookMark
for i := 1 to Len( oBrw:aSelected )
  oBrw:oRs:BookMark := oBrw:aSelected[ i ]
  // do anything with the current record of the recordset
  // during this loop do not refresh browse
next
oBrw:oRs:BookMark := uSaveBm
//
oBrw:lScreenUpdating := .t.
oBrw:Refresh()


Another way:

Code (fw): Select all Collapse
oBrw:lScreenUpdating := .f.
oBrw:Refresh()
//
uSaveBm := oBrw:oRs:BookMark
cFilter := oBrw:oRs:Filter
oBrw:oRs:Filter := oBrw:aSelected
oBrw:oRs:MoveFirst()
do while !oBrw:oRs:Eof()
   // do your work
   oBrw:oRs:MoveNext()
enddo
oBrw:oRs:MoveFirst()
oBrw:Filter := cFilter
oBrw:oRs:BookMark := uSaveBm
//
oBrw:lScreenUpdating := .t.
oBrw:Refresh()
Regards



G. N. Rao.

Hyderabad, India
Posts: 1487
Joined: Tue Jun 14, 2016 07:51 AM
Re: MULTISELECT RECORDSET
Posted: Sat Jun 26, 2021 07:59 AM

oBrw:lScreenUpdating := .F.

First time i see this one...

I suppose it is adviced for the moments that we process xbrowse records like the sample posted here ?

but where is it build for ? are there more situations its use is better ?

Marc Venken

Using: FWH 23.08 with Harbour
Posts: 300
Joined: Wed Jul 11, 2007 11:06 AM
Re: MULTISELECT RECORDSET
Posted: Sat Jun 26, 2021 08:59 AM

Thanks for your help .

Here is the code that work for me .

oRs:Filter := oLbx:aSelected
oRs:MoveFirst()
do while !oRs:Eof()
msgalert(oRs:Fields(1):Value)
oRs:MoveNext()
enddo

Thanks

Philippe

Continue the discussion