กระทู้เก่าบอร์ด อ.Yeadram
1,315 1
URL.หัวข้อ /
URL
การย้ายข้อมูลบางส่วนค่ะ
มีข้อสอบถามในการย้ายข้อมูล ดังนี้ค่ะ
ชื่อ เลขที่ แผนก เงินเดือน
นาย ก 1 บุคคล 20,000
2 การเงิน 18,000
นาย ข 3 บุคคล 19,000
4 บัญชี 20,000
นาย ค 5 พัสดุ 18,000
หาก นาย ก ขอย้ายมาอยู่ เลขที่ 4 แผนกบัญชี
จึงต้องทำการย้ายชื่อ และ เงินเดือนของนาย ก
โดย คง เลขที่ และเงินเดือน ของเลขที่ 1 ไว้ ให้เป็นตำแหน่งว่างเหมือนเลขที่ 2
ต้องใช้ปุ่มอะไร หรือ คำสั่งอะไรบนฟอร์ม คะ
ชื่อ เลขที่ แผนก เงินเดือน
นาย ก 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
Time: 0.3661s
ไม่งั้น การใช้คำสั่ง อาจจะทำให้ข้อมูลผิดพลาดเละตุ้มเป๊ะ
จากตัวอย่างที่ให้มา ผมเดาว่า ฟิลด์ที่ชื่อ เลขที่ น่าจะเป็นฟิลด์ที่ไม่มีการเก็บค่าซ้ำ ดังนั้นผมว่าน่าจะใช้ประโยชน์จากมันได้ (ถ้าฟิลด์นี้เป็น 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