Hi Back again after along lay off due to pheumonia.
the following script does all the hard things correctly, except it uses "Recno()" instead of the value set in Query.order() and I cannot see where I am going wrong.
any suggestions welcomed
thx.
'Date Created: 17-Nov-2019 09:31:00 PM
'Last Updated: 09-Jan-2022 08:15:01 AM
'Created By : Graham
'Updated By : Graham
dim shared vChoose as c = "All"
dim shared vCountry as c
dim shared vScope as c = "All"
dim shared vStatus as c = "All"
dim shared vArmname as c
dim shared vRecOrder as c = "Operator" ' set default
dim shared vArmChoose as c = "All"
dim vBaseChoose as c = "All"
delete a_vrecorder
DIM a_vRecOrder[5] as c
dim temp_list as c
temp_list = <<%list%
Arm_Name+Operator
Base+Operator
Country+Base+Operator
Country+Operator
Operator
%list%
Orbat_Air_arm_title = "Air Arm Choice"
a_vRecOrder.initialize(temp_list)
dim vstatus_def as c = "k=status,{keylist_build("h=.05,1:10,2:25",''+c3,left(''+c3,10),left(''+desc,25))}{}"
dim vc1_def as c = "k=c1,{keylist_build("h=.05,1:6,2:25",''+c1,left(''+c1,6),left(''+description,25))}{}"
dim vCountry_def as c = "k=country_names,{keylist_build("H=.05,1:32",''+name12,left(''+country,32))}{usage_c = .t. .and. unique_key_value()}"
dim vArmname_def_orig as C = "k=air_arm_name,{keylist_build("H=.05,1:48",''+arm_name,left(''+arm_name,48))}{country=[varC->vCountry]}"
dim vArmname_def as C = replace_parameters(vArmname_def_orig,local_variables())
DIM vCountry_def as c = "k=country_names,{keylist_build("H=.05,1:32",''+name12,left(''+country,32))}{usage_c = .t. .and. unique_key_value()}"
DIM vBaseName_def_orig as C = "k=base_names,{keylist_build("H=.05,1:32",''+base_name,left(''+base_name,32))}{Country=[varC->vCountry] .and. unique_key_value()}"
DIM vBaseName_def as C = replace_parameters(vBaseName_def_orig,local_variables())
DIM vICAOcode_def as C = "k=base_names,{keylist_build("H=.05,1:25,2:32",''+base_name,left(''+icao_code,25),left(''+base_name,32))}{isnotblank("icao_code") .and. unique_key_value()}"
ui_modeless_dlg_box(Orbat_Air_Arm_title,<<%dlg%
{Background=#204+255+204}
{font=Bahnschrift,8,B}
{color=Blue on Green}
{watch=vCountry!vWatchEvent}
{watch=vChoose!vWatchEvent}
{region}
{region1}
Country:;
(vChoose:All)(vChoose:Select)
{condition=(vChoose="Select")}
[%@vCountry_def%.40vCountry!vCountry_changed];
{endregion1};
{condition=.t.}
{region2}
Air Arm:;
(vArmChoose:All)(vArmChoose:Select)
{condition=(vArmChoose="Select")}
[%@vArmname_def%.40vArmname];
{endregion2};
{condition=.t.}
{region6}
Base:;
(vBaseChoose:All)(vBaseChoose:Select)
{condition=(vBaseChoose="Select")}
[%@vBaseName_def%.40vBaseName]{sp} ICAO:| [%@vICAOcode_def%.10vICAOcode!vICAO_changed];
;
{endregion6};
{condition=.t.}
{region5}
Order:
{sp=16}[.40vRecOrder^#a_vRecOrder];
{endregion5}
{endregion};
{region3}
{frame=1,1:C1}
(vScope:All)(vScope:Select)
{condition=(vScope="Select")}
{sp}[%@vC1_def%.6vC1Code];
{endregion3}
{condition=.t.}
{region4}
{frame=1,1:Status}
(vStatus:All)(vStatus:Select)
{condition=(vStatus="Select")}
{sp}[%@vStatus_def%.6vStatusCode];
{endregion4};
{condition=.t.}
{region}
{justify=center}
<%T=Run Search;O={J=C,C}{C=Dark Teal}{F=Bahnschrift,10,B}{B=Green}Search%25,1!Search_button_click?RunFlag>
<%T=Close Dialog;O={J=C,C}{C=gold}{F=Bahnschrift,10,B}{B=red}Close%25,1!Close_button_click>
{endregion};
%dlg%,<<%code%
if a_dlg_button = "vWatchEvent" then
if vCountry <> "" .or. vChoose = "All" then
RunFlag = .t.
else
RunFlag = .f.
end if
end if
if a_dlg_button = "Close_button_click" then
ui_modeless_dlg_close(Orbat_Air_arm_title)
end if
if a_dlg_button = "vICAO_changed" then
vBaseName = vICAOcode
a_dlg_button = ""
end if
If a_dlg_button = "vCountry_changed" then
vBaseName_def = replace_parameters(vBaseName_def_orig,local_variables())
vArmname_def = replace_parameters(vArmname_def_orig,local_variables())
a_dlg_button = ""
end if
if a_dlg_button = "Search_button_click" then
vFilter1 = if(vScope = "select","c1="+quote(rtrim(vC1Code)),".t.")
vFilter2 = if(vStatus = "select","c3="+quote(rtrim(vStatusCode)),".t.")
vFilter3 = if(vChoose="select","Country="+quote(rtrim(vCountry)),".t.")
vFilter4 = if(vArmChoose="select","arm_name="+quote(rtrim(vArmname)),".t.")
vFilter5 = if(vBaseChoose="select","base="+quote(rtrim(vBasename)),".t.")
query.filter = vFilter1+".and."+vFilter2+".and."+vFilter3+".and."+vFilter4+".and."+vFilter5
query.order = quote(vRecOrder)
trace.writeln("Order: "+query.order)
trace.writeln("Filter: "+query.filter)
t = table.current()
t.query_create()
topparent.Refresh_layout()
end if
%code%)
end
the following script does all the hard things correctly, except it uses "Recno()" instead of the value set in Query.order() and I cannot see where I am going wrong.
any suggestions welcomed
thx.
'Date Created: 17-Nov-2019 09:31:00 PM
'Last Updated: 09-Jan-2022 08:15:01 AM
'Created By : Graham
'Updated By : Graham
dim shared vChoose as c = "All"
dim shared vCountry as c
dim shared vScope as c = "All"
dim shared vStatus as c = "All"
dim shared vArmname as c
dim shared vRecOrder as c = "Operator" ' set default
dim shared vArmChoose as c = "All"
dim vBaseChoose as c = "All"
delete a_vrecorder
DIM a_vRecOrder[5] as c
dim temp_list as c
temp_list = <<%list%
Arm_Name+Operator
Base+Operator
Country+Base+Operator
Country+Operator
Operator
%list%
Orbat_Air_arm_title = "Air Arm Choice"
a_vRecOrder.initialize(temp_list)
dim vstatus_def as c = "k=status,{keylist_build("h=.05,1:10,2:25",''+c3,left(''+c3,10),left(''+desc,25))}{}"
dim vc1_def as c = "k=c1,{keylist_build("h=.05,1:6,2:25",''+c1,left(''+c1,6),left(''+description,25))}{}"
dim vCountry_def as c = "k=country_names,{keylist_build("H=.05,1:32",''+name12,left(''+country,32))}{usage_c = .t. .and. unique_key_value()}"
dim vArmname_def_orig as C = "k=air_arm_name,{keylist_build("H=.05,1:48",''+arm_name,left(''+arm_name,48))}{country=[varC->vCountry]}"
dim vArmname_def as C = replace_parameters(vArmname_def_orig,local_variables())
DIM vCountry_def as c = "k=country_names,{keylist_build("H=.05,1:32",''+name12,left(''+country,32))}{usage_c = .t. .and. unique_key_value()}"
DIM vBaseName_def_orig as C = "k=base_names,{keylist_build("H=.05,1:32",''+base_name,left(''+base_name,32))}{Country=[varC->vCountry] .and. unique_key_value()}"
DIM vBaseName_def as C = replace_parameters(vBaseName_def_orig,local_variables())
DIM vICAOcode_def as C = "k=base_names,{keylist_build("H=.05,1:25,2:32",''+base_name,left(''+icao_code,25),left(''+base_name,32))}{isnotblank("icao_code") .and. unique_key_value()}"
ui_modeless_dlg_box(Orbat_Air_Arm_title,<<%dlg%
{Background=#204+255+204}
{font=Bahnschrift,8,B}
{color=Blue on Green}
{watch=vCountry!vWatchEvent}
{watch=vChoose!vWatchEvent}
{region}
{region1}
Country:;
(vChoose:All)(vChoose:Select)
{condition=(vChoose="Select")}
[%@vCountry_def%.40vCountry!vCountry_changed];
{endregion1};
{condition=.t.}
{region2}
Air Arm:;
(vArmChoose:All)(vArmChoose:Select)
{condition=(vArmChoose="Select")}
[%@vArmname_def%.40vArmname];
{endregion2};
{condition=.t.}
{region6}
Base:;
(vBaseChoose:All)(vBaseChoose:Select)
{condition=(vBaseChoose="Select")}
[%@vBaseName_def%.40vBaseName]{sp} ICAO:| [%@vICAOcode_def%.10vICAOcode!vICAO_changed];
;
{endregion6};
{condition=.t.}
{region5}
Order:
{sp=16}[.40vRecOrder^#a_vRecOrder];
{endregion5}
{endregion};
{region3}
{frame=1,1:C1}
(vScope:All)(vScope:Select)
{condition=(vScope="Select")}
{sp}[%@vC1_def%.6vC1Code];
{endregion3}
{condition=.t.}
{region4}
{frame=1,1:Status}
(vStatus:All)(vStatus:Select)
{condition=(vStatus="Select")}
{sp}[%@vStatus_def%.6vStatusCode];
{endregion4};
{condition=.t.}
{region}
{justify=center}
<%T=Run Search;O={J=C,C}{C=Dark Teal}{F=Bahnschrift,10,B}{B=Green}Search%25,1!Search_button_click?RunFlag>
<%T=Close Dialog;O={J=C,C}{C=gold}{F=Bahnschrift,10,B}{B=red}Close%25,1!Close_button_click>
{endregion};
%dlg%,<<%code%
if a_dlg_button = "vWatchEvent" then
if vCountry <> "" .or. vChoose = "All" then
RunFlag = .t.
else
RunFlag = .f.
end if
end if
if a_dlg_button = "Close_button_click" then
ui_modeless_dlg_close(Orbat_Air_arm_title)
end if
if a_dlg_button = "vICAO_changed" then
vBaseName = vICAOcode
a_dlg_button = ""
end if
If a_dlg_button = "vCountry_changed" then
vBaseName_def = replace_parameters(vBaseName_def_orig,local_variables())
vArmname_def = replace_parameters(vArmname_def_orig,local_variables())
a_dlg_button = ""
end if
if a_dlg_button = "Search_button_click" then
vFilter1 = if(vScope = "select","c1="+quote(rtrim(vC1Code)),".t.")
vFilter2 = if(vStatus = "select","c3="+quote(rtrim(vStatusCode)),".t.")
vFilter3 = if(vChoose="select","Country="+quote(rtrim(vCountry)),".t.")
vFilter4 = if(vArmChoose="select","arm_name="+quote(rtrim(vArmname)),".t.")
vFilter5 = if(vBaseChoose="select","base="+quote(rtrim(vBasename)),".t.")
query.filter = vFilter1+".and."+vFilter2+".and."+vFilter3+".and."+vFilter4+".and."+vFilter5
query.order = quote(vRecOrder)
trace.writeln("Order: "+query.order)
trace.writeln("Filter: "+query.filter)
t = table.current()
t.query_create()
topparent.Refresh_layout()
end if
%code%)
end
Comment