ฉันไม่จำเป็นต้องรีเซ็ตค่า AutoNumber เหมือนคำถามนี้แต่ต้องการตั้งค่าหมายเลขเป็น:
1001
ซึ่งเพิ่มขึ้นเช่นปกติ:
1001
1002
1003
...
ฉันจะทำสิ่งนี้ใน Access 2010 ได้อย่างไร
ฉันไม่จำเป็นต้องรีเซ็ตค่า AutoNumber เหมือนคำถามนี้แต่ต้องการตั้งค่าหมายเลขเป็น:
1001
ซึ่งเพิ่มขึ้นเช่นปกติ:
1001
1002
1003
...
ฉันจะทำสิ่งนี้ใน Access 2010 ได้อย่างไร
คำตอบ:
แม้ว่า Access ไม่ได้เสนอฟังก์ชั่นนี้ แต่สามารถทำได้ผ่านแบบสอบถามเช่นต่อไปนี้:
CREATE TABLE TableThatIncrements
(
Id AUTOINCREMENT(1001,1)
)
สิ่งนี้จะสร้างตารางเดียวที่เรียกว่า "TableThatIncrements" ด้วยคอลัมน์เดียวชื่อ "Id" ตอนนี้คุณสามารถใช้ตัวแก้ไขตารางเพื่อเพิ่มคุณสมบัติและ / หรือคอลัมน์อื่น ๆ
เปลี่ยนแปลง
AUTOINCREMENT(x,y)
เพื่อให้เหมาะกับความต้องการของคุณซึ่งx
เป็นหมายเลขที่เพิ่มขึ้นครั้งแรกและy
เป็นจำนวนที่จะเพิ่มขึ้นด้วย ดังนั้นAUTOINCREMENT(100,5)
จะให้ผลตอบแทน: 100, 105, 110, 115, ฯลฯ
หากคุณต้องการแก้ไขตารางที่มีอยู่ให้ใช้แบบสอบถามต่อไปนี้ ตรวจสอบให้แน่ใจว่าแท็บของตารางเฉพาะถูกปิดเพื่อให้ Access สามารถล็อคและปรับเปลี่ยนได้
ALTER TABLE TableThatIncrements
ALTER COLUMN Id AUTOINCREMENT(1001,1)
คุณสามารถเรียกใช้แบบสอบถามใน Access ได้โดยทำสิ่งต่อไปนี้
ไปที่แท็บ "สร้าง" และคลิก "ออกแบบแบบสอบถาม"
เพียงแค่ปิดหน้าต่างที่ปรากฏขึ้นซึ่งขอให้คุณเลือกตารางเราไม่ต้องการมัน
ไปที่แท็บ "ออกแบบ" และคลิกปุ่มพร้อมลูกศรจนกว่าคุณจะได้รับหน้าจอป้อนข้อความ (โดยค่าเริ่มต้นมันบอกว่าSELECT;
)
ลบข้อความเริ่มต้นและวางแบบสอบถามด้านบน
คลิก "Run"
1- สร้าง table1 2- ไปเพื่อสร้าง -------> แบบสอบถามการออกแบบ 3- ปิดตาราง 4- ไปที่ SQl จากด้านบน 5 - วางรหัสนี้
แก้ไขตาราง [ตาราง 1] แก้ไขคอลัมน์ [Id] COUNTER (8982,1)
เว็บไซต์นี้มีวิธีที่ง่ายมากในการเริ่มต้นหมายเลขอัตโนมัติของคุณด้วยหมายเลขที่คุณต้องการ: http://www.fmsinc.com/microsoftaccess/AutoNumber%20Field/Creating.asp
คุณสร้างแบบสอบถามด้วยนิพจน์ที่บอกให้เขตข้อมูลอัตโนมัติเพื่อเปลี่ยน
"ก่อนอื่นให้เรียกใช้คิวรีนี้:
INSERT INTO tblName (ID) เลือก 999 AS Expr1
โดยที่ tblName เป็นชื่อตารางและ ID คือชื่อของฟิลด์ AutoNumber
จากนั้นเรียกใช้แบบสอบถามที่สองเพื่อลบแถวที่คุณแทรก:
ลบจาก tblName WHERE ID = 999;
(หรือมิฉะนั้นคุณสามารถเปิดตารางและลบแถวที่คุณแทรกด้วยตนเองได้)
ตอนนี้ระเบียนถัดไปที่เพิ่มลงในตารางจะถูกกำหนดค่า 1,000
วิธีนี้ใช้ได้กับตารางใหม่หรือกับตารางที่ AutoNumber ยังไม่ถึงค่า Seed (แน่นอนว่าฟิลด์ ID สำหรับแถวที่มีอยู่จะไม่เปลี่ยนแปลง แต่แถวถัดไปจะเริ่มต้นด้วย 1,000) "
คุณต้องหลอกลวง Access เพราะถือว่าคุณไม่สนใจ autonumber ที่แตกต่างจากที่ให้ไว้
คุณจะต้องเริ่มต้นตารางด้วย autonumber แบบกำหนดเองซึ่งจะต้องมีการตั้งค่าบางอย่าง แต่เมื่อมันไปคุณก็สามารถเพิ่มได้จากตรงนั้น
Google "เปลี่ยนการเข้าถึงอัตโนมัติเริ่มต้น" และคุณจะพบตัวเลือกมากมายสำหรับการทำเช่นนี้ ส่วนใหญ่ใช้การสร้างแบบสอบถามแบบใช้ผนวกข้อมูลเพื่อปรับเปลี่ยนเขตข้อมูล
สร้างตารางแรกที่มีฟิลด์ประเภทตัวนับที่คุณต้องการเริ่มหมายเลขอื่น อย่าป้อนระเบียนใด ๆ สร้างตารางที่สองด้วยฟิลด์ประเภทตัวเลขจำนวนเต็มเดียวที่มีชื่อเหมือนกับเขตข้อมูลตัวนับในตารางแรก สร้างเรกคอร์ดในตารางที่สองโดยป้อนหมายเลขหนึ่งน้อยกว่าหมายเลขที่คุณต้องการเริ่มการนับที่ในตารางแรก สร้างแบบสอบถามแบบใช้ผนวกข้อมูลเพื่อเพิ่มระเบียนหนึ่งระเบียนในตารางที่สองลงในตารางแรกแล้วเรียกใช้ลบตารางที่สองลบระเบียนที่คุณผนวกเข้ากับตารางแรกและเริ่มป้อนข้อมูล
จาก MVPS.org: http://access.mvps.org/access/tables/tbl0005.htm
หากคุณไม่ต้องการสร้างคิวรีแบบใช้ผนวกข้อมูลคุณสามารถตั้งค่าตารางและคัดลอกและวางข้อมูลดัมมี 1,000 บรรทัดจาก excel ลบระเบียนจนกว่าคุณจะไปที่หมายเลข 1001 และไปที่นั่น
UPDATE: การเพิ่มคำอธิบายด้วยเหตุผล
เหตุผลหลัง autonumber ที่ถูกตั้งค่าให้เริ่มต้นจาก 1 คือฟิลด์ autonumber นั้นมีไว้เพื่อใช้เป็นเขตข้อมูลอ้างอิงภายในและในทางปฏิบัติฐานข้อมูลที่ดีไม่ควรใช้ในรูปแบบสาธารณะใด ๆ มันถูกใช้ในกรณีที่ไม่มีรายการที่ไม่ซ้ำในตารางที่กำหนดเพื่อสร้างรายการที่ไม่ซ้ำซึ่งตารางสามารถค้นหาและจัดทำดัชนีได้
นี่เป็นหัวข้อเก่าที่สวย แต่ยังปรากฏเป็นผลการค้นหาของ Google สามอันดับแรก
เหตุผลหนึ่งที่ผู้ใช้อาจต้องการเปลี่ยนค่าของเขตข้อมูลอัตโนมัติเพื่อแก้ไขข้อผิดพลาดที่เกิดจากการแก้ไขฐานข้อมูล เมื่อผู้ดูแลระบบอาจต้องการทำการเปลี่ยนแปลงที่สำคัญบางอย่างกับส่วนหน้าของฐานข้อมูลนั้นผู้ดูแลระบบอาจทำสำเนาของตารางที่เกี่ยวข้องทั้งหมดและเปลี่ยนเส้นทางสำเนาการพัฒนาของส่วนหน้าไปยังส่วนหลังเหล่านี้ หากการเปลี่ยนแปลงนั้นเพียงพอแล้วเขาอาจจะแทนที่สำเนาการผลิตของส่วนหน้าด้วยสำเนาของเขาโดยเปลี่ยนเส้นทางตารางที่เชื่อมโยงทั้งหมดหลังจากการทดสอบ
ไม่มีปัญหาใช่มั้ย การเพิ่มจำนวนอัตโนมัติจะยังคงอยู่ที่ส่วนหน้า ดังนั้นหากฝ่ายผลิตเพิ่งเพิ่มหมายเลขอัตโนมัติโดย 50 หรือ 500 หรือ 5,000 หมายเลขในขณะที่ผู้ดูแลระบบกำลังทำงานอยู่ในการคัดลอกสำเนาการผลิตใหม่จะดำเนินการโดยพยายามหมายเลขเดียวกันซ้ำอีกครั้งและจะไม่สามารถป้อนรายการลงในฟิลด์เหล่านั้นได้ ในแต่ละครั้งจนกว่าจะได้รับ "ชัดเจน" คัดลอกข้อมูล excel 50, 500 หรือ 5000 แถวและพยายามวางลงมันจะเกิดข้อผิดพลาดในแต่ละบรรทัด (โปรดแน่ใจว่าได้ระงับข้อความเพิ่มเติมเมื่อมันปรากฏขึ้น) แต่ autonumber จะเพิ่มขึ้นตามจำนวนที่คุณได้รับ ไปอีกครั้ง หากคุณใช้ระบบอัตโนมัติในวิธีนี้ขอแนะนำให้เพิ่มตัวเลขให้กับสิ่งที่ฐานข้อมูลการผลิตอยู่ก่อนที่จะเขียนทับมันด้วยสำเนาการพัฒนาของคุณ
นี่เป็นวิธีเริ่มต้นหมายเลขอัตโนมัติของคุณในบางสิ่งที่สูงกว่า 1 เช่นเดียวกับวันเก่าของการตั้งค่าการเยี่ยมชมหน้าเคาน์เตอร์ที่ 17,479 ในโฮมเพจ Geocities ของคุณเมื่อมีการเยี่ยมชมเพียง 16 ครั้งเท่านั้น โดยคุณ.
วิธีง่ายๆในการบรรลุสิ่งที่คล้ายกันคือมีเขตข้อมูล Autonumber (เช่น "ID") และเขตข้อมูลจากการคำนวณที่สอง (เช่น "ItemID") และป้อนสูตร "1000+ [ID]" สำหรับเขตข้อมูลจากการคำนวณ ฟิลด์ใหม่นี้จะติดตามฟิลด์ Autonumber โดยอัตโนมัติ แต่จะเริ่มจาก 1001 แทน 1
ฉันเชื่อว่ามันสามารถบรรลุช่วงการเพิ่มขึ้นที่กำหนดเองของคุณโดยการสร้างตารางที่ซ่อนอยู่ซึ่งจะทำให้ช่องว่างเริ่มต้นของการเพิ่มอัตโนมัติเริ่มจากศูนย์ถึงตัวเลือกของคุณเช่น ตารางนั้นจะเก็บ 0 ถึง 1050 จากนั้นคุณเริ่มต้นที่เพิ่มขึ้น 1055, 1060, 1065 ฯลฯ จากนั้นคุณจะซ่อนข้อมูลส่วนนี้จากตาราง หวังว่านี่จะช่วยได้ ดูเหมือนว่า Access ถูกออกแบบมาให้เริ่มต้นจากศูนย์เนื่องจากความขัดแย้งจะเกิดขึ้น