ทำไมถ้าไม่ แก้ไข field จึงไม่สามารถ save ได้



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

31 ส.ค. 62 , 14:51:24
อ่าน 375 ครั้ง

pim

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

  • ขอบคุณ ไท.Access

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



จากภาพ ตั้งให้ ทั้ง 2 field มีค่าเริ่มต้น
เมื่อเวลาคีย์ข้อมูล ถ้าเราไม่มีการแก้ไขอะไรเลยใน 2 field นี้ จะไม่สามารถ บันทึก main form ได้
แต่ถ้าแก้ไข หรือ คีย์ข้อมูลที่แสดงลงไปใหม่ก็ได้ จะสามารถบันทึกได้
(ประมาณว่าขอให้กดคีย์บอร์ด สักหน่อย ก็ save ได้)

ขอคำชี้แนะด้วยค่ะ ขอบคุณค่ะ

 

31 ส.ค. 62 , 22:07:21
ตอบกลับ #1

สันติสุข

: ทำไมถ้าไม่ แก้ไข field จึงไม่สามารถ save ได้
« ตอบกลับ #1 เมื่อ: 31 ส.ค. 62 , 22:07:21 »
ค่า Default Value เป็นแค่การแสดงลงหน้าฟอร์มสำหรับเรคอร์ดใหม่ ไม่ได้ถือเป็นการป้อนเข้าไปในฟิลด์ที่สัมพันธ์กับคอนโทรลนั้นๆ ยกเว้นมีการทำอะไร เช่น ป้อน/แก้ไขตัวอักษรอะไรในคอนโทรลของฟิลด์จากเทเบิลอย่างที่คุณได้ค้นพบ ถึงจะเหมือนมีการป้อนค่า Default Value จริงๆ แต่ปกติไม่น่าจะเกิดปัญหานี้ เป็นไปได้หรือที่ระบบจะมีเรคอร์ดใหม่ซ้ำกันทุกฟิลด์กับเรคอร์ดเก่า เพราะใช้แต่ค่าจาก Default Value เพียงอย่างเดียว
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: pim

02 ก.ย. 62 , 08:23:21
ตอบกลับ #2

PNR

: ทำไมถ้าไม่ แก้ไข field จึงไม่สามารถ save ได้
« ตอบกลับ #2 เมื่อ: 02 ก.ย. 62 , 08:23:21 »
สมมุติว่ามันไม่ยอมเซฟให้เรา ๆ ก็โกงๆมันหน่อยแบบนี้เลยครับ สมมุติ text1 , text2 เป็น default Value

คำสั่งที่ปุ่มเซฟ
Private Sub Save_Click()
If Me.NewRecord Then
Me.Text1 = Me.Text1
Me.Text2 = Me.Text2
DoCmd.RunCommand acCmdSaveRecord
End If
End Sub
เรียนเพื่อนสมาชิกและอาจารย์ทุกท่าน
ผมไม่ใช่อาจารย์และไม่ใช่ผู้ที่แตกฉานใน Access นะครับ
แค่ผู้หนึ่งที่แชร์ความรู้เท่าที่มี ถ้าหากอาจารย์ทุกท่านเห็นว่ายังไม่ถูกต้อง
กรุณาโพสตอบกระทู้ส่วนเนื้อหาที่น่าจะถูกต้องกว่าให้ด้วยเพื่อเป็นวิทยาทาน
 
โพสต์นี้ได้รับคำขอบคุณจาก: pim

02 ก.ย. 62 , 11:01:21
ตอบกลับ #3

pim

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

  • ขอบคุณ ไท.Access

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

: ทำไมถ้าไม่ แก้ไข field จึงไม่สามารถ save ได้
« ตอบกลับ #3 เมื่อ: 02 ก.ย. 62 , 11:01:21 »
ค่า Default Value เป็นแค่การแสดงลงหน้าฟอร์มสำหรับเรคอร์ดใหม่ ไม่ได้ถือเป็นการป้อนเข้าไปในฟิลด์ที่สัมพันธ์กับคอนโทรลนั้นๆ ยกเว้นมีการทำอะไร เช่น ป้อน/แก้ไขตัวอักษรอะไรในคอนโทรลของฟิลด์จากเทเบิลอย่างที่คุณได้ค้นพบ ถึงจะเหมือนมีการป้อนค่า Default Value จริงๆ แต่ปกติไม่น่าจะเกิดปัญหานี้ เป็นไปได้หรือที่ระบบจะมีเรคอร์ดใหม่ซ้ำกันทุกฟิลด์กับเรคอร์ดเก่า เพราะใช้แต่ค่าจาก Default Value เพียงอย่างเดียว

ขอบคุณสำหรับคำตอบนะคะ เห็นภาพชัดเจนค่ะ
ดิฉันกำหนด ค่าเริ่มต้นของ GLNo เป็น =Left(Last([GLNo]),6) & Format((Right(Last([GLNo]),3)+1),"000") เพื่อ run เลขไปเรื่อยๆ ค่ะ

สมมุติว่ามันไม่ยอมเซฟให้เรา ๆ ก็โกงๆมันหน่อยแบบนี้เลยครับ สมมุติ text1 , text2 เป็น default Value

คำสั่งที่ปุ่มเซฟ
Private Sub Save_Click()
If Me.NewRecord Then
Me.Text1 = Me.Text1
Me.Text2 = Me.Text2
DoCmd.RunCommand acCmdSaveRecord
End If
End Sub


ลองทำแล้ว ใช้ได้ค่ะ ขอบคุณนะคะ

 


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