สามารถ Set field Autonumber ได้ไหมครับ
กระทู้เก่าบอร์ด อ.Yeadram

 1,625   3
URL.หัวข้อ / URL
สามารถ Set field Autonumber ได้ไหมครับ

คือพอดีมีความจำเป็นต้องให้ Field ใน Table หนึ่ง ที่เป็น AutoNumber เริ่มค่าด้วยตัวเลขหนึ่งที่เหมาะสม (ไม่ใช่ 1)    เราทำอย่างไรครับ    หรือ สามารถแก้ที่ table Msys* ของ Access ได้ไหมครับ

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

1 @R19354
หมายถึงสมมุติคุณต้องการให้เลข Autonumber เริ่มที่ 500 แทนที่จะเริ่มต้นที่ 1 อะไรอย่างนี้เหรอครับ
หรือไม่ก็เลข Autonumber ตอนนี้รันอยู่ที่ 345 แต่จากนี้อยากให้มันเริ่มต่อที่ 500 อย่างนี้ป่าวครับ ถ้าใช่ลองคำสั่งประมาณนี้ครับ

สมมุติตารางชื่อ Table1 ฟิลด์ Autonumber ชื่อ ID
อยากกำหนดให้เลขต่อไปที่รันบนเรคคอร์ดเริ่มต้นที่ 500 (ต้องไม่ซ้ำกับค่าเดิมและควรเป็นเลขที่สุงกว่าค่าอื่นๆที่อยู่แล้วด้วย ไม่เช่นนั้นอาจ Error ภายหลังเพราะค่าซ้ำได้)
- สร้างปุ่มใหม่ขึ้นบนฟอร์ม
- ใส่โค๊ดลงใน Event > On Click:

    Dim cat As Variant
    Set cat = CreateObject("ADOX.Catalog")
    Set cat.ActiveConnection = CurrentProject.Connection
    cat.Tables("Table1").Columns("ID").Properties("Seed") = 500
    Set cat = Nothing

- เมื่อกดปุ่ม เลขต่อไปของฟิลด์ Autonumber จะรันที่ 500

* คำสั่งเอาไปดัดแปลงใช้ตอนที่อยากจะเริ่มค่าใหม่ ใช้แค่ครั้งเดียวก็พอครับ

ปล. ทดสอบกับไฟล์สำลองให้รู้การทำงานก่อนใช้จริงนะครับ
2 @R19355
ขอแนะนำอีกวิธีนะครับ ให้กด Ctrl-G เพื่อเปิด Immediate Window แล้วป้อนคำสั่ง

docmd.RunSQL "alter table ชื่อเทเบิล alter column ชื่อคอลัมน์ counter(ค่าเริ่มต้น,เพิ่มทีละกี่ค่า)"
3 @R19357
กราบขอบพระคุณ อาจารย์ทั้งสองครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2886s