PDA

View Full Version : سوال: مرتب کردن فیلد عددی از نوع PrimaryKey



atf1379
جمعه 23 آبان 1399, 19:32 عصر
سلام
در نمونه زیر جدولی وجود دارد که دارای یک فیلد عددی از نوع PrimaryKey میباشد . میخواهم از طریق کد نویسی اعداد این فیلد پشت سرهم مرتب شوند و اگر در بین اعداد عددی حذف شده آن عدد مجدد ایجاد شود .
مثلاً در جدول اعداد فیلد فوق شامل 1،2،3،5 است که میخواهم بصورت 1،2،3،4 مرتب شود
با تشکر

eb_1345
شنبه 24 آبان 1399, 13:09 عصر
سلام
در نمونه زیر جدولی وجود دارد که دارای یک فیلد عددی از نوع PrimaryKey میباشد . میخواهم از طریق کد نویسی اعداد این فیلد پشت سرهم مرتب شوند و اگر در بین اعداد عددی حذف شده آن عدد مجدد ایجاد شود .
مثلاً در جدول اعداد فیلد فوق شامل 1،2،3،5 است که میخواهم بصورت 1،2،3،4 مرتب شود
با تشکر

سلام
کدهای زیر را جایگزین کدهای قبلی خود کن !


Private Sub SortId()
Dim lngCounter As Integer
Dim dbs As DAO.Database
Dim rs As DAO.Recordset
Set dbs = CurrentDb
Set rs = dbs.OpenRecordset("SELECT * FROM table1")
Do Until rs.EOF
rs.Edit
lngCounter = lngCounter + 1
rs.Fields("ID") = lngCounter
rs.Update
rs.MoveNext
Loop
rs.Close
dbs.Close
Set rs = Nothing
Set dbs = Nothing
End Sub

atf1379
شنبه 24 آبان 1399, 21:29 عصر
سلام
کدهای زیر را جایگزین کدهای قبلی خود کن !


Private Sub SortId()
Dim lngCounter As Integer
Dim dbs As DAO.Database
Dim rs As DAO.Recordset
Set dbs = CurrentDb
Set rs = dbs.OpenRecordset("SELECT * FROM table1")
Do Until rs.EOF
rs.Edit
lngCounter = lngCounter + 1
rs.Fields("ID") = lngCounter
rs.Update
rs.MoveNext
Loop
rs.Close
dbs.Close
Set rs = Nothing
Set dbs = Nothing
End Sub



سلام
خیلی عالی :تشویق::تشویق::تشویق:

145451159
سه شنبه 04 آذر 1399, 21:30 عصر
ممنون کد را کجا باید بزارم؟

padide55
سه شنبه 04 آذر 1399, 22:10 عصر
ممنون کد را کجا باید بزارم؟

در پست خودتون .فایل نمونه پیوست شده توسط دوستان

parsa70
سه شنبه 04 آذر 1399, 23:40 عصر
سلام اگه فیلد ۱ اتو نامبر باشه و بعضی ردیف ها حذف بشه میشه این کارو کرد و درست سورت کنه؟؟
سپاس

padide55
چهارشنبه 05 آذر 1399, 00:20 صبح
مشکل با سورته یا جایگزینی ردیفهای خالی ؟
به نظرم بهتره ردیفهای اتونامبر حذف شده رو کاریش نداشته باشید .چون روشی برای کنترل داده های حذف شده هست و معلوم میشه دیتای موردنظر حذف شده و این به درد میخوره.
در هر صورت
یا اتونامبر حذف شده دارید و یا ردیف دیگه دارید که اتونامبر نیست
در هر دو‌مدل این روشها در دو پست اورده شده

parsa70
چهارشنبه 05 آذر 1399, 15:06 عصر
نه مشکل سورت نیست فقط چون کاربرها جدول رو هم نگاه میکنن و رکورد ها رو میشمرن میگن تو ردیف مثلا: ۵۰۰ تا هست و لی رکوردها ی وارده کمتره چون چند رکورد رو حذف کردن خیلی هم مهم نیست بنظرم.
ولی اگه AUTO NUMBER هم ریست میشد و از اول شمارش میشد بد نبود.
خیلی سپاس بابت پست‌های آموزشیتون.

atf1379
چهارشنبه 05 آذر 1399, 15:30 عصر
نه مشکل سورت نیست فقط چون کاربرها جدول رو هم نگاه میکنن و رکورد ها رو میشمرن میگن تو ردیف مثلا: ۵۰۰ تا هست و لی رکوردها ی وارده کمتره چون چند رکورد رو حذف کردن خیلی هم مهم نیست بنظرم.
ولی اگه AUTO NUMBER هم ریست میشد و از اول شمارش میشد بد نبود.
خیلی سپاس بابت پست‌های آموزشیتون.



سلام
الآن مگه مشکلت برطرف نشده ؟
جناب eb_1345 (https://barnamenevis.org/member.php?424036-eb_1345) در تاپیک زیر در خصوص ریست کردن و اصلاح شماره اتونامبر حذف شده که نمونه گذاشته اند.
https://barnamenevis.org/showthread....88%D8%AF%D8%9F (https://barnamenevis.org/showthread.php?563429-%DA%86%DA%AF%D9%88%D9%86%D9%87-%D9%85%DB%8C%D8%B4%D9%87-%DA%A9%D8%A7%D8%B1%DB%8C-%DA%A9%D8%B1%D8%AF-%D8%A7%D8%AA%D9%88-%D9%86%D8%A7%D9%85%D8%A8%D8%B1-%D8%A8%D8%B9%D8%AF-%D8%A7%D8%B2-%D8%AD%D8%B0%D9%81-%DA%A9%D8%B1%D8%AF%D9%86-%DB%8C%DA%A9-%D9%81%DB%8C%D9%84%D8%AF-%D8%A8%D9%87-%D8%B7%D9%88%D8%B1-%D8%AE%D9%88%D8%AF%DA%A9%D8%A7%D8%B1-%D8%AA%D8%B5%D8%AD%DB%8C%D8%AD-%D8%B4%D9%88%D8%AF%D8%9F)