Page 3 of 3
Re: Problem with xBrowse
Posted: Tue Jun 06, 2023 2:18 am
by nageswaragunupudi
Thank you.
Unforgivable oversight on our part.
Re: Problem with xBrowse
Posted: Tue Jun 06, 2023 2:59 am
by Cgallegoa
Master, your great knowledge and your humility make you great, thank you.
Re: Problem with xBrowse
Posted: Tue Jun 06, 2023 4:38 pm
by Armando
Mr. Rao and Mr Carlos:
With the advice of Mr. Gallego, now everything is going very well.
I already breathe better
Can you explain to me the function of the H and the S?
Thank you very much to both
With best regards
Re: Problem with xBrowse (Fixed)
Posted: Tue Jun 06, 2023 8:17 pm
by Cgallegoa
Armando,
The problem is related with xBrowse.
If you run your example without including the xBrowse instantiation
@ oBar:nHeight, 0 XBROWSE oBrw SIZE 0,-30 PIXEL OF oDlg ;
DATA SOURCE oRsHdr ;
COLUMNS "HDR_FOL","HDR_FDM","HDR_REF",;
"HDR_EOS",;
"HDR_TOU",;
....
and in exchange you use
cSql := "SELECT *,S.SUC_NOM FROM HdrVda H LEFT JOIN Branches S ON H.HDR_SUC = S.SUC_NUM ORDER BY HDR_FOL"
FW_OpenRecordSet( oCn , cSql )
xBrowse(oRsHdr)
You will see that the syntax without the "H" of the alias works correctly
But if you want to use @oBar:nHeight, 0 XBROWSE oBrw SIZE 0,-30 PIXEL OF oDlg .....
you have to write
cSql := "SELECT H.*,S.SUC_NOM FROM HdrVda H LEFT JOIN Branches S ON H.HDR_SUC = S.SUC_NUM ORDER BY HDR_FOL"
That is, forcing the identification of each object on the LEFT table with its alias "H".
I think it is something related to XBROWSE. Perhaps the master Rao can shed more light on this.
H and S are aliases to indentify LEFT and RIGHT tables (hdrvda and sucursales in your example). Each field in table hdrva will be invoked with prefix "H.": H.HDR_FOL, H.HDR_EOS, H.HDR_SUC, etc., and each field of table sucursales will be invoked with prefix "S.": S.SUC_NUM,
S.SUC_NOM. This is very usefull when you have a field with the same name in both tables you are joining.
Regards,
Re: Problem with xBrowse (Fixed)
Posted: Wed Jun 07, 2023 2:53 pm
by Armando
Carlos:
it became very clear
Thank you.
With best regards