PDA

View Full Version : سوال: ایجاد ردیف در فرم اکسس



محمد2020
یک شنبه 08 دی 1392, 15:37 عصر
با سلام خدمت دوستان;
چطور میتونیم در فرم، ردیف ایجاد کنیم بطوریکه نوع فیلدمون Number باشه و شماره ردیف بصورت خودکار تغییر کنه و وقتی که رکوردی رو حذف کردیم، شماره ردیف بهم نخوره.
ممنون

hamid-nice
یک شنبه 08 دی 1392, 21:20 عصر
دوست عزیز جستجو نکردی !
از تابع DMax("[ID]", "[Table1]") + 1 می توانی استفاده کنید
موفق باشید

محمد2020
دوشنبه 09 دی 1392, 13:42 عصر
سلام حمیدجان;
با توجه به اینکه مبتدی هستم، نمیتونم از تابعی که گفتی استفاده کنم، اگر امکان داره توی نمونه ای که ضمیمه میکنم زحمتش رو برام بکش.خیلی ممنونم


114605

hamid-nice
دوشنبه 09 دی 1392, 14:16 عصر
1- در جدولتان فیلد radif را Primary Key کنید
2- در رویداد oncurrent فرمتان کدهای زیر را بنویسید

If IsNull(DFirst("[radif]", "[tblsanad]")) Then
Me.radif = 1
DoCmd.RunCommand acCmdSaveRecord
End If
If IsNull(Me.radif) Then
radif = (DMax("[radif]", "[tblsanad]") + 1)
End If

3-روی فیلد radif در نمای طراحی فرمتان دبل کلیک کنید در زبانه Data در سه ردیف آخر Enabled را No و Locked را Yes کنید.
موفق باشید

محمد2020
جمعه 13 دی 1392, 00:42 صبح
1- در جدولتان فیلد radif را Primary Key کنید
2- در رویداد oncurrent فرمتان کدهای زیر را بنویسید

If IsNull(DFirst("[radif]", "[tblsanad]")) Then
Me.radif = 1
DoCmd.RunCommand acCmdSaveRecord
End If
If IsNull(Me.radif) Then
radif = (DMax("[radif]", "[tblsanad]") + 1)
End If

3-روی فیلد radif در نمای طراحی فرمتان دبل کلیک کنید در زبانه Data در سه ردیف آخر Enabled را No و Locked را Yes کنید.
موفق باشید

سلام ممنون از جواب شما

linktaz
جمعه 13 دی 1392, 16:12 عصر
حمید جان این روش مشکلات زیادی به همراه داره.مثلا اگر یک ردیف از وسط ردیف ها رو حذف کنیم شماره های بعد از اون درست نمیشه.واسه شماره ردیف یه ماژول توی فروم ارائه شده.از اون استفاده کنید.

hamid-nice
جمعه 13 دی 1392, 21:07 عصر
با سلام
ممنون از بررسی و اعلام نظرتان
1-دوست عزیز من تست کردم و ردیف های میانی را حذف کردم و برای رکوردهای جدید درست عمل می کنه و مشکلی نداره
2-مشکلات زیاد را متوجه نشدم اگه ممکنه بیشتر توضیح بدید
3- کدام ماژول مد نظرتان هست ؟ اگه ممکنه یک نمونه ارایه کنید که درصورت بهتر بودن مورد استفاده بقیه هم قرار بگیره
4- نمونه ضمیمه را تست بفرمایید و در صورت اشکال اعلام بفرمایید
با تشکر

linktaz
شنبه 14 دی 1392, 21:50 عصر
سلام.ببینید فرض کنید شما ۵ ردیف دارید و به دلایلی باید ردیف ۲ رو باید حذف کنید.پس ردیف های بعد از اون نیز باید اصلاح بشن و در نهایت شماره ردف انتهایی ما باید بشه ۴.که وقتی ردیف جدید خواست ایجاد بشه اون بشه ۵.درسته?این تابع اصلا کاری به اصلاح ردیف میانی ندا ره فقط میره ماکزیمم رو میگیره یه دونه بهش اضافه میکنه.لینک زیر رو مشاهده کنید نمونه ها موجوده.
http://barnamenevis.org/showthread.php?242915-%D8%AB%D8%A8%D8%AA-%D8%B4%D9%85%D8%A7%D8%B1%D9%87-%D8%B1%D8%AF%DB%8C%D9%81-%D8%AF%D8%B1-%D8%AC%D8%AF%D9%88%D9%84&highlight=%D8%B4%D9%85%D8%A7%D8%B1%D9%87+%D8%B1%D8 %AF%DB%8C%D9%81

hamid-nice
شنبه 14 دی 1392, 22:10 عصر
با تشکر از شما
درست است ، اگر صرفا شماره ردیف مد نظر باشد تابعی که معرفی کردید بسیار خوب است
اما تابعی که من معرفی کردم برای زمانی که بخواهیم یک کد اختصاصی که به چیزی خاص نسبت می دهیم لازم باشد بهتر است ( نه صرفا شماره ردیف ) زیرا کد اختصاصی چیزی بهتر است با پاک شدن رکورد های قبل تغییر نکند
ولی با توجه به موضوع تاپیک برای شماره ردیف تابع شما بهتر است
با تشکر
موفق باشید