คำสั่ง Update ทำงานช้า



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

20 ม.ค. 61 , 14:20:57
อ่าน 699 ครั้ง

newbie

  • สมาชิกไท.Access
  • กระทู้: 4

  • Thank You ไท.Access

    • ดูรายละเอียด

คำสั่ง Update ทำงานช้า
« เมื่อ: 20 ม.ค. 61 , 14:20:57 »
สร้างคำสั่ง query ขึ้นมา โดยฝังไว้ในปุ่ม Update โดยแสดงค่าที่update  ใน textbox  บนForm
เมื่อคลิปปุ่มดู พบว่า กว่าค่าใน Textbox บนForm จะ Update จะใช้เวลาประมาณ 1 นาทีค่ะ

ไม่ทราบว่าสามารถเข้าไปแก้ไขได้ตรงไหนบ้างคะ
ขอบพระคุณค่ะ

« แก้ไขครั้งสุดท้าย: 20 ม.ค. 61 , 14:46:16 โดย newbie »

 

20 ม.ค. 61 , 14:58:57
ตอบกลับ #1

pizza_p

> คำสั่ง Update ทำงานช้า
« ตอบกลับ #1 เมื่อ: 20 ม.ค. 61 , 14:58:57 »
ต้องดูว่า query ด้วยคำสั่งอะไร จำนวนข้อมูลที่ query มากแค่ไหน และการแสดงค่าที่ update ใน textbox ใช้วิธีไหน

 

20 ม.ค. 61 , 15:23:25
ตอบกลับ #2

newbie

  • สมาชิกไท.Access
  • กระทู้: 4

  • Thank You ไท.Access

    • ดูรายละเอียด

> คำสั่ง Update ทำงานช้า
« ตอบกลับ #2 เมื่อ: 20 ม.ค. 61 , 15:23:25 »
1.query ด้วยคำสั่ง Update ค่ะ
ต้องการ update ข้อมูลใน feild InkQty ในตาราง T_InkInfo  โดยคำนวณจาก 2 ตารางค่ะ
คือ T_InkInfo กับ T_OrderDetail คำสั่ง query ดังนี้

UPDATE T_InkInfo INNER JOIN T_OrderDetail ON T_InkInfo.InkId = T_OrderDetail.OrderInkId
SET T_InkInfo.InkQty = [T_InkInfo].[InkQty]-[T_OrderDetail].[OrderQty]
WHERE (((T_OrderDetail.OrderNo)=[Forms]![F_HeadOrder]![OrderNo]));

2.จำนวนข้อมูลที่ query
 T_InkInfo มี 54 rows ค่ะ , T_Orderdetail มี 56 rows
(ไม่ทราบว่าจะใช่ คำตอบที่หมายถึงหรือเปล่านะคะ เพิ่งเริ่มศึกษาค่ะ)

3.แสดงค่าที่ Update ที่ textbox ด้วยวิธี
สร้าง control มาจาก feild InkQty ค่ะ โดยที่ textbox วางอยู่ใน subForm อีกทีนึง


 

20 ม.ค. 61 , 16:51:55
ตอบกลับ #3

pizza_p

> คำสั่ง Update ทำงานช้า
« ตอบกลับ #3 เมื่อ: 20 ม.ค. 61 , 16:51:55 »
ปกติเวลาจะบังคับให้ form แสดงค่าปัจจุบันจากในตารางให้ใช้ method Refresh ครับ เช่น Me.Refresh หรือ Me.ชื่อsubform.Form.Refresh ครับ ให้เอาไปใส่หลังจากคำสั่ง Update ดูครับ

 

20 ม.ค. 61 , 23:02:18
ตอบกลับ #4

newbie

  • สมาชิกไท.Access
  • กระทู้: 4

  • Thank You ไท.Access

    • ดูรายละเอียด

> คำสั่ง Update ทำงานช้า
« ตอบกลับ #4 เมื่อ: 20 ม.ค. 61 , 23:02:18 »
ขอบคุณค่ะ แต่ว่าใช้ Method refresh ไม่ได้ มันฟ้อง error อาจจะเป็นเพราะว่าสร้างคำสั่ง Update table โดยใช้ query design  ไม่ได้เขียนใน Code Builder ถ้าต้องการจะเขียนคำสั่ง Update ข้อมูลในปุ่มที่ต้องการใน Code Builder ต้องทำอย่างไรบ้างคะ (ขอตัวอย่างคร่าวๆก็ได้ค่ะ) กำลังศึกษาฝึกทำ ขอบคุณค่ะ

ข้อมูลมี 2 ตาราง

T_InkInfo มี feild InkQty
T_OrderQty มี field OrderQty
ต้องการให้ InkQty-OrderQty แล้ว Update ข้อมูลใน T_InkInfo feild InkQty โดยแสดงผลใน Control Textbox InkQty บน subform


 

20 ม.ค. 61 , 23:19:45
ตอบกลับ #5

pizza_p

> คำสั่ง Update ทำงานช้า
« ตอบกลับ #5 เมื่อ: 20 ม.ค. 61 , 23:19:45 »
มันไม่เกี่ยวว่า Query สร้างจาก design หรือจาก code builder ครับ เพราะมันรันแบบ SQL เหมือนกัน ลองแก้ error จากการใช้ Refresh ให้ได้ก่อนครับว่าเขียนผิดถูกอย่างไร

ปล.บางทีการออกแบบตาราง ฟอร์ม หรือ subform ไม่ถูกต้องก็อาจจะเป็นปัญหาได้ครับ

 

30 ม.ค. 61 , 11:29:48
ตอบกลับ #6

newbie

  • สมาชิกไท.Access
  • กระทู้: 4

  • Thank You ไท.Access

    • ดูรายละเอียด

> คำสั่ง Update ทำงานช้า
« ตอบกลับ #6 เมื่อ: 30 ม.ค. 61 , 11:29:48 »
ขอบคุณมากๆสำหรับคำแนะนำค่ะ :)

 


บอร์ดเรียนรู้ Access สำหรับคนไทย