ทำอย่างไรให้ข้อมูลที่คำนวนจากฟอร์มเก็บลงตารางครับ
กระทู้เก่าบอร์ด อ.Yeadram

 7,086   19
URL.หัวข้อ / URL
ทำอย่างไรให้ข้อมูลที่คำนวนจากฟอร์มเก็บลงตารางครับ

รบกวนถามครับผมสร้าง ฟอร์มาครับ ช่องแรกให้ผู้ใช้งาน เลือก รหัสสินค้าครับ ส่วนtextbox ช่องที่ 2 ผมใช้ dlookup ดึงข้อมูลมาครับ และแสดงส่วน textbox ช่องที่ 3 และ 4 ผมใช้เขียนสูตรคำนวนครับ และเมือกดบันทึก ขอมูลไม่ได้ลงไปที่ตารางครับ บันทึกแต่ในส่วนของ ช่องแรกที่ให้เลือกรหัสครับ นอกนั้นช่องไหนที่มีการใช้ dlookup หรือ สูตรที่คำนวน ไม่แสดงค่าเข้ามาเลยครับ
รบกวนแนะนำด้วยครับ access 2007 ครับ

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

1 @R11733
จากที่ผ่านมานะคะ จะสร้างตารางให้มี field คำนวณนั้นก่อน เมื่อทำการคำนวณที่ Form ก็ให้ไป Update ลงที่ตารางค่ะ

2 @R11736
คิดว่าผิดตั้งแต่ออกแบบตารางครับ
กรุณาให้ข้อมูลละเอียดกว่านี้ด้วย เพื่อความสบายใจของคนถามและคนอยากตอบ
3 @R11756
สงสัยว่าที่ Control Source ของ text box ข่องที่ 2- 4 ได้กำหนดไว้อย่างไรครับ เพราะปกติถ้าได้กำหนดเป็นฟิวในตารางที่ต้องการจัดเก็บข้อมูลแล้วมันควรจะบันทึกให้เมื่อกดบันทึกครับ
4 @R11773
รบกวนด้วยครับ อันนี้เป็นไฟล์ที่ทำครับ      
anatomy

ส่วนของ form ครับกรอกข้อมูลได้มีข้อมุลมาแสดงแต่ไม่บันทึกที่ ตารางครับ พวกราคา และจำนวนเงินที่คำนวนมา ครับ รบกวนด้วยครับ
5 @R11774
สรุป คือ คุณไม่ได้ผูกรายการ กับ ราคา และ รวมกับ ฟิวในตารางมันก็จะไม่จะเก็บลงตารางให้ครับ วิธีแก้ คือ คุณต้องผูก รายการ ราคาและ รวม กับ ฟิวในตารางที่คุณต้องการเก็บข้อมูล แล้ว เขียนมาโคร ดึงรายการมาแสดงที่รายการ และคำนวนราคา กับผลรวม แทนครับ
6 @R11775
แต่ไม่เข้าใจว่ารายการกับ ราคา และ ผลรวมคุณนำไปเก็บที่ตารางไหนเหรอครับ
7 @R11781
ขอบคุณครับ ผมเก็บในตาราง detail ครับผม หากเปิดดูจะเห็น ส่วนของ code มีครับผม แต่ข้อมูลอื่นที่มาจากการใช้ dlookup ไม่มี่ครับ ขอบคุณครับ
8 @R11837
พอดีผมมีปัญหาเหมือนกันครับ...ต่อจากคำตอบของคุณ Tukk (R11733)...อาจารย์หลาย ๆท่านช่วยด้วย ขอบพระคุณอย่างสูงครับ....คือสร้างตารางเพื่อรองรับข้อมูลไว้แล้ว...แต่ textbox ที่เป็นการคำนวนบนหน้าฟอร์ม จะ Update เข้าลงในตารางอย่างไรครับ....
9 @R11840
Twin คุณไม่เข้าใจAccess ฟิลด์ต่างๆที่สร้างรองรับข้อมูล จะเป็นข้อมูลดิบ ไม่ควรเก็บข้อมูลที่มึผลมาจากการคำนวน มันสามารถเอาข้อมูลดิบมาคำนวนได้ตลอดเวลา ผมอ่านเจอเรื่อยเลยว่ามีการสร้างฟิลด์เก็บยอดคงเหลือลงในตาราง ไม่ถูกต้องนะ (น้องๆทั้งหลาย)
10 @R11843
เออ...คุณ tong เข้าใจครับว่าฟิลด์คำนวน ก็เพิ่มผ่านในคิวรี่ไป...และแสดงออกรายงาน ก็ว่าไป....คำถามว่า "หากวิธีการ/หลักการแล้ว.... access มันจะให้ update เข้าไปอย่างไรครับ"....ขอบคุณครับ
11 @R11845
อีกอย่างหนึ่งครับ....ถ้าหากข้อมูลดิบที่จะต้องมีเป็น 10000-20000 record (แบ่งเป็นแต่ละกลุ่ม ๆ ประเภท ๆ แล้วและให้ฟิลด์คำนวนผ่านคิวรี่น่ะ...เคยลองครับ.....เงียบไปเลยครับ...ไม่รู้ว่า hang หรือเปล่า)......ผมเลยต้องแหวก/ดังแปลงและออกจากหลักการนิดหนึ่งครับ...(หากกล่าวถึงแล้วเรื่องยาวครับ)
12 @R11849
คุณ twin ผมส่งตัวอย่างไปให้คุณ Worawut แล้วถ้าคุณต้องการส่งmailมาที่ aj.tong@hotmail.com
13 @R11850
คุณtwinครับ ผมส่งตัวอย่างไปให้คุณworawut แล้วถ้าคุณต้องการส่งmailมาที่ aj.tong@hotmail.com
14 @R11851
ส่งแล้ว...ขอบคุณครับ
15 @R11858
ผู้ที่สนใจปัญหาของคุณ worawut แต่คงไม่ทราบวิธีแก้ไข หรือข้อผิดพลาดที่คุณ worawut ได้ออกแบบไว้ ควรลอง load file anatomy ที่ post ไว้ไปศึกษานะครับ อยากจะบอกว่า การออกแบบฟอร์มมีผิดหลายที่เช่น
1. ถ้าต้องการทำเห็นหลายๆ record ใน 1 หน้าและไม่จำกัดจำนวน record ก็ควรจะใช้ continuous form ไม่ใช่ single form หรือไม่เช้นนั้นก็ใช้ main & sub form หากต้องการรูปแบบ datasheet
2. control source ของ text box จะต้องเป็นชื่อ field ของตารางที่ผูกอยู่ หากไปใส่ = a*b+c อะไรประมาณนี้ access จะคำนวณให้แต่ไม่รู้จะบันทึกไปที่ field ไหนของตาราง
3. ฟังก์ชั่น Dlookup ถ้าไม่จำเป็นก็อย่าพยายามใช้ แต่ถ้าเครื่องแรงและจำนวน record ไม่มาก ก็แล้วไป ควรใช้วิธี run query จากเหตุการณ์ afterupdate ของ code 1 จะดีกว่ามาก เพราะรวดเร็ว ง่าย และโอกาสผิดพลาดมีน้อย ทั้งขั้นตอนการเขียนหรือปรับปรุงแก้ไขในภายหลัง
แค่นี้ก่อนครับ    
16 @R12483
คุณ Worawut ขอไฟล์ที่คุณ Tong ส่งให้มาศึกษาได้มั้ยครับ
17 @R15879
ติดปัญหาเหมือนกันครับ ฟิวด์ที่คำนวณจากการใช้ textbox ค่าไม่ลงในตาราง ต้องทำไงครับ
18 @R15918
ตอนนี้ผมทำได้แล้วครับ

Private Sub Command70_Click()
DoCmd.SetWarnings False

DoCmd.RunSQL "UPDATE T_quotation Set total= '" & Me.total & "' WHERE Quotation_No = " & Me.Quotation_No

DoCmd.SetWarnings True
End Sub

เผื่อใครติดปัญหาเหมือนผมครับ
19 @R17379

move ชื่อ text box (ตามสูตรที่คำนวณ) ไปที่ชื่อ field ที่สร้างไว้ในตาราง
ก่อน save จ้า ตย.คำสั่งดังนี้

total = text_total
       
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.1744s