ลบ Record แล้ว Autonumber ไม่ลบ
กระทู้เก่าบอร์ด อ.Yeadram

 5,064   7
URL.หัวข้อ / URL
ลบ Record แล้ว Autonumber ไม่ลบ

เวลาเพิ่มข้อมูล 1 Record ตัวเลข Run Auto ก็เพิ่มอีก 1 แต่พอลบ 1 Record แล้วเพิ่มข้อมูล ตัวเลขก็ Run ต่อเนื่องไปอีก เช่นเพิ่มข้อมูลเป็นข้อมูลที่ 15 และลบไป 1 ข้อมูล ก็น่าจะเหลือ 14 และเพิ่มอีก 1 ถึงจะเป็น 15 แต่พอเพิ่มจริงกลับเป็น 16 ต้องแก้ไขอย่างไร

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

1 @R03042
Autonumber มันก็เป็นอย่างนั้นครับ แต่เหตุผลว่าทำไมเป็นอย่างนั้นผมก็ไม่รู้
เคยได้ความรู้จากท่านอาจารย์ว่า การตั้ง Primary Key เป็น Autonumber
จะมีปัญหาประเภทนี้เยอะ ดังนั้นการตั้ง primary key เป็น Autonumberในคนที่Advance เขาไม่นิยมใช้กัน (ผมคิดเอาเองนะครับ)
2 @R04255
คุณผู้อยากรุ้ต้องเข้าใจเรื่อง AutoNumber ครับ มันจะนับไปเรื่อย ๆ แม้ว่าจะลบรายการใด ๆ ออกไป รายการล่าสุดจะเพิ่มขึ้นตาม record ที่ได้มีการเพิ่มไป ไม่สนใจหักลบรายการที่ได้ลบออกไป และตามที่คุณ krathok-man แนะนำถูกต้องแล้วครับ ถ้าจะต้องนำ field ใดเป็น primary key ไม่ควรกำหนด type Autonumber ครับ
ตอนนี้ผมกำลังหาอยู่ว่าจะปรับ field ที่กำหนดเป็น Autonumber ให้นับใหม่อยู่ แต่ยังหาไม่เจอเลย
3 @R04260
1) ก็อบปี้ตารางเดิม สร้างตารางใหม่ เอาเฉพาะโครงสร้าง
2) ก็อบปี้ข้อมูลด้วย คิวรี่ Select into จากตารางเดิมเข้าสู่ตารางใหม่ (ไม่เอาฟิลด์ auto number)

สองขั้นตอนง่ายๆ ในการรัน autonumber ใหม่ (ใช้อุดเลขที่ ที่หายไปได้คร?บ)
4 @R06982
การก็อบปี้ข้อมูลด้วย คิวรี่ Select into จากตารางเดิมเข้าสู่ตารางใหม่ ทำอย่างไรค่ะ พึ่งจะหัดทำค่ะ ไม่เอาฟิลด์ auto number ต้องทำยังงัยค่ะ
5 @R06986
สมมติว่าคุณมีตารางเก่า ชื่อ table1 ที่มีข้อมูลเก่าและเลขที่อัตโนมัติ
เมื่อคัดลอกโครงสร้าง ไปสร้างตารางใหม่ ให้ชื่อว่า table2 แล้ว
- ไปสร้างคิวรี่ใหม่ 1 อัน
- มันจะให้เลือกตาราง ให้เราเลือกตาราง table1 มาวาง
- ต่อไปให้เลือกฟิลด์ลากมาวางในช่องชื่อฟิลด์ ให้เลือกทุกๆ ฟิลด์ ยกเว้นฟิลด์ที่เป็นเลขอัตโนมัติ
- ต่อไปให้เปลี่ยนชนิดแบบสอบถามเป็น insert into โดยไปที่เมนู แบบสอบถาม>แบบสอบถามแบบใช้ผนวกข้อมูล...
- มันจะถามชื่อตารางเป้าหมาย ให้เลือกชื่อตาราง table2
- เสร็จแล้วก็สั่งรันคิวรี่ โดยไปที่เมนูเดิม แบบสอบถาม>เรียกใช้ มันจะทำงานแว๊บนึงหรืออาจจะนานกว่า กรณีมีข้อมูลเยอะ
- เรียบร้อยแล้วครับ
- ตาราง table1 (ซึ่งเป็นข้อมูลต้นฉบับ) สามารถลบทิ้งได้
- คิวรี่ตัวที่เพิ่งสร้างขึ้น ก็สามารถลบทิ้งได้ ใช้ครั้งเดียวครับ
- ผลสำเร็จจะดูได้จากตาราง table2
6 @R07057
ขอบคุณมากค่ะ

ทำได้แล้วค่ะ
7 @R07233
จริง ๆ แล้ว ในเมนูของ access ตรงเมนู tool --> database Utilities --> compact and repair database จะใช้ได้เหมือนกันนะคะ เป็นการ compact data base
ให้ข้อมูลที่ถูกลบไปแล้วหาย ไปโดยที่ไม่ได้จองเนื้อที่ใน database ไว้ค่ะ มีผลทำให้
autonumber ที่ถูกลบไปแล้วหายไปด้วยค่ะ
เช่น ตัวอย่างเพิ่มข้อมูลเป็นข้อมูลที่ 15 และลบไป 1 ข้อมูล ให้ compact data base หลังจากนั้นเพิ่มอีก 1 ก็จะเป็น 15 ค่ะ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3620s