PDA

View Full Version : سوال: چگونه میشه کاری کرد اتو نامبر بعد از حذف کردن یک فیلد به طور خودکار تصحیح شود؟



145451159
سه شنبه 04 آذر 1399, 17:31 عصر
چگونه میشه کاری کرد اتو نامبر بعد از حذف کردن یک فیلد به طور خودکار تصحیح شود؟

padide55
سه شنبه 04 آذر 1399, 19:24 عصر
سلام

اینجا مطالعه بفرمایید (https://barnamenevis.org/showthread.php?563259-%D9%85%D8%B1%D8%AA%D8%A8-%DA%A9%D8%B1%D8%AF%D9%86-%D9%81%DB%8C%D9%84%D8%AF-%D8%B9%D8%AF%D8%AF%DB%8C-%D8%A7%D8%B2-%D9%86%D9%88%D8%B9-PrimaryKey)

eb_1345
سه شنبه 04 آذر 1399, 20:49 عصر
سلام

اینجا مطالعه بفرمایید (https://barnamenevis.org/showthread.php?563259-%D9%85%D8%B1%D8%AA%D8%A8-%DA%A9%D8%B1%D8%AF%D9%86-%D9%81%DB%8C%D9%84%D8%AF-%D8%B9%D8%AF%D8%AF%DB%8C-%D8%A7%D8%B2-%D9%86%D9%88%D8%B9-PrimaryKey)
کد هائی که در تاپیک فوق ارائه نموده ام مربوط به مرتب نمودن فیلد از نوع نامبر است نه اتونامبر
از کدهای زیر استفاده کنید :


DoCmd.RunSQL "ALTER TABLE table1 DROP column ID"
DoCmd.RunSQL "ALTER TABLE table1 ADD column ID autoincrement"


در کدهای فوق فرض شده نام تیبل table1 و نام فیلد اتونامبر id است

atf1379
چهارشنبه 05 آذر 1399, 15:34 عصر
کد هائی که در تاپیک فوق ارائه نموده ام مربوط به مرتب نمودن فیلد از نوع نامبر است نه اتونامبر
از کدهای زیر استفاده کنید :


DoCmd.RunSQL "ALTER TABLE table1 DROP column ID"
DoCmd.RunSQL "ALTER TABLE table1 ADD column ID autoincrement"


در کدهای فوق فرض شده نام تیبل table1 و نام فیلد اتونامبر id است


خیلی عالی جناب eb_1345 (https://barnamenevis.org/member.php?424036-eb_1345) :تشویق::تشویق::تشویق:

مثل قدیما دیگه اون دکمه تشکر نیست که با انتخاب اون تشکر کنیم حالا که نیست بهتره دست بزنیم دیگه :لبخند:

parsa70
چهارشنبه 05 آذر 1399, 16:13 عصر
کد هائی که در تاپیک فوق ارائه نموده ام مربوط به مرتب نمودن فیلد از نوع نامبر است نه اتونامبر
از کدهای زیر استفاده کنید :


DoCmd.RunSQL "ALTER TABLE table1 DROP column ID"
DoCmd.RunSQL "ALTER TABLE table1 ADD column ID autoincrement"



در کدهای فوق فرض شده نام تیبل table1 و نام فیلد اتونامبر id است
سلام
من دقیقاً همه موارد رو درست میرم ارور ۳۲۸۰ میده چرا:گریه:
تو قسمت رفرنس vba برنامه لازم هست چیزی را فعال کنم؟؟

atf1379
چهارشنبه 05 آذر 1399, 16:37 عصر
سلام
من دقیقاً همه موارد رو درست میرم ارور ۳۲۸۰ میده چرا:گریه:
تو قسمت رفرنس vba برنامه لازم هست چیزی را فعال کنم؟؟
یعنی وقتی نمونه پست 3 هم اجرا می کنید این ارور صادرمیشه ؟ یا کدها رو در برنامه خود بکار بردی و ارور میده ؟

145451159
چهارشنبه 05 آذر 1399, 18:55 عصر
برای من هم ارور3211رو میده چکار کنم

145451159
چهارشنبه 05 آذر 1399, 18:56 عصر
برای من نمونه هم کار نمی کنه

parsa70
چهارشنبه 05 آذر 1399, 20:28 عصر
یعنی وقتی نمونه پست 3 هم اجرا می کنید این ارور صادرمیشه ؟ یا کدها رو در برنامه خود بکار بردی و ارور میده ؟

تو برنامه خودم این مشکل رو داره دقیقاً همین جوری کد ها رو میزنم یعنی نام تیبل و ردیف رو برای برنامه خودم میزنم کدها مشکلی نداره

parsa70
چهارشنبه 05 آذر 1399, 20:29 عصر
برای من هم ارور3211رو میده چکار کنم

سلام این به خاطر اینه که شما تیبل رو open میزاری باید ببندید. و فقط از فرم استفاده کنید.

narpco
پنج شنبه 06 آذر 1399, 14:28 عصر
برای منم یک سئوال ایجاد شد ..وقتی که compact and repair میکنیم مگر شماره ردیف های اتو نامبر مرتب سازی نمیشن ؟
یا من دارم اشتباه می کنم ؟

eb_1345
پنج شنبه 06 آذر 1399, 15:46 عصر
برای منم یک سئوال ایجاد شد ..وقتی که compact and repair میکنیم مگر شماره ردیف های اتو نامبر مرتب سازی نمیشن ؟
یا من دارم اشتباه می کنم ؟
compact and repair کردن زمانی باعث مرتب نمودن دوباره فیلد اتونامبر میشود که کل اطلاعات جدول رو حذف کنی و مجدداً از اول بخواهی در آن جدول اطلاعات وارد کنی.
استفاده از کد نمونه پست 3 زمانی قابل استفاده است که یک یا چند ردیف از جدول حذف شده و کاربر بخواهد بدون حذف اطلاعات جدول فیلد اتو نامبر مجدداً مرتب شود .
البته دوستان این موضوع رو باید مد نظر داشته باشند که مرتب کردن مجدد فیلد اتونامبر بعد از حذف در زمانی ضرورت پیدا میکند که از فیلد اتونامبر فقط و فقط بعنوان ردیف استفاده کنیم .
دوستان عزیزی که با نرم افزارهای حسابداری بخصوص آن قسمتی که مربوط به صدور سند است کارکرده اند مشاهده نموده اند که در سیستم صدور سند علاوه بر شماره سند یک شماره عطف هم در زمان صدور سند بصورت خودکار ایجاد میشود که این شماره عطف از نوع اتو نامبر است در حالی که شماره سند از نوع نامبر میباشد و قابل مرتب شدن میباشد ولی شماره عطف در اینجا نباید چنین حالتی داشته باشد.
شماره سند قابليت تغيير دستي توسط كاربر را دارد و با حذف آن ، شماره عطف آن نيز حذف شده و این شماره عطف به سند ديگری اختصاص نمي‌يابد.
كاربرد كد عطف جهت نگهداري رابطه پرينت فيزيكي سند با شماره ثبت شده در نرم افزار است. فرض كنيد سندي را امروز با شماره 20و كد عطف 20ثبت و پرينت گرفته و بايگاني كنيم. در زمان ديگري به فرض انجام عمليات مرتب سازي يا تغيير دستي شماره سند رابطه بين پرينت فيزيكي و شماره ثبت شده در نرم افزار با كد عطف نگهداري مي شود و اگر كد عطف نباشد با تغيير شماره سند پرينت قبلي غير معتبر شده و نياز به پرينت مجدد خواهد بود.

narpco
پنج شنبه 06 آذر 1399, 15:59 عصر
compact and repair کردن زمانی باعث مرتب نمودن دوباره فیلد اتونامبر میشود که کل اطلاعات جدول رو حذف کنی و مجدداً از اول بخواهی در آن جدول اطلاعات وارد کنی.
استفاده از کد نمونه پست 3 زمانی قابل استفاده است که یک یا چند ردیف از جدول حذف شده و کاربر بخواهد بدون حذف اطلاعات جدول فیلد اتو نامبر مجدداً مرتب شود .



ممنون ..ولی کلا نکته های جالبی داشت این پست ممنون از شما ...

145451159
پنج شنبه 06 آذر 1399, 16:01 عصر
سلام از کد شما در اکسس خودم استفاده کردم ولی کار نمی کنه و ارور میده باید چکار کنم؟:متفکر:

eb_1345
پنج شنبه 06 آذر 1399, 16:15 عصر
ممنون ..ولی کلا نکته های جالبی داشت این پست ممنون از شما ...

جناب narpco (https://barnamenevis.org/member.php?401153-narpco) عزیز ! بلحاظ ویرایش مطالب، لطفاً مجدداً پست فوق رومرور بفرمائید

narpco
پنج شنبه 06 آذر 1399, 18:38 عصر
ممنون از توضیحات جامع فهمیدم چی شد نمونه فایل هایی هم که گذاشتین چک کردم متوجه شدم قصه چیه ......به نظرم مورد ضروری برای یک دیتا بیس هست فک کنم در ایندکس کردن اطلاعات هم تاثیر داره و سرعت رو بالا میبره این کار
یادم قدیم ها تو فاکس پرو اصلا باید یک همچین چیزی مینوشتیم که بهش میگفتیم مرتب سازی .....کاربر اخر وقت باید میزد مرتب سازی میکرد رکوردها و ایندکس ها رو ..........به هر حال ممنون موضوع خوبی بود

eb_1345
پنج شنبه 06 آذر 1399, 19:23 عصر
سلام از کد شما در اکسس خودم استفاده کردم ولی کار نمی کنه و ارور میده باید چکار کنم؟:متفکر:

سلام دوست عزیز
نمیدونم به چه صورتی از کد فوق استفاده می کنید که در هنگام اجرا با خطا مواجه میشوید . زیادهم توضیح نمی دهید که به چه نحو عمل می کنید .
علی ایحال نمونه دیگری برات تهیه کردم . شما بدون اینکه جدول رو باز کنید از داخل فرم یکی از ردیف های سابفرم رو انتخاب و حذف کن و بعد بر روی کمند باتن کلیک کن تا نتیجه رو ببینی

parsa70
چهارشنبه 10 دی 1399, 23:43 عصر
یعنی وقتی نمونه پست 3 هم اجرا می کنید این ارور صادرمیشه ؟ یا کدها رو در برنامه خود بکار بردی و ارور میده ؟

سلام
این مشکل به خاطر این بود که نباید فیلد ID یا ردیف index باشه یا primary key
۳ تا سوال
۱= ما اگه توی جدولامون پرایمری کی نداشته باشیم سرعت فایل میاد پایین یا خیر؟؟ یکی بهم میگفت که تو هر جدول کیلید اصلی داشته باش که سرعت دیتابیس نیاد پایین.
۲= این کار باعث میشه تو سرعت فایلمون هم تاثیر داشته باشه و بیشتر بشه؟
۳= ما معمولاً اولین فیلدمون ردیف هست معمولاً سمت راست جدول قرار داره وقتی این کد ID رو پاک میکنه و از نو میسازه میره آخرین ردیف جدول اینو میاره و اسم کپشن هم ID انگلیسی میزاره اون اسم هم میشه تغییر داد و یا بگیم سمت راست جدول باشه و Left to right نباشه؟
سپاس