การย้ายข้อมูลบางส่วนค่ะ
กระทู้เก่าบอร์ด อ.Yeadram

 1,256   1
URL.หัวข้อ / URL
การย้ายข้อมูลบางส่วนค่ะ

มีข้อสอบถามในการย้ายข้อมูล ดังนี้ค่ะ

     ชื่อ          เลขที่          แผนก     เงินเดือน
นาย ก              1             บุคคล      20,000
                      2             การเงิน    18,000
นาย ข              3             บุคคล     19,000
                      4             บัญชี       20,000
นาย ค             5              พัสดุ       18,000

หาก นาย ก ขอย้ายมาอยู่ เลขที่ 4 แผนกบัญชี
จึงต้องทำการย้ายชื่อ และ เงินเดือนของนาย ก
โดย คง เลขที่ และเงินเดือน ของเลขที่ 1 ไว้ ให้เป็นตำแหน่งว่างเหมือนเลขที่ 2
ต้องใช้ปุ่มอะไร หรือ คำสั่งอะไรบนฟอร์ม คะ


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

1 @R15177
การออกแบบต้อง ให้แม่นยำ ต้องมีระบบ index หรือ primary key นะครับ
ไม่งั้น การใช้คำสั่ง อาจจะทำให้ข้อมูลผิดพลาดเละตุ้มเป๊ะ

จากตัวอย่างที่ให้มา ผมเดาว่า ฟิลด์ที่ชื่อ เลขที่ น่าจะเป็นฟิลด์ที่ไม่มีการเก็บค่าซ้ำ ดังนั้นผมว่าน่าจะใช้ประโยชน์จากมันได้ (ถ้าฟิลด์นี้เป็น Primary ก็โอเคหายห่วง แต่ถ้าไม่ ก็ต้องแน่ใจนะว่ามันไม่มีการเก็บค่าซ้ำ)

การทำงานน่าจะใช้การฝังคำสั่งในปุ่มคำสั่ง (สร้างปุ่มเอง เขียนคำสั่งเอง)
ซึ่งก็คือคำสั่ง
1) เก็บข้อมูลชื่อ (ที่ต้องการย้าย) เอามาไว้ในตัวแปร
2) สั่งรัน SQL
คำสั่ง SQL ดังกล่าว ก็คือ การสั่ง Update ข้อมูล ซึ่งก็ทำสองครั้ง

2.1) สั่งปรับปรุงข้อมูล ล้างข้อมูล "นาย ก" ออกจากทุกๆ เรคคอร์ด
2.2) สั่งปรับปรุงข้อมูลให้ เรคคอร์ด หมายเลข 4 ให้เอาชื่อเข้าไปใส่


Private sub .
dim tmpNam as string
tmpName = dlookup("[ชื่อ]", "table1", "[เลขที่] = 1")
' หรือถ้าคุณมีข้อมูลชื่ออยู่แล้ว ก็ไม่ต้องไปสนว่า ชื่อนี้จะอยู่ที่เรคคอร์ดไหน
' ดังนั้น ก็ไม่ต้อง Dlookup เลยก็ได้ เช่นใช้ว่า
tmpName = "นาย ก"

docmd.runsql "Update table1 set [ชื่อ] ='' Where [ชื่อ] ='" & tmpName & "'"
docmd.runsql "update table1 set [ชื่อ] = '" & tmpName & "' Where [เลขที่] = 4"

End sub
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2444s