บทนำระบบ
ศึกษาปัญหา
ศึกษาความเป็นไปได้
ศึกษาระบบเดิม
ออกแบบระบบใหม่
พัฒนาระบบ
ติดตั้ง
บำรุงรักษา
โปรแกรมเมนู
โปรแกรมงานหลัก
โปรแกรมแสดงข้อมูล
โปรแกรมเกี่ยวกับรายงาน
โปรแกรมเกี่ยวกับรายงานสรุป
โปรแกรมเกี่ยวกับระบบ
//เพิ่มข้อมูลลูกค้า
procedure appcust
    use customer
    save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77

    ans=0;ans1=0
    do while .t.
     if lastkey()=27
       return
       use
     endif
       _custid=0
       go bottom
       _custid=custid+1
       _custname=space(25)
       _custadd=space(30)
       _custtel=space(10)
       @ 2,25 say "[...โปรแกรมการเพิ่มลูกค้า...]"
       @ 8,5 say "รหัสลูกค้า    :" get _custid
  set color to w/g,/w
       @ 10,5 say "ชื่อลูกค้า   :" get _custname
       @ 12,5 say "ที่อยู่      :" get _custadd
       @ 14,5 say "โทรศัพท์XXX-xxxxx:" get _custtel
       @ 22,5 clear to 22,70
       @ 22,15 say "## ต้องการบันทึกหรือไม่ ##"
       @ 22,50 prompt "[Yes]"
       @ 22,60 prompt "[No]"
       read
       menu to ans1
       if ans1=1
          append blank
          replace custid with _custid,custadd with _custadd,;
                  custname with _custname,custtel with _custtel
     endif
      @ 22,5 clear to 22,70
      @ 22,15 say "ต้องการเพิ่มเติมต่อไปหรือไม่"
      @ 22,50 prompt "[Yes]"
      @ 22,60 prompt "[No]"
    menu to ans
    if ans=1
       loop
    else
       return
   endif
   enddo
   use
   inkey(0)
   restore screen from x
return
//=========================
//เพิ่มข้อมูลพนักงาน
procedure appemp
    use employee
    save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77

    ans=0;ans1=0
    do while .t.
     if lastkey()=27
       return
       use
     endif
       _empid=0
       go bottom
       _empid=empid+1
       _empname=space(25)
       _empadd=space(30)
       _position=space(15)
       _salary=0
       @ 2,25 say "[...โปรแกรมการเพิ่มพนักงาน...]"
  set color to w/g,/w
       @ 8,5  say "รหัส   :" get _empid
       @ 10,5 say "ชื่อ   :" get _empname
       @ 12,5 say "ที่อยู่ ## :" get _empadd
       @ 14,5 say "ตำแหน่ง :" get _position
       @ 16,5 say "เงินเดือน:" get _salary
       @ 22,5 clear to 22,70
       @ 22,15 say "## ต้องการบันทึกหรือไม่ ##"
       @ 22,50 prompt "[Yes]"
       @ 22,60 prompt "[No]"
       read
       menu to ans1
       if ans1=1
          append blank
          replace empid with _empid,empadd with _empadd,empname with _empname,;
          position with _position,salary with _salary
     endif
      @ 22,5 clear to 22,70
      @ 22,15 say "ต้องการเพิ่มเติมต่อไปหรือไม่"
      @ 22,50 prompt "[Yes]"
      @ 22,60 prompt "[No]"
    menu to ans
    if ans=1
       loop
    else
       return
   endif
   enddo
   use
   inkey(0)
   restore screen from x
return
//===================
//เพิ่มข้อมูลสินค้า
procedure apppro
    use product
    save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77

    ans=0;ans1=0
    do while .t.
     if lastkey()=27
       return
       use
     endif
       _proid=0
       go bottom
       _proid=proid+1
       _proname=space(25)
       _proadd=space(30)
       _quantity=0
       _price=0
       _cost=0
       _reorder=0
       @ 2,25 say "[...โปรแกรมการเพิ่มสินค้า...]"
  set color to w/g,/w

       @ 8,5 say  "รหัสสินค้า  :" get _proid
       @ 10,5 say "ชื่อสินค้า  :" get _proname
       @ 12,5 say "จำนวน       :" get _quantity
       @ 14,5 say "ราคา/หน่วย  :" get _price
       @ 16,5 say "ราคาทุน     :" get _cost
       @ 18,5 say "จุดสั่งซื้อ  :" get _reorder
       @ 22,5 clear to 22,70
       @ 22,15 say "## ต้องการบันทึกหรือไม่ ##"
       @ 22,50 prompt "[Yes]"
       @ 22,60 prompt "[No]"
       read
       menu to ans1
       if ans1=1
          append blank
          replace proid with _proid,quantity with _quantity,;
                  proname with _proname,price with _price,;
                  reorder with _reorder,cost with _cost
     endif
      @ 22,5 clear to 22,70
      @ 22,15 say "ต้องการเพิ่มเติมต่อไปหรือไม่"
      @ 22,50 prompt "[Yes]"
      @ 22,60 prompt "[No]"
    menu to ans
    if ans=1
       loop
    else
       return
   endif
   enddo
   use
   inkey(0)
   restore screen from x
return
//==============================
//เพิ่มข้อมูลแฟ้มผู้จำหน่าย
procedure appsup
    use supplier
    save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77

    ans=0;ans1=0
    do while .t.
     if lastkey()=27
       return
       use
     endif
       _suppid=0
       go bottom
       _suppid=suppid+1
       _suppname=space(25)
       _suppadd=space(30)
       _supptel=space(10)
       @ 2,25 say "[...โปรแกรมการเพิ่มผู้จำหน่าย...]"
  set color to w/g,/w
       @ 8,5  say "รหัสผู้จำหน่าย  :" get _suppid
       @ 10,5 say "ชื่อผู้จำหน่าย  :" get _suppname
       @ 12,5 say "ที่อยู่         :" get _suppadd
       @ 14,5 say "โทรศัพท์ XXX-xxxxx:" get _supptel
       @ 22,5 clear to 22,70
       @ 22,15 say "## ต้องการบันทึกหรือไม่ ##"
       @ 22,50 prompt "[Yes]"
       @ 22,60 prompt "[No]"
       read
       menu to ans1
       if ans1=1
          append blank
          repl suppid with _suppid,suppadd with _suppadd,;
                  suppname with _suppname,supptel with _supptel
     endif
      @ 22,5 clear to 22,70
      @ 22,15 say "ต้องการเพิ่มเติมต่อไปหรือไม่"
      @ 22,50 prompt "[Yes]"
      @ 22,60 prompt "[No]"
    menu to ans
    if ans=1
       loop
    else
       return
   endif
   enddo
   use
   inkey(0)
   restore screen from x
return
//===========================
//เพิ่มข้อมูลแฟ้มเจ้าหนี้
procedure apppay
    use payable
    save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77

    ans=0;ans1=0
    do while .t.
     if lastkey()=27
       return
       use
     endif
       _suppid=0
       _pay=0
       _recid=0
       _less=0
       _date=ctod("  /  / ")
       @ 2,25 say "[...โปรแกรมการเพิ่มเจ้าหนี้...]"
  set color to w/g,/w
       @ 8,5  say "รหัสผู้จำหน่าย   :" get _suppid
       @ 10,5 say "รหัสใบรับสินค้า  :" get _recid
       @ 12,5 say "เงินที่จ่าย      :" get _pay
       @ 14,5 say "เงินค้างจ่าย     :" get _less
       @ 16,5 say "กำหนดชำระเงิน(mm/dd/yy):" get _date
       @ 22,5 clear to 22,70
       @ 22,15 say "## ต้องการบันทึกหรือไม่ ##"
       @ 22,50 prompt "[Yes]"
       @ 22,60 prompt "[No]"
       read
       menu to ans1
       if ans1=1
          append blank
          repl suppid with _suppid,recid with _recid,;
          pay_money with _pay,;
          pay_less with _less,date_paid with _date
     endif
      @ 22,5 clear to 22,70
      @ 22,15 say "ต้องการเพิ่มเติมต่อไปหรือไม่"
      @ 22,50 prompt "[Yes]"
      @ 22,60 prompt "[No]"
    menu to ans
    if ans=1
       loop
    else
       return
   endif
   enddo
   use
   inkey(0)
   restore screen from x
return
//=============================
//เพิ่มข้อมูลแฟ้มลูกหนี้
procedure apprec
    use receivab
    save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77

    ans=0;ans1=0
    do while .t.
     if lastkey()=27
       return
       use
     endif
       _custid=0
       _saleid=0
       _pay=0
       _less=0
       _datep=ctod("  /  /  ")
       _datesale=ctod("  /  /  ")
       _total=0
       @ 2,25 say "[...โปรแกรมการเพิ่มลูกหนี้...]"
  set color to w/g,/w
       @ 6,15  say "รหัสลูกหนี้  :" get _custid
       @ 8,15  say "รหัสผู้ขาย   :" get _saleid
       @ 10,15 say "วันที่ขาย (mm/dd/yy): " get _datesale
       @ 12,15 say "วันที่ชำระ(mm/dd/yy):" get _datep
       @ 14,15 say "ยอดรวม       :" get _total
       @ 16,15 say "เงินที่ชำระ  :" get _pay
       @ 18,15 say "ยอดคงค้างชำระ :" get _less
       @ 22,5 clear to 22,70
       @ 22,15 say "## ต้องการบันทึกหรือไม่ ##"
       @ 22,50 prompt "[Yes]"
       @ 22,60 prompt "[No]"
       read
       menu to ans1
       if ans1=1
          append blank
repl custid with _custid,saleid with _saleid,date_sale with _datesale
//          day_pay with _datep,total with _total,pay with _pay
          //,less with _less
     endif
      @ 22,5 clear to 22,70
      @ 22,15 say "ต้องการเพิ่มเติมต่อไปหรือไม่"
      @ 22,50 prompt "[Yes]"
      @ 22,60 prompt "[No]"
    menu to ans
    if ans=1
       loop
    else
       return
   endif
   enddo
   use
   inkey(0)
   restore screen from x
return
//===========================
//การแก้ไขลูกหนี้
procedure editrec
use receivab
save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77

ans1=0
do while .t.
  _custid =0
  ans=0
      @ 2,25  say "[การแก้ไขข้อมูลลูกหนี้]"
  set color to b/gr,/w
      @ 6,10  say "รหัสลูกหนี้ # :" get _custid
     read
  locate for custid=_custid
  if found()
     _saleid=saleid
     _datesale=date_sale
     _datepay=date_pay
     _total=total
     _less=less
     _pay=pay
     @ 8,10  say "เลขที่ใบเสร็จ :" get _saleid
     @ 10,10 say "วันที่ขาย  :" get _datesale
     @ 12,10 say "กำหนดชำระ  :" get _datepay
     @ 14,10 say "ยอดรวม     :" get _total
     @ 16,10 say "เงินที่ชำระ # :" get _pay
     @ 18,10 say "ยอดคงเหลือ #:" get _less
     read
     @ 22,10 clear to 22,75
     @ 22,15 say " ต้องการบันทึกหรือไม่"
     @ 22,50 prompt "[yes]"
     @22,60 prompt"[no]"
     menu to ans
   if ans=1
        repl saleid with _saleid ,date_sale with _datesale,;
        date_pay with _datepay,total with _total,;
        less with _less,pay with _pay
        endif
   else
    @ 6,10 clear to 18,65
    @ 11,25 to 13,60
    @ 12,27 say "ลูกหนี้รหัส"+ltrim(str(_custid))+"ไม่พบในแฟ้มข้อมูล"
    @ 22,10 clear to 22,75
      endif
    @ 22,10 clear to 22,75
    @ 22,15 say "ต้องการแก้ไขต่อไปหรือไม่"
    @ 22,50 prompt "[yes]"
    @ 22,60 prompt "[no]"
    menu to ans1
    if ans1=1
      @ 6,10 clear to 18,70
      else
        return
      endif
    enddo
    use
    inkey(0)
    restore screen from x
    return
//=========================
//แก้ไขข้อมูลพนักงาน
procedure  editemp
use employee
save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77

ans1=0
do while .t.
  _empid =0
  ans=0
     @ 2,25 say "[การแก้ไขข้อมูลพนักงาน]"
  set color to b/gr,/w
     @ 6,10  say "รหัสพนีกงาน:" get _empid
  read
 locate for empid= _empid
  if found()
     _empname=empname
     _empadd=empadd
     _position=position
     _salary=salary
     @ 8,10  say "ชื่อ     :" get _empname
     @ 10,10 say "ที่อยู่  :" get _empadd
     @ 12,10 say "ตำแหน่ง  :" get _position
     @ 14,10 say "เงินเดือน #:" get _salary
     read
     @ 22,10 clear to 22,75
     @ 22,15 say " ต้องการบันทึกหรือไม่"
     @ 22,50 prompt "[yes]"
     @22,60 prompt"[no]"
     menu to ans
   if ans=1
        repl empname with _empname ,empadd with _empadd,;
        position with _position,salary with _salary
        endif
   else
    @ 6,10 clear to 18,65
    @ 11,25 to 13,60
    @ 12,27 say "พนักงานรหัส"+ltrim(str(_empid))+"ไม่พบในแฟ้มข้อมูล"
    @ 22,10 clear to 22,75
      endif
    @ 22,10 clear to 22,75
    @ 22,15 say "ต้องการแก้ไขต่อไปหรือไม่"
    @ 22,50 prompt "[yes]"
    @ 22,60 prompt "[no]"
    menu to ans1
    if ans1=1
      @ 6,10 clear to 18,70
      else
        return
      endif
    enddo
    use
    inkey(0)
    restore screen from x
    return
//=========================
//การแก้ไขลูกค้า
procedure editcust
use customer
save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77

ans1=0
do while .t.
  _custid =0
  ans=0
     @ 2,25 say "[การแก้ไขข้อมูลลูกค้า]"
  set color to b/gr,/w
     @ 6,10  say "รหัสลูกค้า # :" get _custid
  read
locate for custid= _custid
  if found()
     _custname=custname
     _custadd=custadd
     _custtel=custtel
     @ 8,10  say "ชื่อลูกค้า # :" get _custname
     @ 10,10 say "ที่อยู่  :" get _custadd
     @ 12,10 say "โทรศัพท์ # :" get _custtel
       read
     @ 22,10 clear to 22,75
     @ 22,15 say " ต้องการบันทึกหรือไม่"
     @ 22,50 prompt "[yes]"
     @22,60 prompt"[no]"
     menu to ans
   if ans=1
        repl custname with _custname ,custadd with _custadd,;
        custtel with _custtel
     endif
 else
    @ 6,10 clear to 18,65
    @ 11,25 to 13,60
    @ 12,27 say "ลูกค้ารหัส"+ltrim(str(_custid))+"ไม่พบในแฟ้มข้อมูล"
    @ 22,10 clear to 22,75
      endif
    @ 22,10 clear to 22,75
    @ 22,15 say "ต้องการแก้ไขต่อไปหรือไม่"
    @ 22,50 prompt "[yes]"
    @ 22,60 prompt "[no]"
    menu to ans1
    if ans1=1
      @ 6,10 clear to 18,70
      else
        return
      endif
    enddo
    use
    inkey(0)
    restore screen from x
    return
//=========================
//แก้ไขข้อมูลสินค้า
procedure  editpro
use product
save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77

ans1=0
do while .t.
  _proid =0
  ans=0
     @ 2,25  say "[การแก้ไขข้อมูลสินค้า]"
  set color to b/gr,/w
     @ 6,10  say "รหัสสินค้า:" get _proid
  read
  locate for proid= _proid
  if found()
     _proname=proname
     _quantity=quantity
     _price=price
     _cost=cost
     _reorder=reorder
     @ 8,10  say "ชื่อสินค้า   :" get _proname
     @ 10,10 say "จำนวนในสต๊อก #:" get _quantity
     @ 12,10 say "ราคา/หน่วย   :" get _price
     @ 14,10 say "ราคาทุน      :" get _cost
     @ 16,10 say "จุดสั่งซื้อ  :" get _reorder
     read
     @ 22,10 clear to 22,75
     @ 22,15 say " ต้องการบันทึกหรือไม่"
     @ 22,50 prompt "[yes]"
     @22,60 prompt"[no]"
     menu to ans
   if ans=1
        repl proname with _proname ,quantity with _quantity,;
        price with _price,reorder with _reorder,;
        cost with _cost
        endif
   else
    @ 6,10 clear to 18,65
    @ 11,25 to 13,60
    @ 12,27 say "สินค้ารหัส"+ltrim(str(_proid))+"ไม่พบในแฟ้มข้อมูล"
    @ 22,10 clear to 22,75
      endif
    @ 22,10 clear to 22,75
    @ 22,15 say "ต้องการแก้ไขต่อไปหรือไม่"
    @ 22,50 prompt "[yes]"
    @ 22,60 prompt "[no]"
    menu to ans1
    if ans1=1
      @ 6,10 clear to 18,70
      else
        return
      endif
    enddo
    use
    inkey(0)
    restore screen from x
    return
//===========================
//การแก้ไขผู้จำหน่าย
procedure editsup
use supplier
save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77

ans1=0
do while .t.
  _suppid =0
  ans=0
     @ 2,25 say "[การแก้ไขข้อมูลผู้จำหน่าย]"
  set color to b/gr,/w
     @ 6,10 say "รหัสผู้จำหน่าย # :" get _suppid
  read
locate for  suppid= _suppid
  if found()
     _suppname=suppname
     _suppadd=suppadd
     _supptel=supptel
     @ 8,10  say "ชื่อจำหน่าย  :" get _suppname
     @ 10,10 say "ที่อยู่      :" get _suppadd
     @ 12,10 say "โทรศัพท์     :" get _supptel
     read
     @ 22,10 clear to 22,75
     @ 22,15 say " ต้องการบันทึกหรือไม่"
     @ 22,50 prompt "[yes]"
     @22,60 prompt"[no]"
     menu to ans
   if ans=1
        repl suppname with _suppname ,suppadd with _suppadd,;
        supptel with _supptel
        endif
   else
    @ 6,10 clear to 18,65
    @ 11,25 to 13,60
    @ 12,27 say "ผู้จำหน่ายรหัส"+ltrim(str(_suppid))+"ไม่พบในแฟ้มข้อมูล"
    @ 22,10 clear to 22,75
      endif
    @ 22,10 clear to 22,75
    @ 22,15 say "ต้องการแก้ไขต่อไปหรือไม่"
    @ 22,50 prompt "[yes]"
    @ 22,60 prompt "[no]"
    menu to ans1
    if ans1=1
      @ 6,10 clear to 18,70
      else
        return
      endif
    enddo
    use
    inkey(0)
    restore screen from x
    return
//=========================
//แก้ไขข้อมูลเจ้าหนี้
procedure  editpay
use payable

save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77

ans1=0
do while .t.
  _suppid=0
  _recid=0
  ans=0
     @ 2,25 say "[การแก้ไขข้อมูลเจ้าหนี้]"
  set color to b/gr,/w
     @ 6,10 say "รหัสเจ้าหนี้  :" get _suppid
     @ 8,10 say "รหัสใบรับสินค้า # :" get _recid
  read
  locate for suppid= _suppid .and. recid=_recid
  if found()
//   _recid=recid
     _paymoney=pay_money
     _payless=pay_less
     _datepaid=date_paid
//   @ 8,10  say "รหัสใบรับสินค้า # :" get _recid
     @ 10,10 say "เงินที่จ่าย   :" get _paymoney
     @ 12,10 say "เงินค้างจ่าย  :" get _payless
     @ 14,10 say "วันที่ชำระ    :" get _datepaid
     read
     @ 22,10 clear to 22,75
     @ 22,15 say " ต้องการบันทึกหรือไม่"
     @ 22,50 prompt "[yes]"
     @22,60 prompt"[no]"
     menu to ans
        if ans=1
                repl recid with _recid ,pay_money with _paymoney,;
                pay_less with _payless,date_paid with _datepaid
        endif
   else
    @ 6,10 clear to 18,65
    @ 11,25 to 13,60
    @ 12,27 say "เจ้าหนี้รหัส"+ltrim(str(_suppid))+"ไม่พบในแฟ้มข้อมูล"
    @ 22,10 clear to 22,75
   endif
    @ 22,10 clear to 22,75
    @ 22,15 say "ต้องการแก้ไขต่อไปหรือไม่"
    @ 22,50 prompt "[yes]"
    @ 22,60 prompt "[no]"
    menu to ans1
      if ans1=1
         @ 6,10 clear to 18,70
      else
        return
      endif
enddo
    use
    inkey(0)
    restore screen from x
    return
//===========================
//การลบข้อมูลผู้จำหน่าย
procedure delsup
use supplier

save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77

do while .t.
_suppid=0
ans=0
ans1=0
@ 2,26  say "การลบข้อมูลผู้จำหน่าย"
  set color to w/g,/w
@ 6,10  say "รหัสผู้จำหน่าย # :" get _suppid
read
locate for suppid=_suppid
if found()
delete
  @ 8,10  say "ชื่อผู้จำหน่าย #:"+rtrim(suppname)
  @ 10,10 say "ที่อยู่    :"+rtrim(suppadd)
  @ 12,10 say "เบอร์โทรศัพท์ :"+rtrim(supptel)
   @ 22,9 clear to 22,70
   @ 22,18 say "Are you sure to delete ?"
   @ 22,50 prompt "Yes"
   @ 22,60 prompt "No"
   menu to ans
   if ans=1
      pack
    else
      recall
     endif
   else
     @ 6,5 clear to 18,70
     @ 11,25 to 13,65
     @ 12,27 say "ไม่พบรหัสผู้จำหน่ายในแฟ้ม"+ltrim(str(_suppid))
     @22,10 clear to 22,75
   endif
   @ 22,10 clear to 22,75
   @ 22,15 say "ต้องการลบข้อมูลอีกหรือไม่"
   @ 22,50 prompt"Yes"
   @ 22,60 prompt"No"
   menu to ans1
   if ans1=1
      @ 6,5 clear to 18,70
   else
     return
   endif
   enddo
   use
   inkey(1)
   restore screen from x
   return
//===============================
//การลบข้อมูลพนักงาน
procedure delemp
use employee
save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77
do while .t.
_empid=0
ans=0
ans1=0
@ 2,26 say "การลบข้อมูลพนักงาน"
  set color to w/g,/w
@ 6,10  say "รหัสพนักงาน :" get _empid
read
locate for empid=_empid
if found()
delete
  @ 8,10  say "ชื่อพนักงาน :"+rtrim(empname)
  @ 10,10 say "ที่อยู่  :"+rtrim(empadd)
  @ 12,10 say "เงินเดือน #:"+ltrim(str(salary))
  @ 14,10 say "หน้าที่หลัก #:"+rtrim(position)
   @ 22,9 clear to 22,70
   @ 22,18 say "Are you sure to delete ?"
   @ 22,50 prompt "Yes"
   @ 22,60 prompt "No"
   menu to ans
   if ans=1
      pack
    else
      recall
     endif
   else
     @ 6,5 clear to 18,70
     @ 11,25 to 13,65
     @ 12,27 say "ไม่พบรหัสพนักงานในแฟ้ม"+ltrim(str(_empid))
     @22,10 clear to 22,75
   endif
   @ 22,10 clear to 22,75
   @ 22,15 say "ต้องการลบข้อมูลอีกหรือไม่"
   @ 22,50 prompt"Yes"
   @ 22,60 prompt"No"
   menu to ans1
   if ans1=1
      @ 6,5 clear to 18,70
   else
     return
   endif
   enddo
   use
   inkey(1)
   restore screen from x
   return
//========================
//การลบข้อมูลลูกหนี้
procedure delrec
use receivab

save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77
do while .t.
_custid=0
ans=0
ans1=0
@ 2,26 say "การลบข้อมูลพลูกหนี้"
  set color to w/g,/w
@ 6,10  say "รหัสลูกหนี้  :" get _custid
read
locate for custid=_custid
if found()
delete
  @ 8,10  say "รหัสใบเสร็จ #:"+ltrim(str(saleid))
  @ 10,10 say "วันที่ขาย  :"+dtoc(date_sale)
  @ 12,10 say "กำหนดชำระ  :"+dtoc(date_pay)
  @ 14,10 say "ยอดรวม     :"+ltrim(str(total))
  @ 16,10 say "เงินชำระ   :"+ltrim(str(pay))
  @ 18,10 say "เงินคงค้างชำระ:"+ltrim(str(less))
   @ 22,9 clear to 22,70
   @ 22,18 say "Are you sure to delete ?"
   @ 22,50 prompt "Yes"
   @ 22,60 prompt "No"
   menu to ans
   if ans=1
      pack
    else
      recall
     endif
   else
     @ 6,5 clear to 18,70
     @ 11,25 to 13,65
     @ 12,27 say "ไม่พบรหัสลูกหนี้ในแฟ้ม"+ltrim(str(_custid))
     @22,10 clear to 22,75
   endif
   @ 22,10 clear to 22,75
   @ 22,15 say "ต้องการลบข้อมูลอีกหรือไม่"
   @ 22,50 prompt"Yes"
   @ 22,60 prompt"No"
   menu to ans1
   if ans1=1
      @ 6,5 clear to 18,70
   else
     return
   endif
   enddo
   use
   inkey(1)
   restore screen from x
   return
//=======================
//การลบข้อมูลสินค้า
procedure delpro
use product
save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77
do while .t.
_proid=0
ans=0
ans1=0
@ 2,26 say "การลบสินค้า"
  set color to w/g,/w
@ 6,10  say "รหัสสินค้า   :" get _proid
read
locate for proid=_proid
if found()
delete
  @ 8,10  say "ชื่อสินค้า  :"+rtrim(proname)
  @ 10,10 say "ราคาทุน/หน่วย :"+ltrim(str(cost))
  @ 12,10 say "ราคาขาย/หน่วย:"+ltrim(str(price))
  @ 14,10 say "จำนวนที่เหลืออยู่:"+ltrim(str(quantity))
  @ 16,10 say "จุดสั่งซื้อ  :"+ltrim(str(reorder))
   @ 22,5 clear to 22,70
   @ 22,18 say "Are you sure to delete ?"
   @ 22,50 prompt "Yes"
   @ 22,60 prompt "No"
   menu to ans
   if ans=1
      pack
    else
      recall
     endif
   else
     @ 6,5 clear to 18,70
     @ 11,25 to 13,65
     @ 12,27 say "ไม่พบรหัสสินค้าในแฟ้ม"+ltrim(str(_proid))
     @22,10 clear to 22,75
   endif
   @ 22,10 clear to 22,75
   @ 22,15 say "ต้องการลบข้อมูลอีกหรือไม่"
   @ 22,50 prompt"Yes"
   @ 22,60 prompt"No"
   menu to ans1
   if ans1=1
      @ 6,5 clear to 18,70
   else
     return
   endif
   enddo
   use
   inkey(1)
   restore screen from x
   return
//========================
//การลบข้อมูลลูกค้า
procedure delcust
use customer
save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77
do while .t.
_custid=0
ans=0
ans1=0
@ 2,26 say "การลบลูกค้า"
  set color to w/g,/w
@ 6,10 say "รหัสลูกค้า  :" get _custid
read
locate for custid=_custid
if found()
delete
  @ 8,10  say "ชื่อลูกค้า # :"+rtrim(custname)
  @ 10,10 say "ที่อยู่  :"+rtrim(custadd)
  @ 12,10 say "โทรศัพท์ # :"+rtrim(custtel)
   @ 22,5 clear to 22,70
   @ 22,18 say "Are you sure to delete ?"
   @ 22,50 prompt "Yes"
   @ 22,60 prompt "No"
   menu to ans
   if ans=1
      pack
    else
      recall
     endif
   else
     @ 6,5 clear to 18,70
     @ 11,25 to 13,65
     @ 12,27 say "ไม่พบรหัสลูกค้าในแฟ้ม"+ltrim(str(_custid))
     @22,10 clear to 22,75
   endif
   @ 22,10 clear to 22,75
   @ 22,15 say "ต้องการลบข้อมูลอีกหรือไม่"
   @ 22,50 prompt"Yes"
   @ 22,60 prompt"No"
   menu to ans1
   if ans1=1
      @ 6,5 clear to 18,70
   else
     return
   endif
   enddo
   use
   inkey(1)
   restore screen from x
   return
//===========================
//การลบข้อมูลเจ้าหนี้
procedure delpay
use payable
save screen to x
set color to w/bg+
cls
set color to w/b
@ 1,2 clear to 3,77
set color to w/gr
@5,2 clear to 19,77
set color to w/rb+
@ 21,2 clear to 23,77
do while .t.
_suppid=0
_recid=0
ans=0
ans1=0
@ 2,26 say "การลบเจ้าหนี้"
  set color to w/g,/w
@ 6,10 say "รหัสเจ้าหนี้  :" get _suppid
@ 8,10 say "รหัสใบรับสินค้า # :" get _recid
read
locate for suppid=_suppid .and. recid=_recid
if found()
delete
  @ 8,10 say "รหัสใบรับสินค้า :"+ltrim(str(recid))
  @ 10,10 say "เงินที่จ่าย ## :"+ltrim(str(pay_money))
  @ 12,10 say "เงินค้างจ่าย #:"+ltrim(str(pay_less))
  @ 14,10 say "วันที่ชำระ ## :"+dtoc(date_paid)
   @ 22,5 clear to 22,70
   @ 22,18 say "Are you sure to delete ?"
   @ 22,50 prompt "Yes"
   @ 22,60 prompt "No"
   menu to ans
   if ans=1
      pack
    else
      recall
     endif
   else
     @ 6,5 clear to 18,70
     @ 11,25 to 13,65
     @ 12,27 say "ไม่พบรหัสเจ้าหนี้ในแฟ้ม"+ltrim(str(_suppid))
     @22,10 clear to 22,75
   endif
   @ 22,10 clear to 22,75
   @ 22,15 say "ต้องการลบข้อมูลอีกหรือไม่"
   @ 22,50 prompt"Yes"
   @ 22,60 prompt"No"
   menu to ans1
   if ans1=1
      @ 6,5 clear to 18,70
   else
     return
   endif
   enddo
   use
   inkey(1)
   restore screen from x
   return
//========================
procedure b_browse
set cursor on
opt5=0

do while lastkey()!=27
  set color to w/g,w
  set color to "w/rb+"
  @5,28 say    [       **BROWSE**             ]
  set color to "w/bg+"
  @6,28  prompt[   1.แฟ้มสั่งซื้อ             ]
  @7,28  prompt[   2.แฟ้มสั่งซื้อละเอียด      ]
  @8,28  prompt[   3.แฟ้มรับสินค้า            ]
  @9,28  prompt[   4.แฟ้มรับสินค้าละเอียด     ]
  @10,28 prompt[   5.แฟ้มชำระหนี้             ]
  @11,28 prompt[   6.แฟ้มจ่ายชำระหนี้         ]
  @12,28 prompt[   7.แฟ้มสินค้า               ]
  @13,28 prompt[   8.แฟ้มขาย                  ]
  @14,28 prompt[   9.แฟ้มขายละเอียด           ]
  @15,28 prompt[  10.แฟ้มลูกค้า               ]
  @16,28 prompt[  11.แฟ้มพนักงาน              ]
  @17,28 prompt[  12.แฟ้มผู้จำหน่าย           ]
  @18,28 prompt[  13.เลิกการทำงาน หรือกด ESC  ]
  menu to opt5
  do case
    case opt5 = 1
         cls
         @7,13,23,73 box replicate(chr(177),9)
         @3,10 say "esc:exit"
         @3,30 say "แฟ้มสั่งซื้อสินค้า"
         use order
         set color to 0/9
         browse(6,10,22,70)
         close all
    case opt5=2
         cls
         @7,13,23,73 box replicate(chr(177),9)
         @3,10 say "esc:exit"
         @3,30 say "แฟ้มสั่งซื้อละเอียด"
         use orderdet
         set color to 0/5
         browse(6,10,22,70)
         close all
    case opt5=3
         cls
         @7,13,23,73 box replicate(chr(177),9)
         @3,10 say "esc:exit"
         @3,30 say "แฟ้มรับสินค้า"
         use receive
         set color to 0/4
         browse(6,10,22,70)
         close all
    case opt5=4
         cls
         @7,13,23,73 box replicate(chr(177),9)
         @3,10 say "esc:exit"
         @3,30 say "แฟ้มรับสินค้าละเอียด"
         use receidet
         set color to 0/2
         browse(6,10,22,70)
         close all
    case opt5=5
         cls
         @7,13,23,73 box replicate(chr(177),9)
         @3,10 say "esc:exit"
         @3,30 say "แฟ้มรับชำระหนี้"
         use receivab
         set color to 0/6
         browse(6,10,22,70)
         close all
    case opt5=6
         cls
         @7,13,23,73 box replicate(chr(177),9)
         @3,10 say "esc:exit"
         @3,30 say "แฟ้มจ่ายชำระหนี้"
         use payable
         set color to 0/7
         browse(6,10,22,70)
         close all
    case opt5=7
         cls
         @7,13,23,73 box replicate(chr(177),9)
         @3,10 say "esc:exit"
         @3,30 say "แฟ้มสินค้า"
         use product
         set color to 0/6
         browse(6,10,22,70)
         close all
    case opt5=8
         cls
         @7,13,23,73 box replicate(chr(177),9)
         @3,10 say "esc:exit"
         @3,30 say "แฟ้มขาย"
         use sale
         set color to 0/4
         browse(6,10,22,70)
         close all
    case opt5=9
         cls
         @7,13,23,73 box replicate(chr(177),9)
         @3,10 say "esc:exit"
         @3,30 say "แฟ้มขายละเอียด"
         use saledet
         set color to 0/3
         browse(6,10,22,70)
         close all
    case opt5=10
         cls
         @7,13,23,73 box replicate(chr(177),9)
         @3,10 say "esc:exit"
         @3,30 say "แฟ้มลูกค้า"
         use customer
         set color to 0/9
         browse(6,10,22,70)
         close all
    case opt5=11
         cls
         @7,13,23,73 box replicate(chr(177),9)
         @3,10 say "esc:exit"
         @3,30 say "แฟ้มพนักงาน"
         use employee
         set color to 0/5
         browse(6,10,22,70)
         close all
    case opt5=12
         cls
         @7,13,23,73 box replicate(chr(177),9)
         @3,10 say "esc:exit"
         @3,30 say "แฟ้มผู้จำหน่าย"
         use supplier
         set color to 0/6
         browse(6,10,22,70)
         close all
   case opt5=13
         cls
         exit
  endcase
enddo
set cursor off
return
//=======================================
procedure sort1
        opt=0
        inkey(0.2)
        do while lastkey()!=27
        while .t.
        @ 5,12 say   "       การจัดเรียงข้อมูล         "
        @ 6,12 say repl("*",33)
        set color to w/g,/w
        @ 7,12 prompt  [1.จัดเรียงตามรหัสสินค้า          ]
        @ 8,12 prompt  [2.จัดเรียงตามรหัสพนักงาน         ]
        @ 9,12 prompt  [3.จัดเรียงตามรหัสลูกค้า          ]
        @ 10,12 prompt [4.จัดเรียงตามเงินเดือนมากไปน้อย  ]
        @ 11,12 prompt [5.จัดเรียงตามเงินเดือนน้อยไปมาก  ]
        @ 12,12 prompt [6.exit                           ]
        menu to opt
        do case
        case opt=1; do sort11
        case opt=2; do sort12
        case opt=3; do sort13
        case opt=4; do sort14
        case opt=5; do sort15
        case opt=6; return
        endcase
        enddo
       enddo
//==========================จัดเรียงแฟ้มสินค้าตามรหัส
procedure aa
set color to w/b+
use product
sort on idpro to tmp2
use tmp2;copy to product;close
//ตัวเลือกที่ 1
procedure sort11
do aa
use product
browse(5,5,22,75)
pack
return
close all
cls
//==============================
procedure bb
set color to w/b+
use supplier
sort on id to tmp1
use tmp1;copy to supplier;close
//ตัวเลือกที่ 2
procedure sort12
do bb
use supplier
browse(5,5,22,75)
pack
return
close all
cls

//==========================จัดเรียงแฟ้มลูกค้าตามรหัส
procedure cc
set color to w/b+
use customer
sort on idcu to tmp3
use tmp3;copy to customer;close
//ตัวเลือกที่ 3
procedure sort13
do cc
use customer
browse(5,5,22,75)
pack
return
close all
cls
//=========================จัดเรียงแฟ้มลูกค้าตามรหัส
procedure dd
cls
use supplier
sort on val(salary)/d to tmp4
use tmp4;copy to seller;close
//ตังเลือกที่ 4
procedure sort14
do dd
use supplier
browse(5,5,22,75)
pack
return
close all
cls
//==========================
procedure pp
cls
use supplier
sort on salary/a to tmp5
use tmp5;copy to seller;close
//ตัวเลือกที่ 5
procedure sort15
do pp
use suplier
browse(5,5,22,75)
pack
return
restore screen from scr1
close all
//=======================
1