This is a multi-part message in MIME format.
------=_NextPart_000_0092_01C54B1B.9E41F4D0
Content-Type: multipart/related;
type="multipart/alternative";
boundary="----=_NextPart_001_0093_01C54B1B.9E41F4D0"
------=_NextPart_001_0093_01C54B1B.9E41F4D0
Content-Type: multipart/alternative;
boundary="----=_NextPart_002_0094_01C54B1B.9E41F4D0"
------=_NextPart_002_0094_01C54B1B.9E41F4D0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Oops,
forgot to add the sample
"Willy Hermans" <
info@pc-help-center.be> schreef in bericht =
news:[email=
426f5a05@ozsrvnegro.ozlan.local...]
426f5a05@ozsrvnegro.ozlan.local...[/email]
Thanks Ignacio,
Hereby a copy of the small project.
It is a typical example of linking two tables.
Maybe it can be useful to add to the samples map.
Greetings,
Willy Hermans.
"Ignacio Ortiz de Z=FA=F1iga" <
InvalidAccount@ozs.com> schreef in =
bericht news:426e78dd$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
Willy,=20
If you are using DataControls then you may use the =
TDataSet:SetFilter() method.=20
Regards,=20
TDataSet:Filter=20
=20
=20
=20
Establish a filter in the TDataSet. =20
=20
=20
Type=20
Only usable with open TDataSet=20
=20
Parameters=20
<cExpresion>=20
Filter expression=20
=20
Return value=20
<cOldExpresion>=20
Old filter expression=20
=20
=20
=20
=20
=20
This method allows to define any filter in the TDataSet. See =
also the ClearFilter method. =20
=20
=20
=20
The filter expression is compatible with the typical =
Clipper/[x]Harbour DbSetFilter() function. =20
=20
=20
=20
TDataSet =20
=20
Properties =20
=20
Methods =20
=20
Events =20
=20
=20
BTW I suggest you try to make a scope on the related database:
TDbfDataSet:SetScope=20
=20
=20
=20
Establish a new scope for the current tag. =20
=20
=20
Type=20
Usable only when the TDbfDataSet is open=20
=20
Parameters=20
[<xTop>]=20
If it is not NIL, it will establish a 'Top Scope' with =
this value.=20
[<xBottom>]=20
If is not NIL, it will establish a 'Bottom Scope' with =
this value. Otherwise, it will use the same xTop value.=20
[<lGoFirst>]=20
If it is .T. it will do a GoTop after the scope has been =
established.=20
=20
Return value=20
NIL=20
=20
=20
=20
=20
=20
This method is equivalent and it is based in the =
Clipper/[x]Harbour OrdScope() function. =20
=20
=20
=20
TDbfDataSet =20
=20
Properties =20
=20
Methods =20
=20
"Willy Hermans" <
info@pc-help-center.be> escribi=F3 en el mensaje =
news:[email=
426e0f4f@ozsrvnegro.ozlan.local...]
426e0f4f@ozsrvnegro.ozlan.local...[/email]
Hello Ignacio,
I've build this Metod
METHOD filter( oSender ) CLASS TForm1
Local cAlias :=3D Alias()
Select Child
Set Filter To Parent->Link =3D=3D Child->Link
Go Top
::oDbBrowse2:Refresh()
Select (cAlias)
RETURN Nil
This works fine but I'am wondering if there is no other solution =
build into the class in wich we can add the new filter in one line.
Something like For .. To
This looks like dBaseIII. I have to select Dbf's and reselect them =
at the end of the method.
Until now I am working in my xHarbour apps with ADS. Is the Cdx =
driver also as fast for filtering records.
Thanks already for the given support.
Greetings,
Willy Hermans.
"Ignacio Ortiz de Z=FA=F1iga" <
InvalidAccount@ozs.com> schreef =
in bericht news:426dfbc2$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
Willy,=20
Remember that Xailer is just a library for [x]Harbour:
SELECT TABLE
SET FITLER TO ....=20
GO TOP
Regards,=20
"Willy Hermans" <
info@pc-help-center.be> escribi=F3 en el =
mensaje news:426d56b5$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
OK
I thought already that I had to do someting in the on change =
event from the master dbf.
I have never seen how filtering works in Xailer.
Is there an example.
Thanks,
Willy Hermans
"Ignacio Ortiz de Z=FA=F1iga" <
InvalidAccount@ozs.com> =
schreef in bericht news:426d3933$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
Willy,=20
Simply trap the OnChange( lRecordChanged ) event on the =
master database browse to update the releated database browse.
Regards,=20
"Willy Hermans" <
info@pc-help-center.be> escribi=F3 en el =
mensaje news:426cfba6$[email=
1@ozsrvnegro.ozlan.local...]
1@ozsrvnegro.ozlan.local...[/email]
Hello all,
I want to make a screen with a 1->N relation between two =
tables.=20
I do not find an example.
So normaly I have to add something in the parent table on =
change event.
Is there anything available to compare.
Thanks,
Willy Hermans.
------=_NextPart_002_0094_01C54B1B.9E41F4D0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.2627" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Oops,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>Âforgot to add the =
sample</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Willy Hermans" <<A=20
href=3D"mailto:
info@pc-help-center.be">
info@pc-help-center.be</A>> =
schreef in=20
bericht <A=20
=
href=3D"news:
426f5a05@ozsrvnegro.ozlan.local">news:
426f5a05@ozsrvnegro.oz=
lan.local</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Thanks Ignacio,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>Hereby a copy of the small =
project.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>It is a typical example of linking =
two=20
tables.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>Maybe it can be useful to add to the =
samples=20
map.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>Greetings,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>Willy Hermans.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Ignacio Ortiz de Z=FA=F1iga" <<A=20
=
href=3D"mailto:
InvalidAccount@ozs.com">
InvalidAccount@ozs.com</A>> =
schreef=20
in bericht <A=20
=
href=3D"news:426e78dd$
1@ozsrvnegro.ozlan.local">news:426e78dd$[email=1@ozsrvnegr]1@ozsrvnegr[/email]=
o.ozlan.local</A>...</DIV>
<DIV>Willy, </DIV>
<DIV>Â</DIV>
<DIV>If you are using DataControls then you may use the =
TDataSet:SetFilter()=20
method. </DIV>
<DIV>Â</DIV>
<DIV>Regards, </DIV>
<DIV>Â</DIV>
<DIV>
<DIV id=3Dnsr style=3D"WIDTH: 376px">
<TABLE cellSpacing=3D0 cellPadding=3D2 width=3D"100%" border=3D0>
<TBODY>
<TR>
<TD align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 18pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><B>TDataSet:Filter</B><B>=20
<BR></B></SPAN></TD>
<TD align=3Dright><FONT face=3DArial size=3D2><A=20
=
href=3D" mk:@MSITStore:C:xailer2helpinglesDataSet.chm::/tdataset. htm ">=
<IMG=20
alt=3D"Volver a la Introducci=F3n"=20
src=3D"cid:008b01c54b0a$dab1f8e0$[email=6501a8c0@willy]6501a8c0@willy[/email]" =
border=3D0></A>Â=20
</FONT></TD></TR></TBODY></TABLE></DIV>
<DIV id=3Dmainbody=20
style=3D"OVERFLOW: auto; WIDTH: 785px; TOP: 39px; HEIGHT: 605px">
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">Â<BR></SPAN></TD></TR></TBODY ></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">Establish=20
a filter in the TDataSet. =
Â<BR></SPAN></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"></SPAN></TD></TR></TBODY></TABLE><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><BR>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">
<TABLE cellSpacing=3D0 cellPadding=3D2 border=3D2>
<TBODY>
<TR>
<TD vAlign=3Dtop align=3Dleft width=3D95><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><B>Type</B>=20
<BR></SPAN></TD>
<TD vAlign=3Dtop align=3Dleft width=3D371><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">Only=20
usable with open TDataSet <BR></SPAN></TD></TR>
<TR>
<TD vAlign=3Dtop align=3Dleft width=3D95><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><B>Parameters</B>=20
<BR></SPAN></TD>
<TD vAlign=3Dtop align=3Dleft width=3D371><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><<B>cExpresion>=20
<BR></B>Filter expression<SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Courier New"><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: =
Courier New">=20
<BR></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></TD></TR >
<TR>
<TD vAlign=3Dtop align=3Dleft width=3D95><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><B>Return=20
value</B> <BR></SPAN></TD>
<TD vAlign=3Dtop align=3Dleft width=3D371><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><<B>cOldExpresion>=20
<BR></B>Old filter expression=20
=
<BR></SPAN></TD></TR></TBODY></TABLE>Â<BR></SPAN ></SPAN></SPAN></TD>=
</TR></TBODY></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">Â<BR></SPAN></TD></TR></TBODY ></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">This=20
method allows to define any filter in the TDataSet. See also =
the <A=20
=
href=3D" mk:@MSITStore:C:xailer2helpinglesDataSet.chm::/tdatasetc learf=
ilter.htm">ClearFilter</A>=20
method. Â<BR></SPAN></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">Â<BR></SPAN></TD></TR></TBODY ></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">The=20
filter expression is compatible with the typical =
Clipper/[x]Harbour=20
DbSetFilter() function. =
Â<BR></SPAN></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">Â<BR></SPAN></TD></TR></TBODY ></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><A=20
=
href=3D" mk:@MSITStore:C:xailer2helpinglesDataSet.chm::/tdataset. htm ">=
TDataSet</A>=20
Â<BR></SPAN></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><A=20
=
href=3D" mk:@MSITStore:C:xailer2helpinglesDataSet.chm::/tdataset_ propi=
edades.htm">Properties</A>=20
Â<BR></SPAN></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><A=20
=
href=3D" mk:@MSITStore:C:xailer2helpinglesDataSet.chm::/tdatasetm etodo=
s.htm">Methods</A>=20
Â<BR></SPAN></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><A=20
=
href=3D" mk:@MSITStore:C:xailer2helpinglesDataSet.chm::/tdatasete vento=
s.htm">Events</A>=20
Â<BR></SPAN></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"></SPAN></TD></TR></TBODY></TABLE><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><BR><BR><BR></SPAN></SPAN></DIV></DIV >
<DIV>Â</DIV>
<DIV>BTW I suggest you try to make a scope on the related =
database:</DIV>
<DIV>Â</DIV>
<DIV>
<TABLE cellSpacing=3D0 cellPadding=3D2 width=3D"100%" border=3D0>
<TBODY>
<TR>
<TD align=3Dleft><SPAN=20
style=3D"FONT-SIZE: 18pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><B>TDbfDataSet:SetScope</B><B>=20
<BR></B></SPAN></TD>
<TD align=3Dright><FONT face=3DArial size=3D2><A=20
=
href=3D" mk:@MSITStore:C:xailer2helpinglesDbfDataSet.chm::/tdbfda taset=
..htm"><IMG=20
alt=3D"Volver a la Introducci=F3n"=20
src=3D"cid:008c01c54b0a$dab1f8e0$[email=6501a8c0@willy]6501a8c0@willy[/email]" =
border=3D0></A>Â=20
</FONT></TD></TR></TBODY></TABLE>
<DIV id=3Dmainbody=20
style=3D"OVERFLOW: auto; WIDTH: 778px; TOP: 39px; HEIGHT: 546px">
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">Â<BR></SPAN></TD></TR></TBODY ></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">Establish=20
a new scope for the current tag. =
Â<BR></SPAN></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"></SPAN></TD></TR></TBODY></TABLE><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><BR>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">
<TABLE cellSpacing=3D0 cellPadding=3D2 border=3D2>
<TBODY>
<TR>
<TD vAlign=3Dtop align=3Dleft width=3D95><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><B>Type</B>=20
<BR></SPAN></TD>
<TD vAlign=3Dtop align=3Dleft width=3D371><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">Usable=20
only when the TDbfDataSet is open <BR></SPAN></TD></TR>
<TR>
<TD vAlign=3Dtop align=3Dleft width=3D95><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><B>Parameters</B>=20
<BR></SPAN></TD>
<TD vAlign=3Dtop align=3Dleft width=3D371><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">[<<B>xTop</B>>]=20
<BR>If it is not NIL, it will establish a 'Top Scope' =
with this=20
value. <BR>[<<B>xBottom</B>>] <BR>If is not NIL, =
it will=20
establish a 'Bottom Scope' with this value. Otherwise, =
it will=20
use the same <B>xTop</B> value. =
<BR>[<<B>lGoFirst</B>>]=20
<BR>If it is .T. it will do a <A=20
href=3D"dataset.chm::/tdatasetgotop.htm">GoTop</A> after =
the scope=20
has been established.<SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Courier New"><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: =
Courier New">=20
<BR></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></TD></TR >
<TR>
<TD vAlign=3Dtop align=3Dleft width=3D95><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><B>Return=20
value</B> <BR></SPAN></TD>
<TD vAlign=3Dtop align=3Dleft width=3D371><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">NIL=20
=
<BR></SPAN></TD></TR></TBODY></TABLE>Â<BR></SPAN ></SPAN></SPAN></TD>=
</TR></TBODY></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">Â<BR></SPAN></TD></TR></TBODY ></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">This=20
method is equivalent and it is based in the Clipper/[x]Harbour =
OrdScope() function. =
Â<BR></SPAN></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial">Â<BR></SPAN></TD></TR></TBODY ></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><A=20
=
href=3D" mk:@MSITStore:C:xailer2helpinglesDbfDataSet.chm::/tdbfda taset=
..htm">TDbfDataSet</A>=20
Â<BR></SPAN></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><A=20
=
href=3D" mk:@MSITStore:C:xailer2helpinglesDbfDataSet.chm::/tdbfda taset=
_properties.htm">Properties</A>=20
Â<BR></SPAN></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
<TBODY>
<TR vAlign=3Dtop>
<TD width=3D14></TD>
<TD><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: =
Helvetica,Arial"><A=20
=
href=3D" mk:@MSITStore:C:xailer2helpinglesDbfDataSet.chm::/tdbfda taset=
metodos.htm">Methods</A>=20
Â<BR></SPAN></TD></TR></TBODY></TABLE></SPAN ></DIV></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Willy Hermans" <<A=20
=
href=3D"mailto:
info@pc-help-center.be">
info@pc-help-center.be</A>>=20
escribi=F3 en el mensaje <A=20
=
href=3D"news:
426e0f4f@ozsrvnegro.ozlan.local">news:
426e0f4f@ozsrvnegro.oz=
lan.local</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Hello Ignacio,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>I've build this =
Metod</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>METHOD filter( oSender ) CLASS=20
TForm1<BR>Local cAlias :=3D Alias()<BR>Select Child<BR>Set Filter =
To=20
Parent->Link =3D=3D Child->Link<BR>Go=20
Top<BR>::oDbBrowse2:Refresh()<BR>Select (cAlias)<BR>RETURN=20
Nil</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>This works fine but I'am =
wondering if there=20
is no other solution build into the class in wich we can add the =
new=20
filter in one line.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Something like For .. =
To</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>This looks like dBaseIII. I have =
to select=20
Dbf's and reselect them at the end of the method.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>Until now I am working in my =
xHarbour apps=20
with ADS. Is the Cdx driver also as fast for filtering=20
records.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>Thanks already for the given=20
support.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>Greetings,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>Willy Hermans.</FONT></DIV>
<DIV><FONT face=3DArial><BR><FONT size=3D2></FONT></FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Ignacio Ortiz de Z=FA=F1iga" <<A=20
=
href=3D"mailto:
InvalidAccount@ozs.com">
InvalidAccount@ozs.com</A>>=20
schreef in bericht <A=20
=
href=3D"news:426dfbc2$
1@ozsrvnegro.ozlan.local">news:426dfbc2$[email=1@ozsrvnegr]1@ozsrvnegr[/email]=
o.ozlan.local</A>...</DIV>
<DIV>Willy, </DIV>
<DIV>Â</DIV>
<DIV>Remember that Xailer is just a library for =
[x]Harbour:</DIV>
<DIV>Â</DIV>
<DIV>SELECT TABLE</DIV>
<DIV>SET FITLER TO .... </DIV>
<DIV>GO TOP</DIV>
<DIV>Â</DIV>
<DIV>Regards, </DIV>
<DIV>Â</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Willy Hermans" <<A=20
=
href=3D"mailto:
info@pc-help-center.be">
info@pc-help-center.be</A>>=20
escribi=F3 en el mensaje <A=20
=
href=3D"news:426d56b5$
1@ozsrvnegro.ozlan.local">news:426d56b5$[email=1@ozsrvnegr]1@ozsrvnegr[/email]=
o.ozlan.local</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>OK</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>I thought already that I had =
to do=20
someting in the on change event from the master =
dbf.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>I have never seen how =
filtering works in=20
Xailer.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>Is there an =
example.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>Thanks,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>Willy Hermans</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Ignacio Ortiz de Z=FA=F1iga" <<A=20
=
href=3D"mailto:
InvalidAccount@ozs.com">
InvalidAccount@ozs.com</A>>=20
schreef in bericht <A=20
=
href=3D"news:426d3933$
1@ozsrvnegro.ozlan.local">news:426d3933$[email=1@ozsrvnegr]1@ozsrvnegr[/email]=
o.ozlan.local</A>...</DIV>
<DIV>Willy, </DIV>
<DIV>Â</DIV>
<DIV>Simply trap the OnChange( lRecordChanged ) event on the =
master=20
database browse to update the releated database =
browse.</DIV>
<DIV>Â</DIV>
<DIV>Regards, </DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: =
5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Willy Hermans" <<A=20
=
href=3D"mailto:
info@pc-help-center.be">
info@pc-help-center.be</A>>=20
escribi=F3 en el mensaje <A=20
=
href=3D"news:426cfba6$
1@ozsrvnegro.ozlan.local">news:426cfba6$[email=1@ozsrvnegr]1@ozsrvnegr[/email]=
o.ozlan.local</A>...</DIV>
<DIV><FONT face=3DArial size=3D2>Hello all,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>I want to make a screen =
with a=20
1->N relation between two tables. </FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>I do not find an=20
example.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>So normaly I have to add =
something in=20
the parent table on change event.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>Is there anything =
available to=20
compare.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>Thanks,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>Â</DIV>
<DIV><FONT face=3DArial size=3D2>Willy=20
=
Hermans.</FONT></DIV></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE ></BLOCKQUOTE>=
</BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>
------=_NextPart_002_0094_01C54B1B.9E41F4D0--
------=_NextPart_001_0093_01C54B1B.9E41F4D0
Content-Type: image/gif;
name="button_main.gif"
Content-Transfer-Encoding: base64
Content-ID: <008b01c54b0a$dab1f8e0$[email=6501a8c0@willy]6501a8c0@willy[/email]>
R0lGODlhEAAQAJEAAP///wAAZszMzGZmZiH5BAAAAAAALAAAAAAQABAAAAI+ hI9pwe2+nmQrCXCx
CEt4r31b1ACctAyqSakqZ2YPAgfeJAxjfJR0p9owcsFahgXrAYuN3M6mSNQm qKgVUAAAOw==
------=_NextPart_001_0093_01C54B1B.9E41F4D0
Content-Type: image/gif;
name="button_main.gif"
Content-Transfer-Encoding: base64
Content-ID: <008c01c54b0a$dab1f8e0$[email=6501a8c0@willy]6501a8c0@willy[/email]>
R0lGODlhEAAQAJEAAP///wAAZszMzGZmZiH5BAAAAAAALAAAAAAQABAAAAI+ hI9pwe2+nmQrCXCx
CEt4r31b1ACctAyqSakqZ2YPAgfeJAxjfJR0p9owcsFahgXrAYuN3M6mSNQm qKgVUAAAOw==
------=_NextPart_001_0093_01C54B1B.9E41F4D0--
------=_NextPart_000_0092_01C54B1B.9E41F4D0
Content-Type: application/octet-stream;
name="OneToMany.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="OneToMany.zip"
UEsDBBQAAgAIAGxZmzI/lE+bXAEAAD4CAAANAAAAT25lVG9NYW55Lnhwak1R y27CMBC8R8qvRKV3
H1oCaipCUIjaSqgH4yzBxS+tbQR/33UCLSfPzo73MbvbtM37Yt5951l3dcDg AnlWghcoXZDWsMZA
Z2turnnWxOBi+GeKUTy32kkFyC5vHPc2Yp7VXJra9lEBW1rUs8LhQGxUQToF lfGBGwGeFV2RZ18b
qiUP4MMUV4K65tmGI9cQAD0FzaJmxZKSHxSnqWbFU561oIB7YARfo1R9Amka Go0l5K6tHI6BcIe8
h5rjyY8JrcGEBHfNpqua9Za2f4nBah6kqEGfOZYgFE0wWjB2LmEfh8oc7BRu o3MI3q+kgXXUe8CU
Q/3w4y7ZHi0GEUOQZpgynxyNoWgFZ1BsRtZYhGb0O01Vc7ckRyftnDirgOy8 EUlLXU+kTxuUVUvn
a9pqkbbYkv8CSolsQmSnESr2I3WDyTj/p7tjMnn/kwh6qOyyWo0FZw/nHq/4 /HjSX1BLAwQUAAIA
CABsWZsytXiOcb8AAAAfAQAAFAAAAFNvdXJjZS9PbmVUb01hbnkucHJnXY7L CsIwEEX3hf7DUDdt
obaKIgRcFMSdD7QLtyEdbCRNyphQ/HubKqIu53Dn3pOnEAaQwpHMDYVlcNBY mR3XjxFvpcIvNu3o
OvIN3gXJzkqjGZRdp6Tg/oC75WShNbVTOCZLZxtD7PXF7dBWLLL5KpsXxdLD PAzCYCK1UK5GiC58
WKSpaCLPByuBtSOEHZc6TjwD+B5kopJWIbA1RB/NaExVW0PtLE7YHvv4RzJh 58b0vu6v7OTeIye0
jnQYPAFQSwMEFAACAAgAdVqbMsh/QMpsAQAALwMAABAAAABTb3VyY2UvRm9y bTEucHJntVJNa8JA
EL0L/ofBXqzgV2gpBCxoonjQRDSlva7JaLZdd8JmbfXfd3cjqPTj1IaEncyb N/ve7HZb9Rq0YKHo
FVPtQywxoTmTR5eecIE+TEiZd9fvFGrbghDLVPFCc5K+KxrudU7Kf+ZCHGGK asdk6YCQacPu3bW9
h7bX693bpANmXL4Bg4IplBqYzCDNuchAs7XAqoLIVGjQOQLJgkpNBUoolFmU PgJtgML1xuzAVqg9
10M4jijJdTiRYxnkTG4R8N3uVfFGij5K7Nu6br1Wr91wmYp9htB4Ycax6qR5 w+aD2XC1gsSZh8ky
nlexhQAgiOeLOBpHCVCQHZwU2qvU9b1Cz0J/gbwv0Ogs81vAO+mYj5NpHEKg 0Mzb6mveXuY3XGhU
TaAVygwV3FraOAqduWv31SkfNjvnvttt/+lje/6kCS5HXa/5/uVk/OQU+eab VNSGvUODwcJdofaj
/WsYZ8tx8rSMIOLifxx8AlBLAwQUAAIACAB1WpsyszfpmgsCAACYCAAAEAAA AFNvdXJjZS9Gb3Jt
MS54Zm3VVE1v2jAYviPxH6ycgoSi2IS1Q9qBhDC6QYJIql56yZKXEinYlWNE f/5sN5CwAlUp0rZL
ZL/2+3zYjzPz40k4Qh6HRMCY8bXZQd50GEUoVjPcbrVbCKFo8wx80Nyly4NB BMJlG5qVJiLE7iKs
Pr0+kR+nj3a70hheBBp8Q4YGNaoyGzOqy7EamJ2KwETGLEJRQksUAc+XRhfd dpHEdWx7D0m9Igcq
HvJMrBREj9wcrkwgf1pp9B7G1VKF36lcPdzFExS6P3wvVmq87GWUiCRiG54C 1roOSlJgAFtTiiqW
lQ6FWniMUkgFZKrFiq39Sk0nZ34wOk47+rXUHCBeOev5CUJWS1INb5TvN6Zz zlIoS33y3/3AXwyn
Rr0aJGsNYFiPkvNxnnB5bJYc1nuK8BnoZ22Rv2rLW+VFZmXvugrpnJVit2Is 80IANz5q2nU525ZV
enazE4Ybb8fW+cZ9R74b7NR7mvCxy7cLSCXIDu+AcN+joOn+XRCnWT9wcWBE dy3Ytn42+LY+MMnL
eCapZc4Z10c3tv64ORDVtTUCfdSH0rz1WLFZ0/edpBNIMtCUxvQu+Gkct+nY zboWNM6hyI73nT2G
62gNhjP/hNYvX89ofdN3/spC6q0S+gRXyCz5YGax+sur1N7o1NoXpJb8k6kl FySB/EepJRelFmN8
vdgeS+bCj+8XgQ5cu/UbUEsDBAoAAAAAAAVZmzIAAAAAAAAAAAAAAAAEAAAA RGJmL1BLAwQUAAAA
CAAQgZkyDThHP4oAAAAADAAADQAAAERiZi9DSElMRC5DRFhjYGEAAzYg5mJ4 wMgwCkYEYGRgBJOj
YGQDZmAa+A8FDxj//2dg4OcXYGFhZmALGGinjQLaAmcPTx8XYKEPBywMCaMF wggBPOCyn4ehtKAg
tUgjJzMvW3OgnTQKBgAwM7DCy/8rwPKfmYGdXYiZmRmYOpgYBJgZeFgYBFgZ BAbamaOA+sDIwMDA
EABQSwMEFAAAAAgAEIGZMkP/WJtPAAAA3wAAAA0AAABEYmYvQ0hJTEQuREJG Y2ZlkWRlYGBIYpBk
QAeMQOzj6ecN5TqDCBY0NX6Ovq7I8iJo8rwMCgYGBobOGZk5KQqGCulF+aUF QBoMEBJGGBJGqDqM
0CWMcEkYo0gAAFBLAwQUAAAACAAVgJkykm6xVoIAAAAADAAADgAAAERiZi9Q QVJFTlQuQ0RYY2Bh
AAMmIOZieMDIMApGBGBkYASTo2BkA2ZgGvgPBfcZ//9nYODnF2BhYWZgcxho p40CmoIAxyBXvxBg
oQ8HLAwJowXCCAE84LKfhyG0oCC1SCMnMy9bc6CdNAoGADADW36w8v8usPxn ZmBnF2JmZmYENQl5
Btp1o4CGwMjAwMAQAFBLAwQUAAAACAAVgJkyE8XakkMAAACUAAAADgAAAERi Zi9QQVJFTlQuREJG
Y2ZlkWRiYGBIYpBkQAeMQOzj6ecN5TqDCBY0NX6Ovq7I8iJo8rwMCgYGBobp RfmlBQr5eakKSAAo
YQSRKCnPRxIHAFBLAQIUABQAAgAIAGxZmzI/lE+bXAEAAD4CAAANAAAAAAAA AAAAIAC0gQAAAABP
bmVUb01hbnkueHBqUEsBAhQAFAACAAgAbFmbMrV4jnG/AAAAHwEAABQAAAAA AAAAAAAgALSBhwEA
AFNvdXJjZS9PbmVUb01hbnkucHJnUEsBAhQAFAACAAgAdVqbMsh/QMpsAQAA LwMAABAAAAAAAAAA
AAAgALSBeAIAAFNvdXJjZS9Gb3JtMS5wcmdQSwECFAAUAAIACAB1Wpsyszfp mgsCAACYCAAAEAAA
AAAAAAAAACAAtIESBAAAU291cmNlL0Zvcm0xLnhmbVBLAQIUAAoAAAAAAAVZ mzIAAAAAAAAAAAAA
AAAEAAAAAAAAAAAAEAAAAEsGAABEYmYvUEsBAhQAFAAAAAgAEIGZMg04Rz+K AAAAAAwAAA0AAAAA
AAAAAAAgAAAAbQYAAERiZi9DSElMRC5DRFhQSwECFAAUAAAACAAQgZkyQ/9Y m08AAADfAAAADQAA
AAAAAAAAACAAAAAiBwAARGJmL0NISUxELkRCRlBLAQIUABQAAAAIABWAmTKS brFWggAAAAAMAAAO
AAAAAAAAAAAAIAAAAJwHAABEYmYvUEFSRU5ULkNEWFBLAQIUABQAAAAIABWA mTITxdqSQwAAAJQA
AAAOAAAAAAAAAAAAIAAAAEoIAABEYmYvUEFSRU5ULkRCRlBLBQYAAAAACQAJ ABkCAAC5CAAAAAA=
------=_NextPart_000_0092_01C54B1B.9E41F4D0--
Attached files OneToMany.zip (2.7 KB)Â