กระทู้เก่าบอร์ด อ.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
2 @R04255
คุณผู้อยากรุ้ต้องเข้าใจเรื่อง AutoNumber ครับ มันจะนับไปเรื่อย ๆ แม้ว่าจะลบรายการใด ๆ ออกไป รายการล่าสุดจะเพิ่มขึ้นตาม record ที่ได้มีการเพิ่มไป ไม่สนใจหักลบรายการที่ได้ลบออกไป และตามที่คุณ krathok-man แนะนำถูกต้องแล้วครับ ถ้าจะต้องนำ field ใดเป็น primary key ไม่ควรกำหนด type Autonumber ครับ
ตอนนี้ผมกำลังหาอยู่ว่าจะปรับ field ที่กำหนดเป็น Autonumber ให้นับใหม่อยู่ แต่ยังหาไม่เจอเลย
ตอนนี้ผมกำลังหาอยู่ว่าจะปรับ field ที่กำหนดเป็น Autonumber ให้นับใหม่อยู่ แต่ยังหาไม่เจอเลย
3 @R04260
1) ก็อบปี้ตารางเดิม สร้างตารางใหม่ เอาเฉพาะโครงสร้าง
2) ก็อบปี้ข้อมูลด้วย คิวรี่ Select into จากตารางเดิมเข้าสู่ตารางใหม่ (ไม่เอาฟิลด์ auto number)
สองขั้นตอนง่ายๆ ในการรัน autonumber ใหม่ (ใช้อุดเลขที่ ที่หายไปได้คร?บ)
2) ก็อบปี้ข้อมูลด้วย คิวรี่ Select into จากตารางเดิมเข้าสู่ตารางใหม่ (ไม่เอาฟิลด์ auto number)
สองขั้นตอนง่ายๆ ในการรัน autonumber ใหม่ (ใช้อุดเลขที่ ที่หายไปได้คร?บ)
4 @R06982
การก็อบปี้ข้อมูลด้วย คิวรี่ Select into จากตารางเดิมเข้าสู่ตารางใหม่ ทำอย่างไรค่ะ พึ่งจะหัดทำค่ะ ไม่เอาฟิลด์ auto number ต้องทำยังงัยค่ะ
5 @R06986
สมมติว่าคุณมีตารางเก่า ชื่อ table1 ที่มีข้อมูลเก่าและเลขที่อัตโนมัติ
เมื่อคัดลอกโครงสร้าง ไปสร้างตารางใหม่ ให้ชื่อว่า table2 แล้ว
- ไปสร้างคิวรี่ใหม่ 1 อัน
- มันจะให้เลือกตาราง ให้เราเลือกตาราง table1 มาวาง
- ต่อไปให้เลือกฟิลด์ลากมาวางในช่องชื่อฟิลด์ ให้เลือกทุกๆ ฟิลด์ ยกเว้นฟิลด์ที่เป็นเลขอัตโนมัติ
- ต่อไปให้เปลี่ยนชนิดแบบสอบถามเป็น insert into โดยไปที่เมนู แบบสอบถาม>แบบสอบถามแบบใช้ผนวกข้อมูล...
- มันจะถามชื่อตารางเป้าหมาย ให้เลือกชื่อตาราง table2
- เสร็จแล้วก็สั่งรันคิวรี่ โดยไปที่เมนูเดิม แบบสอบถาม>เรียกใช้ มันจะทำงานแว๊บนึงหรืออาจจะนานกว่า กรณีมีข้อมูลเยอะ
- เรียบร้อยแล้วครับ
- ตาราง table1 (ซึ่งเป็นข้อมูลต้นฉบับ) สามารถลบทิ้งได้
- คิวรี่ตัวที่เพิ่งสร้างขึ้น ก็สามารถลบทิ้งได้ ใช้ครั้งเดียวครับ
- ผลสำเร็จจะดูได้จากตาราง table2
เมื่อคัดลอกโครงสร้าง ไปสร้างตารางใหม่ ให้ชื่อว่า 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 ค่ะ
ให้ข้อมูลที่ถูกลบไปแล้วหาย ไปโดยที่ไม่ได้จองเนื้อที่ใน database ไว้ค่ะ มีผลทำให้
autonumber ที่ถูกลบไปแล้วหายไปด้วยค่ะ
เช่น ตัวอย่างเพิ่มข้อมูลเป็นข้อมูลที่ 15 และลบไป 1 ข้อมูล ให้ compact data base หลังจากนั้นเพิ่มอีก 1 ก็จะเป็น 15 ค่ะ
Time: 0.3620s
เคยได้ความรู้จากท่านอาจารย์ว่า การตั้ง Primary Key เป็น Autonumber
จะมีปัญหาประเภทนี้เยอะ ดังนั้นการตั้ง primary key เป็น Autonumberในคนที่Advance เขาไม่นิยมใช้กัน (ผมคิดเอาเองนะครับ)