I have a xdialog box that enables a user to enter upto 5 part numbers in. What command or code can I use so that when the first part number is entered you can press "enter" to enter the next part number instead of going straight to search here is my code at present:
'Date Created: 02-Dec-2002 04:34:39 PM
'Last Updated: 08-Jan-2003 04:30:06 PM
'Created By :
'Updated By :
dim check1 as l
dim check2 as l
dim check3 as l
dim check4 as l
dim check5 as l
dim check6 as l
dim check7 as l
dim check8 as l
dim check9 as l
dim check10 as l
dim part as c
dim part1 as c
dim part2 as c
dim part3 as c
dim part4 as c
dim part5 as c
check1=.t.
check2=.t.
check3=.t.
part1=lastsearch
dlg_title="Part number search"
result= ui_dlg_box("Part number search", {sp=12}
IF result = "cancel" THEN
end
ELSE IF result = "search" THEN
lastsearch=part1
ord=table.open("orders")
wip=table.open("wipb")
wdl=table.open("wdlb")
sto=table.open("stock")
rac=table.open("rack")
sub=table.open("subpart")
pun=table.open("pun_ben")
wip.index_primary_put("part_no")
wdl.index_primary_put("part")
sto.index_primary_put("Sub_Part")
rac.index_primary_put("Stil")
sub.index_primary_put("Sub_Part")
pun.index_primary_put("job")
IF part1="" THEN
end
END IF
dim rack as c
dim partn(5) as c
partn(1)=part1
partn(2)=part2
partn(3)=part3
partn(4)=part4
partn(5)=part5
filename = "C:\A5\TMP\search.csv"
f1=file.create(filename,file_rw_shared)
Reportfile="G:\alpha5\MSM_files\partsearch.xls"
extra=""
comma=""
IF check7 = .t. THEN
extra=extra+",Price"
comma=comma+","
END IF
IF check8 = .t. THEN
Reportfile="G:\alpha5\MSM_files\partsearchl.xls"
extra=extra+",Description"
comma=comma+","
END IF
IF check9 = .t. THEN
Reportfile="G:\alpha5\MSM_files\partsearchl.xls"
extra=extra+",Remarks"
comma=comma+","
END IF
IF check10 = .t. THEN
Reportfile="G:\alpha5\MSM_files\partsearchl.xls"
extra=extra+",MC info"
END IF
f1.write_line("Tbl,Required,Job No,Order No,Qty,Part No ,Issue ,Position"+Extra)
f1.write_line(",Delivered,,,,,,Invoice No")
I=1
FOR I=1 TO 5
part=partn(i)
IF alltrim(part)="" THEN
goto nexti
END IF
'search order table
IF check1 = .t.
query.description = ""
query.order = "PART_NO+dtoc(date_req)"
query.filter = ""
query.options = "I"
indx = ord.query_create()
ord.fetch_find(part)
IF substr(ord.Part_no,1,len(part))part THEN
F1.write_line("Ord,,,,,"+trim(upper(part))+",,NOT FOUND")
END IF
WHILE part=substr(ord.Part_no,1,len(part)) .and. .not. ord.fetch_eof()
StatusBar.Robot()
extra=""
IF check7 = .t. THEN
extra=extra+",�"+ltrim(str(ord.price,9,2))
END IF
IF check8 = .t. THEN
extra=extra+","+trim(chrtran(ord.Desc,","," "))
END IF
IF check9 = .t. THEN
extra=extra+","+trim(chrtran(substr(ord.remarks,1,19),","," "))
END IF
IF check10 = .t. THEN
extra=extra+","
END IF
F1.write_line("Ord,"+DTOC(ord.date_req,"9C-")+"," +ltrim(str(ord.Job_No))+"," +trim(ord.Order_no)+"," +ltrim(str(ord.Quantity))+","+trim(ord.part_No)+"," +trim(ord.Issue)+"," +trim(chrtran(ord.position,","," "))+extra)
ord.fetch_next()
END WHILE
END IF
'end of ord search
'search wipb table
IF check2 = .t.
wip.fetch_find(part)
IF substr(wip.Part_no,1,len(part))part THEN
F1.write_line("wip,,,,,"+trim(upper(part))+",,NOT FOUND")
END IF
WHILE part=substr(wip.Part_no,1,len(part)) .and. .not. wip.fetch_eof()
StatusBar.Robot()
extra=""
ppf= .f.
IF check7 = .t. THEN
extra=extra+",�"+ltrim(str(wip.price,10,2))
END IF
IF check8 = .t. THEN
sub.fetch_find(wip.Part_no)
IF wip.part_no = sub.Sub_part THEN
extra=extra+","+trim(chrtran(sub.Desc,","," "))
ELSE
extra=extra+","
END IF
END IF
IF check9 = .t. THEN
extra=extra+","+trim(chrtran(substr(wip.remarks,1,19),","," "))
END IF
IF check10 = .t. THEN
IF substr(wip.Position,1,5)="punch" THEN
ppf= .t.
pun.fetch_find(wip.job_no)
IF wip.Job_no=pun.Job_no THEN
extra=extra+","+pun.Machine+" "+pun.Prog+" "+pun.Priority
ELSE
extra=extra+","
END IF
ELSE
extra=extra+","
END IF
END IF
rac.fetch_find(wip.Stilage)
pos=trim(wip.Position)+" "+trim(wip.Stilage)
IF wip.Stilage=rac.Stilage THEN
pos=pos+" "+trim(rac.Rack)
END IF
F1.write_line("wip,"+DTOC(wip.date_req,"9C-")+"," +trim(wip.Job_No)+"," +trim(wip.Order_no)+"," +ltrim(str(wip.Quantity))+","+trim(wip.part_No)+"," +trim(wip.Issue)+"," +trim(chrtran(pos,","," "))+extra)
IF ppf = .t. THEN
pun.fetch_next()
WHILE pun.Job_no = wip.Job_no .and. .not. pun.fetch_eof()
f1.write_line(",,,,,,,,"+comma+pun.Machine+" "+pun.Prog+" "+pun.Priority)
pun.fetch_next()
END WHILE
END IF
wip.fetch_next()
END WHILE
END IF
'end of wip search
'search wdlb table
IF check3 = .t.
wdl.fetch_find(part)
IF substr(wdl.Part_no,1,len(part))part THEN
F1.write_line("wdl,,,,,"+trim(upper(part))+",,NOT FOUND")
END IF
WHILE part=substr(wdl.Part_no,1,len(part)) .and. .not. wdl.fetch_eof()
StatusBar.Robot()
extra=""
IF check7 = .t. THEN
extra=extra+",�"+ltrim(str(wdl.price,10,2))
END IF
IF check8 = .t. THEN
sub.fetch_find(wdl.Part_no)
IF wdl.Part_no=sub.Sub_part THEN
extra=extra+","+trim(chrtran(sub.Desc,","," "))
ELSE
extra=extra+","
END IF
END IF
IF check9 = .t. THEN
extra=extra+","+trim(chrtran(substr(wdl.remarks,1,19),","," "))
END IF
IF check10 = .t. THEN
extra=extra+","
END IF
F1.write_line("wdl,"+DTOC(wdl.Inv_date,"9C-")+"," +trim(wdl.Job_No)+"," +trim(wdl.Order_no)+"," +ltrim(str(wdl.Quantity))+","+trim(wdl.part_No)+"," +trim(wdl.Issue)+"," +ltrim(str(wdl.Del_note))+extra)
wdl.fetch_next()
END WHILE
END IF
'end of wdl search
'search sto table
IF check4 = .t.
sto.fetch_find(part)
IF substr(sto.Sub_part,1,len(part))part THEN
F1.write_line("sto,,,,,"+trim(upper(part))+",,NOT FOUND")
END IF
WHILE part=substr(sto.Sub_part,1,len(part)) .and. .not. sto.fetch_eof()
StatusBar.Robot()
extra=""
IF check7 = .t. THEN
extra=extra+","
END IF
IF check8 = .t. THEN
sub.fetch_find(sto.sub_part)
IF sto.sub_part=sub.Sub_part THEN
extra=extra+","+trim(chrtran(sub.Desc,","," "))
ELSE
extra=extra+","
END IF
rac.fetch_find(sto.Stilage)
pos=trim(sto.Position)+" "+trim(sto.Stilage)
IF sto.Stilage=rac.Stilage THEN
pos=pos+" "+trim(rac.Rack)
END IF
END IF
IF check9 = .t. THEN
extra=extra+","+trim(chrtran(substr(sto.remarks,1,19),","," "))
END IF
ppf=.f.
IF check10= .t. THEN
IF substr(sto.Position,1,5)="punch" THEN
ppf= .t.
pun.fetch_find(sto.job_no)
IF sto.Job_no=pun.Job_no THEN
extra=extra+","+pun.Machine+" "+pun.Prog+" "+pun.Priority
ELSE
extra=extra+","
END IF
ELSE
extra=extra+","
END IF
END IF
F1.write_line("sto,"+DTOC(sto.Date_rec,"9C-")+"," +trim(sto.Job_no)+"," +trim(sto.Supply_to)+"," +ltrim(str(sto.Quantity))+","+trim(sto.Sub_part)+"," +trim(sto.Issue)+"," +trim(Pos)+extra)
IF ppf = .t. THEN
pun.fetch_next()
WHILE pun.Job_no = sto.Job_no .and. .not. pun.fetch_eof()
f1.write_line(",,,,,,,,"+comma+pun.Machine+" "+pun.Prog+" "+pun.Priority)
pun.fetch_next()
END WHILE
END IF
sto.fetch_next()
END WHILE
END IF
'end of sto search
'search archive table
IF check5 = .t. .or. check6= .t.
y=4
IF check6= .t. THEN
y=8
END IF
year=year(date())
x=year
IF file_exists("o:\archive\warc"+ltrim(str(x))+".dbf")
goto start
END IF
x=x-1
IF file_exists("o:\archive\warc"+ltrim(str(x))+".dbf")
goto start
END IF
x=x-1
start:
FOR x = x TO year-y step -1
arc=table.open("o:\archive\warc"+ltrim(str(x)))
arc.index_primary_put("part")
arc.fetch_find(part)
WHILE part=substr(arc.Part_no,1,len(part)) .and. .not. arc.fetch_eof()
StatusBar.Robot()
extra=""
IF check7 = .t. THEN
extra=extra+","+ltrim(str(arc.price,10,2))
END IF
IF check8 = .t. THEN
sub.fetch_find(arc.Part_no)
IF arc.Part_no=sub.Sub_part THEN
extra=extra+","+trim(chrtran(sub.Desc,","," "))
ELSE
extra=extra+","
END IF
END IF
IF check9 = .t. THEN
extra=extra+","
END IF
IF check10 = .t. THEN
extra=extra+","
END IF
F1.write_line("arc,"+DTOC(arc.Inv_Date,"9C-")+"," +arc.Job_No+"," +trim(arc.Order_no)+"," +ltrim(str(arc.quantity))+","+trim(arc.part_no)+"," +trim(arc.issue)+"," +ltrim(str(arc.del_note))+extra)
arc.fetch_next()
END WHILE
arc.close()
NEXT x
END IF
'end of arc search
nexti:
NEXT I
StatusBar.clear()
F1.flush()
f1.close()
ord.close()
wip.close()
wdl.close()
sto.close()
rac.close()
sub.close()
sys_open(reportfile)
END IF
'Date Created: 02-Dec-2002 04:34:39 PM
'Last Updated: 08-Jan-2003 04:30:06 PM
'Created By :
'Updated By :
dim check1 as l
dim check2 as l
dim check3 as l
dim check4 as l
dim check5 as l
dim check6 as l
dim check7 as l
dim check8 as l
dim check9 as l
dim check10 as l
dim part as c
dim part1 as c
dim part2 as c
dim part3 as c
dim part4 as c
dim part5 as c
check1=.t.
check2=.t.
check3=.t.
part1=lastsearch
dlg_title="Part number search"
result= ui_dlg_box("Part number search", {sp=12}
IF result = "cancel" THEN
end
ELSE IF result = "search" THEN
lastsearch=part1
ord=table.open("orders")
wip=table.open("wipb")
wdl=table.open("wdlb")
sto=table.open("stock")
rac=table.open("rack")
sub=table.open("subpart")
pun=table.open("pun_ben")
wip.index_primary_put("part_no")
wdl.index_primary_put("part")
sto.index_primary_put("Sub_Part")
rac.index_primary_put("Stil")
sub.index_primary_put("Sub_Part")
pun.index_primary_put("job")
IF part1="" THEN
end
END IF
dim rack as c
dim partn(5) as c
partn(1)=part1
partn(2)=part2
partn(3)=part3
partn(4)=part4
partn(5)=part5
filename = "C:\A5\TMP\search.csv"
f1=file.create(filename,file_rw_shared)
Reportfile="G:\alpha5\MSM_files\partsearch.xls"
extra=""
comma=""
IF check7 = .t. THEN
extra=extra+",Price"
comma=comma+","
END IF
IF check8 = .t. THEN
Reportfile="G:\alpha5\MSM_files\partsearchl.xls"
extra=extra+",Description"
comma=comma+","
END IF
IF check9 = .t. THEN
Reportfile="G:\alpha5\MSM_files\partsearchl.xls"
extra=extra+",Remarks"
comma=comma+","
END IF
IF check10 = .t. THEN
Reportfile="G:\alpha5\MSM_files\partsearchl.xls"
extra=extra+",MC info"
END IF
f1.write_line("Tbl,Required,Job No,Order No,Qty,Part No ,Issue ,Position"+Extra)
f1.write_line(",Delivered,,,,,,Invoice No")
I=1
FOR I=1 TO 5
part=partn(i)
IF alltrim(part)="" THEN
goto nexti
END IF
'search order table
IF check1 = .t.
query.description = ""
query.order = "PART_NO+dtoc(date_req)"
query.filter = ""
query.options = "I"
indx = ord.query_create()
ord.fetch_find(part)
IF substr(ord.Part_no,1,len(part))part THEN
F1.write_line("Ord,,,,,"+trim(upper(part))+",,NOT FOUND")
END IF
WHILE part=substr(ord.Part_no,1,len(part)) .and. .not. ord.fetch_eof()
StatusBar.Robot()
extra=""
IF check7 = .t. THEN
extra=extra+",�"+ltrim(str(ord.price,9,2))
END IF
IF check8 = .t. THEN
extra=extra+","+trim(chrtran(ord.Desc,","," "))
END IF
IF check9 = .t. THEN
extra=extra+","+trim(chrtran(substr(ord.remarks,1,19),","," "))
END IF
IF check10 = .t. THEN
extra=extra+","
END IF
F1.write_line("Ord,"+DTOC(ord.date_req,"9C-")+"," +ltrim(str(ord.Job_No))+"," +trim(ord.Order_no)+"," +ltrim(str(ord.Quantity))+","+trim(ord.part_No)+"," +trim(ord.Issue)+"," +trim(chrtran(ord.position,","," "))+extra)
ord.fetch_next()
END WHILE
END IF
'end of ord search
'search wipb table
IF check2 = .t.
wip.fetch_find(part)
IF substr(wip.Part_no,1,len(part))part THEN
F1.write_line("wip,,,,,"+trim(upper(part))+",,NOT FOUND")
END IF
WHILE part=substr(wip.Part_no,1,len(part)) .and. .not. wip.fetch_eof()
StatusBar.Robot()
extra=""
ppf= .f.
IF check7 = .t. THEN
extra=extra+",�"+ltrim(str(wip.price,10,2))
END IF
IF check8 = .t. THEN
sub.fetch_find(wip.Part_no)
IF wip.part_no = sub.Sub_part THEN
extra=extra+","+trim(chrtran(sub.Desc,","," "))
ELSE
extra=extra+","
END IF
END IF
IF check9 = .t. THEN
extra=extra+","+trim(chrtran(substr(wip.remarks,1,19),","," "))
END IF
IF check10 = .t. THEN
IF substr(wip.Position,1,5)="punch" THEN
ppf= .t.
pun.fetch_find(wip.job_no)
IF wip.Job_no=pun.Job_no THEN
extra=extra+","+pun.Machine+" "+pun.Prog+" "+pun.Priority
ELSE
extra=extra+","
END IF
ELSE
extra=extra+","
END IF
END IF
rac.fetch_find(wip.Stilage)
pos=trim(wip.Position)+" "+trim(wip.Stilage)
IF wip.Stilage=rac.Stilage THEN
pos=pos+" "+trim(rac.Rack)
END IF
F1.write_line("wip,"+DTOC(wip.date_req,"9C-")+"," +trim(wip.Job_No)+"," +trim(wip.Order_no)+"," +ltrim(str(wip.Quantity))+","+trim(wip.part_No)+"," +trim(wip.Issue)+"," +trim(chrtran(pos,","," "))+extra)
IF ppf = .t. THEN
pun.fetch_next()
WHILE pun.Job_no = wip.Job_no .and. .not. pun.fetch_eof()
f1.write_line(",,,,,,,,"+comma+pun.Machine+" "+pun.Prog+" "+pun.Priority)
pun.fetch_next()
END WHILE
END IF
wip.fetch_next()
END WHILE
END IF
'end of wip search
'search wdlb table
IF check3 = .t.
wdl.fetch_find(part)
IF substr(wdl.Part_no,1,len(part))part THEN
F1.write_line("wdl,,,,,"+trim(upper(part))+",,NOT FOUND")
END IF
WHILE part=substr(wdl.Part_no,1,len(part)) .and. .not. wdl.fetch_eof()
StatusBar.Robot()
extra=""
IF check7 = .t. THEN
extra=extra+",�"+ltrim(str(wdl.price,10,2))
END IF
IF check8 = .t. THEN
sub.fetch_find(wdl.Part_no)
IF wdl.Part_no=sub.Sub_part THEN
extra=extra+","+trim(chrtran(sub.Desc,","," "))
ELSE
extra=extra+","
END IF
END IF
IF check9 = .t. THEN
extra=extra+","+trim(chrtran(substr(wdl.remarks,1,19),","," "))
END IF
IF check10 = .t. THEN
extra=extra+","
END IF
F1.write_line("wdl,"+DTOC(wdl.Inv_date,"9C-")+"," +trim(wdl.Job_No)+"," +trim(wdl.Order_no)+"," +ltrim(str(wdl.Quantity))+","+trim(wdl.part_No)+"," +trim(wdl.Issue)+"," +ltrim(str(wdl.Del_note))+extra)
wdl.fetch_next()
END WHILE
END IF
'end of wdl search
'search sto table
IF check4 = .t.
sto.fetch_find(part)
IF substr(sto.Sub_part,1,len(part))part THEN
F1.write_line("sto,,,,,"+trim(upper(part))+",,NOT FOUND")
END IF
WHILE part=substr(sto.Sub_part,1,len(part)) .and. .not. sto.fetch_eof()
StatusBar.Robot()
extra=""
IF check7 = .t. THEN
extra=extra+","
END IF
IF check8 = .t. THEN
sub.fetch_find(sto.sub_part)
IF sto.sub_part=sub.Sub_part THEN
extra=extra+","+trim(chrtran(sub.Desc,","," "))
ELSE
extra=extra+","
END IF
rac.fetch_find(sto.Stilage)
pos=trim(sto.Position)+" "+trim(sto.Stilage)
IF sto.Stilage=rac.Stilage THEN
pos=pos+" "+trim(rac.Rack)
END IF
END IF
IF check9 = .t. THEN
extra=extra+","+trim(chrtran(substr(sto.remarks,1,19),","," "))
END IF
ppf=.f.
IF check10= .t. THEN
IF substr(sto.Position,1,5)="punch" THEN
ppf= .t.
pun.fetch_find(sto.job_no)
IF sto.Job_no=pun.Job_no THEN
extra=extra+","+pun.Machine+" "+pun.Prog+" "+pun.Priority
ELSE
extra=extra+","
END IF
ELSE
extra=extra+","
END IF
END IF
F1.write_line("sto,"+DTOC(sto.Date_rec,"9C-")+"," +trim(sto.Job_no)+"," +trim(sto.Supply_to)+"," +ltrim(str(sto.Quantity))+","+trim(sto.Sub_part)+"," +trim(sto.Issue)+"," +trim(Pos)+extra)
IF ppf = .t. THEN
pun.fetch_next()
WHILE pun.Job_no = sto.Job_no .and. .not. pun.fetch_eof()
f1.write_line(",,,,,,,,"+comma+pun.Machine+" "+pun.Prog+" "+pun.Priority)
pun.fetch_next()
END WHILE
END IF
sto.fetch_next()
END WHILE
END IF
'end of sto search
'search archive table
IF check5 = .t. .or. check6= .t.
y=4
IF check6= .t. THEN
y=8
END IF
year=year(date())
x=year
IF file_exists("o:\archive\warc"+ltrim(str(x))+".dbf")
goto start
END IF
x=x-1
IF file_exists("o:\archive\warc"+ltrim(str(x))+".dbf")
goto start
END IF
x=x-1
start:
FOR x = x TO year-y step -1
arc=table.open("o:\archive\warc"+ltrim(str(x)))
arc.index_primary_put("part")
arc.fetch_find(part)
WHILE part=substr(arc.Part_no,1,len(part)) .and. .not. arc.fetch_eof()
StatusBar.Robot()
extra=""
IF check7 = .t. THEN
extra=extra+","+ltrim(str(arc.price,10,2))
END IF
IF check8 = .t. THEN
sub.fetch_find(arc.Part_no)
IF arc.Part_no=sub.Sub_part THEN
extra=extra+","+trim(chrtran(sub.Desc,","," "))
ELSE
extra=extra+","
END IF
END IF
IF check9 = .t. THEN
extra=extra+","
END IF
IF check10 = .t. THEN
extra=extra+","
END IF
F1.write_line("arc,"+DTOC(arc.Inv_Date,"9C-")+"," +arc.Job_No+"," +trim(arc.Order_no)+"," +ltrim(str(arc.quantity))+","+trim(arc.part_no)+"," +trim(arc.issue)+"," +ltrim(str(arc.del_note))+extra)
arc.fetch_next()
END WHILE
arc.close()
NEXT x
END IF
'end of arc search
nexti:
NEXT I
StatusBar.clear()
F1.flush()
f1.close()
ord.close()
wip.close()
wdl.close()
sto.close()
rac.close()
sub.close()
sys_open(reportfile)
END IF
Comment