Browse database in relation
Posted: Mon Feb 23, 2015 8:48 am
Please, help me, where I have mistake.
I want connect more than 2 tables with one field,
I make two databases so as in example xdemo "one to many" Xsample 130, it work fine with 2 tables-
But I want to do this for other 2-3 tables to viewing and listing in some window.
I have some error in source code ?, please look somebody to this, thaks very much.
here is source code :
1st database is CPARCELY
2nd VLASTNICI
3rd STAVBY
I mean , error is in EVAL .... (red color)
Local GetList := {}
Local GetOptions,oToolBar1,oToolBar2
Local oBrowsepa,oBrowsevl,oBrovsecs
Local bVLA,bSTA
* relácie - zadanie väzieb CPA/VLA
bVLA:={||VLASTNICI->(DC_SetScope(0,CPARCELY->KN_CLV)), ;
VLASTNICI->(DC_SetScope(1,CPARCELY->KN_CLV)), ;
VLASTNICI->(DC_DbGoTop()), ;
oBrowsevl:refreshAll()}
* relácie - zadanie väzieb CPA/STA
bSTA:={||STAVBY->(DC_SetScope(0,CPARCELY->KN_CLV)), ;
STAVBY->(DC_SetScope(1,CPARCELY->KN_CLV)), ;
STAVBY->(DC_DbGoTop()), ;
oBrowsecs:refreshAll()}
* First database ALIAS CPARCELY
@pozypa,pozxpa DCBROWSE oBrowsepa ALIAS "CPARCELY" ;
SIZE rozxpa,rozypa PIXEL ;
NOSOFTTRACK ;
SCOPE ;
NOHSCROLL ;
ITEMMARKED {||Eval(bVLA),Eval(bSTA),;
DC_GetRefresh(GetList,, ;
DCGETREFRESH_TYPE_EXCLUDE,(GETLIST_BROWSE))} ;
CURSORMODE XBPBRW_CURSOR_ROW
DCSETPARENT oBrowsepa
DCBROWSECOL FIELD CPARCELY->CPAU WIDTH 80;
HEADER "Parcela "
... etc
DCSETPARENT TO
* Second database ALIAS VLASTNICI
@pozyvl,pozxvl DCBROWSE oBrowsevl ALIAS "VLASTNICI" ;
SIZE rozxvl,rozyvl PIXEL ;
NOSOFTTRACK ;
SCOPE ;
CURSORMODE XBPBRW_CURSOR_ROW ;
ITEMMARKED bSTA
DCSETPARENT oBrowsevl
DCBROWSECOL FIELD VLASTNICI->KN_CLV ;
HEADER "KN_CLV"
... etc
* Third database ALIAS STAVBY
@pozycs,pozxcs DCBROWSE oBrowsecs ALIAS "STAVBY" ;
SIZE rozxcs,rozycs PIXEL ;
NOSOFTTRACK ;
SCOPE ;
CURSORMODE XBPBRW_CURSOR_ROW
DCSETPARENT oBrowsecs
DCBROWSECOL FIELD STAVBY->KN_CLV ;
HEADER "KN_CLV"
... etc
* some toolbar
DCSETPARENT oToolbar1
@ pozypa+30,pozxpa+rozxpa DCTOOLBAR oToolbar1 PIXEL SIZE 80,300 ;
ALIGN DCGUI_ALIGN_LEFT ;
BUTTONSIZE 60,25 ;
FIT ;
SPACE 5 ;
RESIZE DCGUI_RESIZE_REPOSONLY_X
DCADDBUTTON CAPTION 'Náhľad' PARENT oToolbar1 ;
TOOLTIP "Prezeranie záznamu" ;
ACTION {||tone(1000,1),fic(1),oBrowse:RefreshAll()}
...etc
DCGETOPTIONS PIXEL ;
TABSTOP AUTORESIZE
* OPTIONS GeoOptions asi nastavi predvolené parametre ako sú v DCGETOPTIONS
DCREAD GUI ;
OPTIONS GetOptions ;
TITLE "[ PARCELY REGISTRA C ] - [ "+nazku+" ] - [ "+nazovdbf1+" ]" ;
MODAL ;
FIT ;
EVAL {|o|SetAppFocus(oBrowsepa:GetColumn(1))}
close all
DC_GetDestroy(GetList)
DC_ClearEvents()
return(0)
I want connect more than 2 tables with one field,
I make two databases so as in example xdemo "one to many" Xsample 130, it work fine with 2 tables-
But I want to do this for other 2-3 tables to viewing and listing in some window.
I have some error in source code ?, please look somebody to this, thaks very much.
here is source code :
1st database is CPARCELY
2nd VLASTNICI
3rd STAVBY
I mean , error is in EVAL .... (red color)
Local GetList := {}
Local GetOptions,oToolBar1,oToolBar2
Local oBrowsepa,oBrowsevl,oBrovsecs
Local bVLA,bSTA
* relácie - zadanie väzieb CPA/VLA
bVLA:={||VLASTNICI->(DC_SetScope(0,CPARCELY->KN_CLV)), ;
VLASTNICI->(DC_SetScope(1,CPARCELY->KN_CLV)), ;
VLASTNICI->(DC_DbGoTop()), ;
oBrowsevl:refreshAll()}
* relácie - zadanie väzieb CPA/STA
bSTA:={||STAVBY->(DC_SetScope(0,CPARCELY->KN_CLV)), ;
STAVBY->(DC_SetScope(1,CPARCELY->KN_CLV)), ;
STAVBY->(DC_DbGoTop()), ;
oBrowsecs:refreshAll()}
* First database ALIAS CPARCELY
@pozypa,pozxpa DCBROWSE oBrowsepa ALIAS "CPARCELY" ;
SIZE rozxpa,rozypa PIXEL ;
NOSOFTTRACK ;
SCOPE ;
NOHSCROLL ;
ITEMMARKED {||Eval(bVLA),Eval(bSTA),;
DC_GetRefresh(GetList,, ;
DCGETREFRESH_TYPE_EXCLUDE,(GETLIST_BROWSE))} ;
CURSORMODE XBPBRW_CURSOR_ROW
DCSETPARENT oBrowsepa
DCBROWSECOL FIELD CPARCELY->CPAU WIDTH 80;
HEADER "Parcela "
... etc
DCSETPARENT TO
* Second database ALIAS VLASTNICI
@pozyvl,pozxvl DCBROWSE oBrowsevl ALIAS "VLASTNICI" ;
SIZE rozxvl,rozyvl PIXEL ;
NOSOFTTRACK ;
SCOPE ;
CURSORMODE XBPBRW_CURSOR_ROW ;
ITEMMARKED bSTA
DCSETPARENT oBrowsevl
DCBROWSECOL FIELD VLASTNICI->KN_CLV ;
HEADER "KN_CLV"
... etc
* Third database ALIAS STAVBY
@pozycs,pozxcs DCBROWSE oBrowsecs ALIAS "STAVBY" ;
SIZE rozxcs,rozycs PIXEL ;
NOSOFTTRACK ;
SCOPE ;
CURSORMODE XBPBRW_CURSOR_ROW
DCSETPARENT oBrowsecs
DCBROWSECOL FIELD STAVBY->KN_CLV ;
HEADER "KN_CLV"
... etc
* some toolbar
DCSETPARENT oToolbar1
@ pozypa+30,pozxpa+rozxpa DCTOOLBAR oToolbar1 PIXEL SIZE 80,300 ;
ALIGN DCGUI_ALIGN_LEFT ;
BUTTONSIZE 60,25 ;
FIT ;
SPACE 5 ;
RESIZE DCGUI_RESIZE_REPOSONLY_X
DCADDBUTTON CAPTION 'Náhľad' PARENT oToolbar1 ;
TOOLTIP "Prezeranie záznamu" ;
ACTION {||tone(1000,1),fic(1),oBrowse:RefreshAll()}
...etc
DCGETOPTIONS PIXEL ;
TABSTOP AUTORESIZE
* OPTIONS GeoOptions asi nastavi predvolené parametre ako sú v DCGETOPTIONS
DCREAD GUI ;
OPTIONS GetOptions ;
TITLE "[ PARCELY REGISTRA C ] - [ "+nazku+" ] - [ "+nazovdbf1+" ]" ;
MODAL ;
FIT ;
EVAL {|o|SetAppFocus(oBrowsepa:GetColumn(1))}
close all
DC_GetDestroy(GetList)
DC_ClearEvents()
return(0)