In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Relations
-
- Mensajes: 21
- Registrado: Sab Jul 08, 2006 12:06 pm
Relations
Hello all,
I want to make a screen with a 1->N relation between two tables.
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.
--
I want to make a screen with a 1->N relation between two tables.
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.
--
- ignacio
- Site Admin
- Mensajes: 9440
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Relations
Willy,
Simply trap the OnChange( lRecordChanged ) event on the master database browse to update the releated database browse.
Regards,
"Willy Hermans" <info@pc-help-center.be> escribió 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.
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.
--
Simply trap the OnChange( lRecordChanged ) event on the master database browse to update the releated database browse.
Regards,
"Willy Hermans" <info@pc-help-center.be> escribió 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.
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.
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
-
- Mensajes: 21
- Registrado: Sab Jul 08, 2006 12:06 pm
Relations
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úñiga" <InvalidAccount@ozs.com> schreef in bericht news:426d3933$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Willy,
Simply trap the OnChange( lRecordChanged ) event on the master database browse to update the releated database browse.
Regards,
"Willy Hermans" <info@pc-help-center.be> escribió 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.
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.
--
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úñiga" <InvalidAccount@ozs.com> schreef in bericht news:426d3933$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Willy,
Simply trap the OnChange( lRecordChanged ) event on the master database browse to update the releated database browse.
Regards,
"Willy Hermans" <info@pc-help-center.be> escribió 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.
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.
--
- ignacio
- Site Admin
- Mensajes: 9440
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Relations
Willy,
Remember that Xailer is just a library for [x]Harbour:
SELECT TABLE
SET FITLER TO ....
GO TOP
Regards,
"Willy Hermans" <info@pc-help-center.be> escribió 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úñiga" <InvalidAccount@ozs.com> schreef in bericht news:426d3933$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Willy,
Simply trap the OnChange( lRecordChanged ) event on the master database browse to update the releated database browse.
Regards,
"Willy Hermans" <info@pc-help-center.be> escribió 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.
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.
--
Remember that Xailer is just a library for [x]Harbour:
SELECT TABLE
SET FITLER TO ....
GO TOP
Regards,
"Willy Hermans" <info@pc-help-center.be> escribió 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úñiga" <InvalidAccount@ozs.com> schreef in bericht news:426d3933$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Willy,
Simply trap the OnChange( lRecordChanged ) event on the master database browse to update the releated database browse.
Regards,
"Willy Hermans" <info@pc-help-center.be> escribió 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.
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.
--
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
-
- Mensajes: 21
- Registrado: Sab Jul 08, 2006 12:06 pm
Relations
Hello Ignacio,
I've build this Metod
METHOD filter( oSender ) CLASS TForm1
Local cAlias := Alias()
Select Child
Set Filter To Parent->Link == 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úñiga" <InvalidAccount@ozs.com> schreef in bericht news:426dfbc2$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Willy,
Remember that Xailer is just a library for [x]Harbour:
SELECT TABLE
SET FITLER TO ....
GO TOP
Regards,
"Willy Hermans" <info@pc-help-center.be> escribió 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úñiga" <InvalidAccount@ozs.com> schreef in bericht news:426d3933$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Willy,
Simply trap the OnChange( lRecordChanged ) event on the master database browse to update the releated database browse.
Regards,
"Willy Hermans" <info@pc-help-center.be> escribió 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.
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.
--
I've build this Metod
METHOD filter( oSender ) CLASS TForm1
Local cAlias := Alias()
Select Child
Set Filter To Parent->Link == 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úñiga" <InvalidAccount@ozs.com> schreef in bericht news:426dfbc2$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Willy,
Remember that Xailer is just a library for [x]Harbour:
SELECT TABLE
SET FITLER TO ....
GO TOP
Regards,
"Willy Hermans" <info@pc-help-center.be> escribió 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úñiga" <InvalidAccount@ozs.com> schreef in bericht news:426d3933$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
Willy,
Simply trap the OnChange( lRecordChanged ) event on the master database browse to update the releated database browse.
Regards,
"Willy Hermans" <info@pc-help-center.be> escribió 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.
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.
--
- ignacio
- Site Admin
- Mensajes: 9440
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Relations
This is a multi-part message in MIME format.
------=_NextPart_000_000B_01C54A95.4DC250D0
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_000C_01C54A95.4DC250D0"
------=_NextPart_001_000C_01C54A95.4DC250D0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
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_001_000C_01C54A95.4DC250D0
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>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:000501c54a84$8a34c5e0$0e00000a@ozlan.local" =
border=3D0></A>Â=20
</FONT></TD></TR></TBODY></TABLE></DIV>
<DIV id=3Dmainbody 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:000601c54a84$8a3736e0$0e00000a@ozlan.local" =
border=3D0></A>Â=20
</FONT></TD></TR></TBODY></TABLE>
<DIV id=3Dmainbody 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 use=20
the same <B>xTop</B> value. <BR>[<<B>lGoFirst</B>>] =
<BR>If it=20
is .T. it will do a <A=20
href=3D"dataset.chm::/tdatasetgotop.htm">GoTop</A> after the =
scope has=20
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()=20
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>> =
escribi=F3=20
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 =
TForm1<BR>Local=20
cAlias :=3D Alias()<BR>Select Child<BR>Set Filter To Parent->Link =
=3D=3D=20
Child->Link<BR>Go Top<BR>::oDbBrowse2:Refresh()<BR>Select=20
(cAlias)<BR>RETURN 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 is no=20
other solution build into the class in wich we can add the new filter =
in one=20
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 Dbf's=20
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 with=20
ADS. Is the Cdx driver also as fast for filtering =
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>> =
schreef=20
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 someting=20
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 1->N=20
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 =
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 the=20
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></BODY></HTML>
------=_NextPart_001_000C_01C54A95.4DC250D0--
------=_NextPart_000_000B_01C54A95.4DC250D0
Content-Type: image/gif;
name="button_main.gif"
Content-Transfer-Encoding: base64
Content-ID: <000501c54a84$8a34c5e0$0e00000a@ozlan.local>
R0lGODlhEAAQAJEAAP///wAAZszMzGZmZiH5BAAAAAAALAAAAAAQABAAAAI+ hI9pwe2+nmQrCXCx
CEt4r31b1ACctAyqSakqZ2YPAgfeJAxjfJR0p9owcsFahgXrAYuN3M6mSNQm qKgVUAAAOw==
------=_NextPart_000_000B_01C54A95.4DC250D0
Content-Type: image/gif;
name="button_main.gif"
Content-Transfer-Encoding: base64
Content-ID: <000601c54a84$8a3736e0$0e00000a@ozlan.local>
R0lGODlhEAAQAJEAAP///wAAZszMzGZmZiH5BAAAAAAALAAAAAAQABAAAAI+ hI9pwe2+nmQrCXCx
CEt4r31b1ACctAyqSakqZ2YPAgfeJAxjfJR0p9owcsFahgXrAYuN3M6mSNQm qKgVUAAAOw==
------=_NextPart_000_000B_01C54A95.4DC250D0--
Attached files
------=_NextPart_000_000B_01C54A95.4DC250D0
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_000C_01C54A95.4DC250D0"
------=_NextPart_001_000C_01C54A95.4DC250D0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
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_001_000C_01C54A95.4DC250D0
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>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:000501c54a84$8a34c5e0$0e00000a@ozlan.local" =
border=3D0></A>Â=20
</FONT></TD></TR></TBODY></TABLE></DIV>
<DIV id=3Dmainbody 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:000601c54a84$8a3736e0$0e00000a@ozlan.local" =
border=3D0></A>Â=20
</FONT></TD></TR></TBODY></TABLE>
<DIV id=3Dmainbody 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 use=20
the same <B>xTop</B> value. <BR>[<<B>lGoFirst</B>>] =
<BR>If it=20
is .T. it will do a <A=20
href=3D"dataset.chm::/tdatasetgotop.htm">GoTop</A> after the =
scope has=20
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()=20
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>> =
escribi=F3=20
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 =
TForm1<BR>Local=20
cAlias :=3D Alias()<BR>Select Child<BR>Set Filter To Parent->Link =
=3D=3D=20
Child->Link<BR>Go Top<BR>::oDbBrowse2:Refresh()<BR>Select=20
(cAlias)<BR>RETURN 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 is no=20
other solution build into the class in wich we can add the new filter =
in one=20
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 Dbf's=20
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 with=20
ADS. Is the Cdx driver also as fast for filtering =
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>> =
schreef=20
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 someting=20
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 1->N=20
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 =
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 the=20
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></BODY></HTML>
------=_NextPart_001_000C_01C54A95.4DC250D0--
------=_NextPart_000_000B_01C54A95.4DC250D0
Content-Type: image/gif;
name="button_main.gif"
Content-Transfer-Encoding: base64
Content-ID: <000501c54a84$8a34c5e0$0e00000a@ozlan.local>
R0lGODlhEAAQAJEAAP///wAAZszMzGZmZiH5BAAAAAAALAAAAAAQABAAAAI+ hI9pwe2+nmQrCXCx
CEt4r31b1ACctAyqSakqZ2YPAgfeJAxjfJR0p9owcsFahgXrAYuN3M6mSNQm qKgVUAAAOw==
------=_NextPart_000_000B_01C54A95.4DC250D0
Content-Type: image/gif;
name="button_main.gif"
Content-Transfer-Encoding: base64
Content-ID: <000601c54a84$8a3736e0$0e00000a@ozlan.local>
R0lGODlhEAAQAJEAAP///wAAZszMzGZmZiH5BAAAAAAALAAAAAAQABAAAAI+ hI9pwe2+nmQrCXCx
CEt4r31b1ACctAyqSakqZ2YPAgfeJAxjfJR0p9owcsFahgXrAYuN3M6mSNQm qKgVUAAAOw==
------=_NextPart_000_000B_01C54A95.4DC250D0--
Attached files
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
-
- Mensajes: 21
- Registrado: Sab Jul 08, 2006 12:06 pm
Relations
This is a multi-part message in MIME format.
------=_NextPart_000_0075_01C54B1B.81D09D60
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_0076_01C54B1B.81D09D60"
------=_NextPart_001_0076_01C54B1B.81D09D60
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
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_001_0076_01C54B1B.81D09D60
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>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 in=20
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:006f01c54b0a$be324990$[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:007001c54b0a$be34ba90$[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 use=20
the same <B>xTop</B> value. <BR>[<<B>lGoFirst</B>>] =
<BR>If=20
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=20
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>> =
escribi=F3=20
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 =
TForm1<BR>Local=20
cAlias :=3D Alias()<BR>Select Child<BR>Set Filter To Parent->Link =
=3D=3D=20
Child->Link<BR>Go Top<BR>::oDbBrowse2:Refresh()<BR>Select=20
(cAlias)<BR>RETURN 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 is=20
no other solution build into the class in wich we can add the new =
filter in=20
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 with=20
ADS. Is the Cdx driver also as fast for filtering =
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 someting=20
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 1->N=20
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 =
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></BODY></HTML>
------=_NextPart_001_0076_01C54B1B.81D09D60--
------=_NextPart_000_0075_01C54B1B.81D09D60
Content-Type: image/gif;
name="button_main.gif"
Content-Transfer-Encoding: base64
Content-ID: <006f01c54b0a$be324990$[email=6501a8c0@willy]6501a8c0@willy[/email]>
R0lGODlhEAAQAJEAAP///wAAZszMzGZmZiH5BAAAAAAALAAAAAAQABAAAAI+ hI9pwe2+nmQrCXCx
CEt4r31b1ACctAyqSakqZ2YPAgfeJAxjfJR0p9owcsFahgXrAYuN3M6mSNQm qKgVUAAAOw==
------=_NextPart_000_0075_01C54B1B.81D09D60
Content-Type: image/gif;
name="button_main.gif"
Content-Transfer-Encoding: base64
Content-ID: <007001c54b0a$be34ba90$[email=6501a8c0@willy]6501a8c0@willy[/email]>
R0lGODlhEAAQAJEAAP///wAAZszMzGZmZiH5BAAAAAAALAAAAAAQABAAAAI+ hI9pwe2+nmQrCXCx
CEt4r31b1ACctAyqSakqZ2YPAgfeJAxjfJR0p9owcsFahgXrAYuN3M6mSNQm qKgVUAAAOw==
------=_NextPart_000_0075_01C54B1B.81D09D60--
Attached files
------=_NextPart_000_0075_01C54B1B.81D09D60
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_0076_01C54B1B.81D09D60"
------=_NextPart_001_0076_01C54B1B.81D09D60
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
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_001_0076_01C54B1B.81D09D60
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>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 in=20
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:006f01c54b0a$be324990$[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:007001c54b0a$be34ba90$[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 use=20
the same <B>xTop</B> value. <BR>[<<B>lGoFirst</B>>] =
<BR>If=20
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=20
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>> =
escribi=F3=20
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 =
TForm1<BR>Local=20
cAlias :=3D Alias()<BR>Select Child<BR>Set Filter To Parent->Link =
=3D=3D=20
Child->Link<BR>Go Top<BR>::oDbBrowse2:Refresh()<BR>Select=20
(cAlias)<BR>RETURN 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 is=20
no other solution build into the class in wich we can add the new =
filter in=20
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 with=20
ADS. Is the Cdx driver also as fast for filtering =
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 someting=20
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 1->N=20
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 =
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></BODY></HTML>
------=_NextPart_001_0076_01C54B1B.81D09D60--
------=_NextPart_000_0075_01C54B1B.81D09D60
Content-Type: image/gif;
name="button_main.gif"
Content-Transfer-Encoding: base64
Content-ID: <006f01c54b0a$be324990$[email=6501a8c0@willy]6501a8c0@willy[/email]>
R0lGODlhEAAQAJEAAP///wAAZszMzGZmZiH5BAAAAAAALAAAAAAQABAAAAI+ hI9pwe2+nmQrCXCx
CEt4r31b1ACctAyqSakqZ2YPAgfeJAxjfJR0p9owcsFahgXrAYuN3M6mSNQm qKgVUAAAOw==
------=_NextPart_000_0075_01C54B1B.81D09D60
Content-Type: image/gif;
name="button_main.gif"
Content-Transfer-Encoding: base64
Content-ID: <007001c54b0a$be34ba90$[email=6501a8c0@willy]6501a8c0@willy[/email]>
R0lGODlhEAAQAJEAAP///wAAZszMzGZmZiH5BAAAAAAALAAAAAAQABAAAAI+ hI9pwe2+nmQrCXCx
CEt4r31b1ACctAyqSakqZ2YPAgfeJAxjfJR0p9owcsFahgXrAYuN3M6mSNQm qKgVUAAAOw==
------=_NextPart_000_0075_01C54B1B.81D09D60--
Attached files
-
- Mensajes: 21
- Registrado: Sab Jul 08, 2006 12:06 pm
Relations
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)Â
------=_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)Â
- ignacio
- Site Admin
- Mensajes: 9440
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Relations
This is a multi-part message in MIME format.
------=_NextPart_000_001B_01C54B34.625AFD40
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_001C_01C54B34.625AFD40"
------=_NextPart_001_001C_01C54B34.625AFD40
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Willy,=20
Great! Thank you very much. BTW this code:
METHOD filter( oSender ) CLASS TForm1
::oDbfDataSet2:TDataSet:SetFilter("Link=3D=3DParent->Link")
RETURN Nil
Can be modified with this which I think is more redeable:
METHOD filter( oSender ) CLASS TForm1
::oDbfDataSet2:SetFilter("Link=3D=3DParent->Link")
RETURN Nil
Regards,=20
"Willy Hermans" <info@pc-help-center.be> escribi=F3 en el mensaje =
news:[email=426f5a35@ozsrvnegro.ozlan.local...]426f5a35@ozsrvnegro.ozlan.local...[/email]
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_001_001C_01C54B34.625AFD40
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>Willy, </DIV>
<DIV>Â</DIV>
<DIV>Great! Thank you very much. BTW this code:</DIV>
<DIV>Â</DIV>
<DIV>METHOD filter( oSender ) CLASS TForm1<BR>::oDbfDataSet2:<FONT=20
color=3D#ff0000>TDataSet</FONT>:SetFilter("Link=3D=3DParent->Link ")<BR=
>RETURN=20
Nil<BR></DIV>
<DIV>Can be modified with this which I think is more redeable:</DIV>
<DIV>Â</DIV>
<DIV>METHOD filter( oSender ) CLASS=20
TForm1<BR>::oDbfDataSet2:SetFilter("Link=3D=3DParent->Link ")<BR>RETURN=
=20
Nil<BR></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>> =
escribi=F3=20
en el mensaje <A=20
=
href=3D"news:426f5a35@ozsrvnegro.ozlan.local">news:426f5a35@ozsrvnegro.oz=
lan.local</A>...</DIV>
<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=20
in 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=20
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>>=20
schreef 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=20
TDataSet:SetFilter() 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:001501c54b23$9ecb0150$0e00000a@ozlan.local"=20
border=3D0></A>Â =
</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:001601c54b23$9ecd4b40$0e00000a@ozlan.local"=20
border=3D0></A>Â </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.=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>
<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=20
this value. <BR>[<<B>xBottom</B>>] <BR>If is not =
NIL, it=20
will establish a 'Bottom Scope' with this value. =
Otherwise, it=20
will use the same <B>xTop</B> value.=20
<BR>[<<B>lGoFirst</B>>] <BR>If it is .T. it will =
do a <A=20
href=3D"dataset.chm::/tdatasetgotop.htm">GoTop</A> =
after the=20
scope 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=20
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=20
in 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=20
master database browse to update the releated database=20
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=20
in 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></BLOCKQUOTE></BODY ></HTML>
------=_NextPart_001_001C_01C54B34.625AFD40--
------=_NextPart_000_001B_01C54B34.625AFD40
Content-Type: image/gif;
name="button_main.gif"
Content-Transfer-Encoding: base64
Content-ID: <001501c54b23$9ecb0150$0e00000a@ozlan.local>
R0lGODlhEAAQAJEAAP///wAAZszMzGZmZiH5BAAAAAAALAAAAAAQABAAAAI+ hI9pwe2+nmQrCXCx
CEt4r31b1ACctAyqSakqZ2YPAgfeJAxjfJR0p9owcsFahgXrAYuN3M6mSNQm qKgVUAAAOw==
------=_NextPart_000_001B_01C54B34.625AFD40
Content-Type: image/gif;
name="button_main.gif"
Content-Transfer-Encoding: base64
Content-ID: <001601c54b23$9ecd4b40$0e00000a@ozlan.local>
R0lGODlhEAAQAJEAAP///wAAZszMzGZmZiH5BAAAAAAALAAAAAAQABAAAAI+ hI9pwe2+nmQrCXCx
CEt4r31b1ACctAyqSakqZ2YPAgfeJAxjfJR0p9owcsFahgXrAYuN3M6mSNQm qKgVUAAAOw==
------=_NextPart_000_001B_01C54B34.625AFD40--
Attached files
------=_NextPart_000_001B_01C54B34.625AFD40
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_001C_01C54B34.625AFD40"
------=_NextPart_001_001C_01C54B34.625AFD40
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Willy,=20
Great! Thank you very much. BTW this code:
METHOD filter( oSender ) CLASS TForm1
::oDbfDataSet2:TDataSet:SetFilter("Link=3D=3DParent->Link")
RETURN Nil
Can be modified with this which I think is more redeable:
METHOD filter( oSender ) CLASS TForm1
::oDbfDataSet2:SetFilter("Link=3D=3DParent->Link")
RETURN Nil
Regards,=20
"Willy Hermans" <info@pc-help-center.be> escribi=F3 en el mensaje =
news:[email=426f5a35@ozsrvnegro.ozlan.local...]426f5a35@ozsrvnegro.ozlan.local...[/email]
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_001_001C_01C54B34.625AFD40
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>Willy, </DIV>
<DIV>Â</DIV>
<DIV>Great! Thank you very much. BTW this code:</DIV>
<DIV>Â</DIV>
<DIV>METHOD filter( oSender ) CLASS TForm1<BR>::oDbfDataSet2:<FONT=20
color=3D#ff0000>TDataSet</FONT>:SetFilter("Link=3D=3DParent->Link ")<BR=
>RETURN=20
Nil<BR></DIV>
<DIV>Can be modified with this which I think is more redeable:</DIV>
<DIV>Â</DIV>
<DIV>METHOD filter( oSender ) CLASS=20
TForm1<BR>::oDbfDataSet2:SetFilter("Link=3D=3DParent->Link ")<BR>RETURN=
=20
Nil<BR></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>> =
escribi=F3=20
en el mensaje <A=20
=
href=3D"news:426f5a35@ozsrvnegro.ozlan.local">news:426f5a35@ozsrvnegro.oz=
lan.local</A>...</DIV>
<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=20
in 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=20
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>>=20
schreef 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=20
TDataSet:SetFilter() 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:001501c54b23$9ecb0150$0e00000a@ozlan.local"=20
border=3D0></A>Â =
</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:001601c54b23$9ecd4b40$0e00000a@ozlan.local"=20
border=3D0></A>Â </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.=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>
<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=20
this value. <BR>[<<B>xBottom</B>>] <BR>If is not =
NIL, it=20
will establish a 'Bottom Scope' with this value. =
Otherwise, it=20
will use the same <B>xTop</B> value.=20
<BR>[<<B>lGoFirst</B>>] <BR>If it is .T. it will =
do a <A=20
href=3D"dataset.chm::/tdatasetgotop.htm">GoTop</A> =
after the=20
scope 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=20
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=20
in 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=20
master database browse to update the releated database=20
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=20
in 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></BLOCKQUOTE></BODY ></HTML>
------=_NextPart_001_001C_01C54B34.625AFD40--
------=_NextPart_000_001B_01C54B34.625AFD40
Content-Type: image/gif;
name="button_main.gif"
Content-Transfer-Encoding: base64
Content-ID: <001501c54b23$9ecb0150$0e00000a@ozlan.local>
R0lGODlhEAAQAJEAAP///wAAZszMzGZmZiH5BAAAAAAALAAAAAAQABAAAAI+ hI9pwe2+nmQrCXCx
CEt4r31b1ACctAyqSakqZ2YPAgfeJAxjfJR0p9owcsFahgXrAYuN3M6mSNQm qKgVUAAAOw==
------=_NextPart_000_001B_01C54B34.625AFD40
Content-Type: image/gif;
name="button_main.gif"
Content-Transfer-Encoding: base64
Content-ID: <001601c54b23$9ecd4b40$0e00000a@ozlan.local>
R0lGODlhEAAQAJEAAP///wAAZszMzGZmZiH5BAAAAAAALAAAAAAQABAAAAI+ hI9pwe2+nmQrCXCx
CEt4r31b1ACctAyqSakqZ2YPAgfeJAxjfJR0p9owcsFahgXrAYuN3M6mSNQm qKgVUAAAOw==
------=_NextPart_000_001B_01C54B34.625AFD40--
Attached files
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com