PDA

View Full Version : مبتدی: صفر کردن آی دی AUTONUMBER



milad.biroonvand
شنبه 16 آبان 1388, 15:45 عصر
سلام دوستان

من یک فیلد دارم که AUTO NUMBERE حالا می خوام اونو بدونه حذف کردن صفر کنم
، چطور میشه؟

mgh64120
شنبه 16 آبان 1388, 17:53 عصر
دوست عزيز آقاي بيرونوند
اين طور كه من فهميدم بايستي فيلدتون Primary key نباشه و جدولتون داراي ركورد هست؟
ايا فيلدتون مقادير Null رو ميپذيره؟

Hossis
شنبه 16 آبان 1388, 21:04 عصر
حتی با حذف کردن یک ردیف هم این شماره صفر نمی شه
اگر بخواهید صفر کنید باید تمام فیلدهای دیگر را (غیر از همین اتو نامبر) کپی کرده و جدول دیگری بسازید و در آنجا Past کنید تا از صفر شروع کنه

pourang_us
یک شنبه 17 آبان 1388, 08:27 صبح
دوست عزیز سلام

اینطور که من از سوال شما برداشت کردم بانک شما Access هست برای اینکه توی همون بانک شما فیلد Auto number از صفر شروع بکنه به شرط اینکه داده درخلش نداشته باشی (ون با حدف ردیفها هم این فیلد صفر نمیشه) باید بر روی جدولت راست کلیک کنی و روی کپی کلیک کن حالا یه جای خالی کنار جدولت باز هم راست کلیک کن و اینبار بر روی paste کلیک کن پنجره ای باز میشه که اسم جدول رو به همراه سه گزنه از شما میخواهد شما بر روی گزینه Strutcure Only کلیک کنید تا فقط ساختار اون جدول کپی بشود میبینی که در جدول جدید فیلد Auto number از صفر شروع به کار میکنه حالا فقط کافی اسم جداول رو به اسم دلخواه خودت در بیاری



موفق باشی

milad.biroonvand
یک شنبه 17 آبان 1388, 08:48 صبح
دوست عزيز آقاي بيرونوند
اين طور كه من فهميدم بايستي فيلدتون Primary key نباشه و جدولتون داراي ركورد هست؟
ايا فيلدتون مقادير Null رو ميپذيره؟


آره فیلد من کلید اصلیه (primary key ) مقدار null رو هم نمی پذیره بانکم هم اکسسه .

با تشکر از جوابتون .

DoDoklak
یک شنبه 17 آبان 1388, 09:07 صبح
با تشکار از دوستان رو شهای گفته شده دردسر سازن تو اگه شما برنامه تونو پخش کرده باشین نمیتونید این کارها رو دیگه انجام بدید بلکه باید به صورت نرم افزاری این کار رو انجام بدید
کد زیر این کار رو برای شما انجام میده


Dim strselect AsString = "Alter Table TableName Alter COLUMN ID counter(1)"
Dim CmdInsert AsNew OleDbCommand
AccessCon.Open()
CmdInsert = New OleDb.OleDbCommand(strselect, AccessCon)
CmdInsert.ExecuteNonQuery()
AccessCon.Close()


TableName:نام تیبلتونو به جاش بزارید
ID:نام فیلدی که باید صفر شود که اغلب همون ID نام گذاری میشه

البته این کد برای access هستش اگه برای SQL SERVER هم خواستید بگید براتون میزارم

milad.biroonvand
یک شنبه 17 آبان 1388, 09:37 صبح
با تشکار از دوستان رو شهای گفته شده دردسر سازن تو اگه شما برنامه تونو پخش کرده باشین نمیتونید این کارها رو دیگه انجام بدید بلکه باید به صورت نرم افزاری این کار رو انجام بدید
کد زیر این کار رو برای شما انجام میده


Dim strselect AsString = "Alter Table TableName Alter COLUMN ID counter(1)"
Dim CmdInsert AsNew OleDbCommand
AccessCon.Open()
CmdInsert = New OleDb.OleDbCommand(strselect, AccessCon)
CmdInsert.ExecuteNonQuery()
AccessCon.Close()


TableName:نام تیبلتونو به جاش بزارید
ID:نام فیلدی که باید صفر شود که اغلب همون ID نام گذاری میشه

البته این کد برای access هستش اگه برای SQL SERVER هم خواستید بگید براتون میزارم


روش جالبی بود . با تشکر دیگر دوستان چنانچه نظری داشتند بنویسند .

vb.net2008
یک شنبه 17 آبان 1388, 10:55 صبح
اگه بخوام این کد رو برای Sqlserver بنویسم فقط باید به جای Oledb بنویسم Sql درسته؟

milad.biroonvand
یک شنبه 17 آبان 1388, 11:17 صبح
اگه بخوام این کد رو برای Sqlserver بنویسم فقط باید به جای Oledb بنویسم Sql درسته؟


آره . فقط باید قبلش فضای نامی
imports.system..data.sqlclient رو هم به پروژه اضافه کنی .

DoDoklak
یک شنبه 17 آبان 1388, 11:36 صبح
اگه بخوام این کد رو برای Sqlserver بنویسم فقط باید به جای Oledb بنویسم Sql درسته؟



آره . فقط باید قبلش فضای نامی
imports.system..data.sqlclient رو هم به پروژه اضافه کنی
سورس تقریبا همنه با یکم تغییر ولی باید باید Query عوض بشه.

Query مخصوص SQL SERVER

DBCC CHECKIDENT ("Schema.TableName", RESEED, 1);