ให้คลิก record ในตารางหนึ่ง ไปปรากฏอีกตารางหนึ่ง
กระทู้เก่าบอร์ด อ.Yeadram

 2,531   6
URL.หัวข้อ / URL
ให้คลิก record ในตารางหนึ่ง ไปปรากฏอีกตารางหนึ่ง

ขอความรู้หน่อยคร?บ คือทำนองว่ามี 2 ตาราง ตารางที่ 1 จะโชว์ บิลที่ค้างชำระ แล้วเราเลือกชำระบิลไหน ก็ให้คลิก record bill นั้น และrecord bill ที่ถูกเลือก ไปอยู่อีกตาราง
   ท่านผู้ใดพอจะตัวอย่างทำนองนี้ไหมครับ   

6 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R01327
UDDATE QUERY จะเป็นคำตอบครับ ร่วมกับ EVENT ที่คุณกำหนด
และอาจต้องใช้ SELECT QUERY ก่อนเพื่อให้ได้ RECORD ที่คุณว่า

เขียนเป็นชุด RUN QUERY ต่อกัน

ตอบสั้นหน่อยครับ วันนี้ไม่ค่อยสบาย
2 @R01331
งง จริงครับ ผมจะรอท่านหายป่วย
3 @R01332
ขออภัย แก้จาก UPDATE QUERY เป็น APPEND QUREY
เนื่องจากผมเขียน CODE ไม่เก่ง แต่ขออธิบายโดยใช้ QUERY ดังนี้

1.ใช้ SELECT QUERY ก่อน ถ้าเลขบิล เป็นแบบ CONTINUE FORM
การที่จะรู้ว่าเลือก เลขบิลไหน QUERY นั้นจะต้อง อ้างมาที่ FORM
นั้นด้วย เช่น =[FORM]![BILL].[ID] (id เป็น primary key)
ถ้าคุณ RUN FORM ขึ่นมาแล้วลองเลือกดู ขณะเดียวกัน ก็ลอง RUN QUERY
ดู ถ้ามันถูก QUERY จะต้องได้ RECORDSET เช่น เดียวกับ FORM ที่เลือก
เมื่อ FORM เปลี่ยนตัวเลือก(ID) ลอง RUN QUERY ดู มันจะเปลี่ยนตามกัน

2.เอา QUERY จาก 1 ไป ทำ APPEND QUERY เพื่อให้ ไปต่อข้อมูลเข้าอีกตาราง ขั้นตอนไม่ขออธิบาย ต้องเล่นดูก่อนแล้วจะเข้าใจ ที่แน่นอนคือ
TABLE ปลายทางต้องมี FIELD ที่รองรับข้อมูลที่จะใส่ จะใส่อะไรบ้าง
ก็เอามาจากข้อ 1

3.ผูก EVENT เข้ากับ FORM
กำหนดให้ RUN QUERY 2
ส่วน EVENT จะเกิดตอนไหน ก็แล้วแต่คุณจะกำหนดครับ
แต่ถ้าเป็นผม จะผูกเข้ากับ COMMAND BOTTON ซักต้ว
เมื่อ CLINK แล้วจึงค่อย APPEND QUERY
4 @R01333
ตารางเอกสารขาย tbInvMain
- invNO          text
- invDate        date/time
- invAmount    double
- invPerson     text

ตารางใบวางบิล tbBillMain
- BilNo
- BilDate
- BilPerson
- BilFlagPay

ตารางรายละเอียดใบวางบิล tbBillSub
- BilNo
- invNo

ฟอร์มออกเอกสารใบวางบิล
- txtBillNo   textbox   unbound
- txtBillDate   textbox unbound
- cbPerson    combobox unbound
- lbPerson     Label
- lstInv           Listbox   unbound
- lstBill           Listbox   unbound
- txtAmount    txtbox    unbound
- cmdBill        command button
- cmdSave     command button

วิธีการ + แนวคิด + ลำดับงาน
1 เปิดฟอร์มออกเอกสารใบวางบิล
2 กรอกเลขที่ใบวางบิล (หรือจะเพิ่มระบบรันเลขที่อัตโนมัติเข้าช่วยก็ได้ .. ขอละไว้)
3 กรอกวันที่ "ออกใบวางบิล" (อาจใช้คอนโทรลปฎิทินเข้าช่วย เพื่อป้องกันการกรอกผิดรูปแบบ)
4 เลือกลูกค้า จากคอมโบ จะให้เกิดเหตุการณ์ ...
      - ที่คอมโบจะแสดงผลเป็นรหัสลูกค้า
      - ที่ lbPerson จะแสดงชื่อลูกค้า
      - ที่ lstInv จะแสดงเลขที่เอกสารขาย ทั้งหมด ของ ลูกค้าคนนี้ ที่ยังไม่ได้วางบิล
5 เลือกเลขที่บิลที่ต้องการจะวางบิล จาก ลิสต์เอกสารขาย (lstInv) โดยให้เลือกได้สองแบบ
5.1 การดับเบิ้ลคลิ๊ก ที่เลขที่เอกสารขาย จะเกิดเหตุการณ์
- นำเลขที่บิลขายที่ถูกคลิ๊ก ไปแสดงผลใน ลิสต์บิล (lstBill)
- รวมยอดขาย แล้วแสดงผลในช่องยอดรวมของฟอร์ม ( txtAmount )
5.2 การคลิ๊กเลือกทีละตัว หรือการคลิ๊กเลือกแบบ multi selection
- เลือกจนพอใจ
- กดปุ่ม cmdBill จะเกิดเหตุการณ์
   - 1) นำเลขที่บิลขายทุกเลขที่ ที่ถูกเลือกไปแสดงผลในลิสต์บิล
   - 2) รวมยอดขาย แล้วแสดงผลในช่อง Amount
6 กดปุ่ม cmdSave จะเกิดเหตุการณ์
- สั่งรัน sql เพื่อบันทึก เลขที่ใบวางบิล, วันที่ , รหัสบุคคล เข้าตาราง tbBillMain
- สั่งรัน sql เพื่อบันทึก เลขที่ใบวางบิล, เลขที่เอกสารขาย เข้าตาราง tbBillSub

...จบงาน .............


ลองเอาไปทำตามดูครับ ติดขัดกระบวนงานไหน ถามเพิ่มมาได้ครับ
ได้ประโยชน์หลายฝ่ายครับ
- คนถามได้ลองเองสร้างเอง คล่องขึ้น
- คนอ่านอื่นได้รู้แนวทางการ ออกแบบ การวางลำดับงาน การวางแผน
- คนตอบต่อไปจะได้รู้จุดว่าคุณไปถึงไหนแล้ว ตอบครั้งต่อไปจะเจาะจงได้มากขึ้น
           
5 @R01335
เยี่ยมจริง ๆ
6 @R01547
สุดยอดไปเล้ย
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3159s