ย่นเวลาป้อนข้อมูลที่เหมือน เรคคอร์ดที่แล้ว


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

27 ส.ค. 62 , 10:49:47
อ่าน 1188 ครั้ง

kunlek

บันทึกค่าใช้จ่ายในฟอร์มและ Sub ฟอร์ม คำอธิบายรายละเอียดเหมือนเรคคอร์ด ในช่องที่อยู่ในฟอร์มหลัก ผมได้ใช้ Ctrl+' ก็ใช้ได้  แต่ส่วนที่อยู่ใน Sub Forms ใช้ไม่ได้  ขอคำแนะนำ วิธีแก้ไขจุดนี้ด้วยครับท่านที่ช่วยได้ครับ

« แก้ไขครั้งสุดท้าย: 27 ส.ค. 62 , 11:50:24 โดย thaiaccboard »

 

28 ส.ค. 62 , 17:07:12
ตอบกลับ #1

สันติสุข

Ctrl-' ใช้สำหรับเรคอร์ดในฟอร์มที่อยู่บรรทัดก่อนหน้า  ซับฟอร์มถือว่าเป็นฟอร์มต่างหากอีกฟอร์ม ดังนั้นจึงไม่สามารถก็อปปี้ฟิลด์จากเรคอร์ดของซับฟอร์มภายใต้เรคอร์ดก่อนหน้าของเมนฟอร์มได้ครับ วิธีแก้ทางเดียวคือต้องเขียนโค้ดเพื่อก็อปปี้ครับ
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

31 ส.ค. 62 , 19:40:55
ตอบกลับ #2

kunlek

จะเขียน code ไว้ที่ even ไหนครับ

 

31 ส.ค. 62 , 21:47:16
ตอบกลับ #3

สันติสุข

จะสร้างปุ่มขึ้นมาแล้วใส่โค้ดไว้ใน OnClick event หรือจะดักจับ keyboard shortcut โดยใส่ไว้ใน KeyUp ของฟอร์มตามที่คุณเคยถามก็ได้ https://www.thai-access.com/index.php?topic=735.0
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 

18 ก.ย. 62 , 20:30:46
ตอบกลับ #4

kunlek

ถ้ากด ctrl+' ที่ฟิลด์ จะได้ข้อความเดิมก่อนหน้าที่พิมพ์ไว้ในฟิลด์นั้น  ถ้าจะใช้แบบ เพียง click mouse ข้อความจะปรากฏ แทนกด ctrl +' ได้ไหมครับ เพราะมีหลายฟิลด์มากในฟอร์ม  ถ้าจะให้ดี เรียกข้อมูลเก่าให้โชว์  และแก้แต่ฟิลด์ที่ต้องเปลี่ยน แล้ว save ยิ่งดีมากๆๆครับ

 

19 ก.ย. 62 , 00:37:44
ตอบกลับ #5

สันติสุข

โค้ดตัวอย่างนี้ เป็นการแปะค่าของฟิลด์ต่างๆในบรรทัดที่ต้องการ มาลงเป็นบรรทัดใหม่ในฟอร์ม/ซับฟอร์มเดียวกัน วิธีคือให้สร้าง Command Button เอาไว้ที่ไหนก็ได้สักที่บนบรรทัดของข้อมูล (สมมุติชื่อ btnCopy) เมื่อต้องการก็อปปี้ ก็แค่คลิกที่ปุ่มนี้

Private Sub btnCopy_Click()
    Dim RS As DAO.Recordset
   
    If Me.NewRecord Or Me.Dirty Then Exit Sub ' ถ้าคลิกปุ่มบนบรรทัดของรายการใหม่ หรือ บนบรรทัดที่รายการกำลังแก้ไขอยู่ ก็ไม่ต้องทำอะไร
   
    Set RS = Me.RecordsetClone    ' กำหนดตัวแปรสำหรับอ้างอิงข้อมูลของบรรทัดปัจจุบัน (บรรทัดที่เลือก)
    RS.Bookmark = Me.Bookmark  ' ให้ตัวแปรดังกล่าวชี้ไปเรคอร์ดเดียวกันกับบรรทัดปัจจุบัน
    DoCmd.GoToRecord , , acNewRec   ' กระโดดไปบรรทัดรายการใหม่
    Me("ชื่อคอนโทรลบนฟอร์ม") = RS("ชื่อฟิลด์ของคอนโทรลบนฟอร์ม") ' ต้องการก็อปปี้ฟิลด์อะไรบ้าง ก็เพิ่มบรรทัดตามจำนวนฟิลด์ที่ต้องการต่อลงไปได้เรื่อยๆ
   
    Set RS = Nothing
End Sub
« แก้ไขครั้งสุดท้าย: 19 ก.ย. 62 , 03:04:12 โดย สันติสุข »
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: sjs, nonc31

19 ก.ย. 62 , 20:38:53
ตอบกลับ #6

kunlek

 Me("ชื่อคอนโทรลบนฟอร์ม") = RS("ชื่อฟิลด์ของคอนโทรลบนฟอร์ม")  ถ้าเป็นฟิลด์นี้คือ?

 

19 ก.ย. 62 , 22:32:04
ตอบกลับ #7

สันติสุข

Me("Refer") = RS("Refer")

แต่แนะนำให้เปลี่ยนชื่อเท็กซ์บ็อกซ์บนฟอร์มไปเป็นชื่ออื่นที่แตกต่างจากชื่อฟิลด์ดีกว่า อาจเป็น txtRefer ก็ได้ ก็จะเป็น Me("txtRefer") = RS("Refer")
« แก้ไขครั้งสุดท้าย: 19 ก.ย. 62 , 22:36:01 โดย สันติสุข »
ช่วยพกถุงผ้า/ถุงพลาสติกใช้แล้วไปซื้อของเพื่อลดการใช้พลาสติก ขยะ รักษาสิ่งแวดล้อม และไม่ให้ภาวะโลกร้อนวิกฤติเร็วขึ้นกว่านี้
ช่วยคลิกโฆษณาข้างล่างนี้ เพื่อสนับสนุนเวปบอร์ดด้วยครับ
:nice day:
 
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

22 ก.ย. 62 , 21:02:06
ตอบกลับ #8

kunlek

ขอบคุณครับ อจ.

 


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


 

Sitemap 1 2 3 4 5