FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Xbrowse lSeekBar, How to do Set Relation to
Posts: 38
Joined: Tue Jan 22, 2019 08:28 AM
Xbrowse lSeekBar, How to do Set Relation to
Posted: Thu May 13, 2021 07:00 PM
I am relating two databases, with the corresponding indexed fields, I use Xbrowse lSeekBar to be able to search.

It allows me to search all the fields in the main table but NOT the related table field.

In the example, I can't search for "State name"

Thanks,

Code (fw): Select all Collapse
#include "fivewin.ch"
REQUEST DBFCDX
//----------------------------------------------------------------------------//
function Main()

    local oDlg, oBrw   
    *SetGetColorFocus()
    
    FERASE( "STATES.CDX" )
    Use STATES alias "states" NEW exclusive VIA "DBFCDX"
    FW_CdxCreate()
    Set order to TAG CODE
    go top
    
    FERASE( "CUSTOMER.CDX" )
    Use CUSTOMER alias "customer" NEW exclusive VIA "DBFCDX"
    FW_CdxCreate()  
    go top
    
    SET RELATION to field->state INTO states

    Define Dialog oDlg size 1000,600 PIXEL TRUEPIXEL
    
    @ 10,20 XBROWSE oBrw SIZE -20,-20 PIXEL OF oDlg ;
        Columns "FIRST","LAST","CITY","STATE","states->name";
        Headers "First","Last","City","State Code","State Name";
        DATASOURCE "customer" ;
        AUTOCOLS AUTOSORT CELL LINES NOBORDER
    
        WITH OBJECT oBrw
            :nMarqueeStyle := MARQSTYLE_HIGHLROW
            :lSeekBar:= .T.
            :lIncrFilter   := .F.      
            :CreateFromCode()
        END

    Activate dialog oDlg centered
return nil


[img]https://i.ibb.co/mN2y4PT/xbrow2.gif" alt="" loading="lazy">
[/img]
Jorge

--------------------------------------------------

Fivewin 18.10 - Harbour - BCC 7 - PellesC

--------------------------------------------------
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Xbrowse lSeekBar, How to do Set Relation to
Posted: Fri May 14, 2021 04:20 AM
Code (fw): Select all Collapse
/*
* XBrowse Incremental seek on fields from
* related tables
*
*/

#include "fivewin.ch"

REQUEST DBFCDX

//----------------------------------------------------------------------------//

function Main()

    local oDlg, oBrw

    FERASE( "STATES.CDX" )
    USE STATES ALIAS "STATES" NEW EXCLUSIVE VIA "DBFCDX"
    FW_CdxCreate()
    SET ORDER TO TAG CODE
    GO TOP

    FERASE( "CUSTOMER.CDX" )
    USE CUSTOMER ALIAS "CUSTOMER" NEW EXCLUSIVE VIA "DBFCDX"
    FW_CdxCreate()
    GO TOP

    SET RELATION TO FIELD->STATE INTO STATES
    GO TOP
    INDEX ON UPPER(STATES->NAME) TAG STATENAME TO TEMP TEMPORARY ADDITIVE
    SET ORDER TO TAG FIRST
    GO TOP

    DEFINE DIALOG ODLG SIZE 1000,600 PIXEL TRUEPIXEL

    @ 10,20 XBROWSE oBrw SIZE -20,-20 PIXEL OF oDlg ;
        Columns "FIRST","LAST","CITY","STATE","STATES->NAME";
        Headers "First","Last","City","State Code","State Name";
        DATASOURCE "customer" ;
        AUTOSORT CELL LINES NOBORDER  // do not use AUTOCOLS when you specify columns

        WITH OBJECT oBrw
            :nMarqueeStyle := MARQSTYLE_HIGHLROW
            :lSeekBar:= .T.
            :lIncrFilter   := .F.
            WITH OBJECT :aCols[ 5 ]
               :cOrdBag    := "TEMP"
               :cSortOrder := "STATENAME"
            END
            :CreateFromCode()
        END

    ACTIVATE DIALOG oDlg CENTERED

return nil
Regards



G. N. Rao.

Hyderabad, India

Continue the discussion