PDA

View Full Version : جایگزینی عدد جدید روی اعداد قدیمی



akhani3
جمعه 27 اردیبهشت 1392, 21:58 عصر
سلام
چطور میشه مڽلا
بعد از ورود 1000 فیلد اطلاعان جدید انومان از روی فیلد اول نوشته بشه اخه من برنامه ای دارم که هر 5 دقیقه اطلاعاتی را وارد اکسس میکنه و میخوام بعد از ورود یک تعداد اطلاعات اعداد بعدی را روی فیلد اول بنویسه اخه دیگه به اون نیا زی ندارم لطفا راهنمایی کنید

Abbas Amiri
جمعه 27 اردیبهشت 1392, 23:05 عصر
سلام
چطور میشه مڽلا
بعد از ورود 1000 فیلد اطلاعان جدید انومان از روی فیلد اول نوشته بشه اخه من برنامه ای دارم که هر 5 دقیقه اطلاعاتی را وارد اکسس میکنه و میخوام بعد از ورود یک تعداد اطلاعات اعداد بعدی را روی فیلد اول بنویسه اخه دیگه به اون نیا زی ندارم لطفا راهنمایی کنید
به کمی کدنویسی نیاز داره . احتمالا باید نمونه بذارید . حداقل چند نفر ازدوستان قادر به حل مشکل شما هستند .

akhani3
جمعه 27 اردیبهشت 1392, 23:20 عصر
فکر کنم واضع گفتم و نمونه ندارم

Abbas Amiri
جمعه 27 اردیبهشت 1392, 23:26 عصر
فکر کنم واضع گفتم و نمونه ندارم

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

Abbas Amiri
جمعه 27 اردیبهشت 1392, 23:52 عصر
فکر کنم واضع گفتم و نمونه ندارم
تابع زیر را دریک ماژول کپی کنید :


Public mod1LastID As Long

Function NewID(frm As Form) As Long
Dim tmp As Long
tmp = Nz(DLast("ID", frm.RecordSource))
If tmp < 1000 Then
Else
tmp = 0
End If
If mod1LastID = tmp + 1 Then
mod1LastID = mod1LastID Mod 1000 + 1
Else
mod1LastID = tmp + 1
End If
CurrentDb.Execute "DELETE * FROM " & frm.RecordSource & " WHERE ID=" & mod1LastID
Debug.Print mod1LastID
NewID = mod1LastID
End Function



ودر خصوصیت Default Value فیلد مربوطه که در اینجا ID فرض شده است ، درج کنید:


=NewID([Forms]![YourFormName])


ودر رویداد Form_Close بنویسید:


mod1LastID = 0

akhani3
شنبه 28 اردیبهشت 1392, 16:14 عصر
ممنونم
میشه طرز تهیه ماژول رو هم بهم بگید اخه من تازه کارم مرسی

Abbas Amiri
شنبه 28 اردیبهشت 1392, 18:11 عصر
ممنونم
میشه طرز تهیه ماژول رو هم بهم بگید اخه من تازه کارم مرسی
به همین علت عرض کردم نمونه بذارید . معمولا سوالات ساده اند، این جوابها هستند که پیچیده اند.
برای ایجاد یک ماژول فایل اکسستان را بازکرده و با فشردن Alt + F11 وارد محیط ویژوال بیسیک شوید . در منوی Insert شما Madoule را انتخاب کنید تا یک ماژول جدید ایجاد شود . کدهای فوق را کپی کرده و در آنجا Paste کنید .

یک نکته مهم : دیتاتایپ فیلد ID از نوع Number باشد نه AutoNumber .

akhani3
جمعه 17 خرداد 1392, 13:50 عصر
سلام
میشه مثال رو ت فایل پیوست برام انجام بدید ممنون میشم

akhani3
سه شنبه 21 خرداد 1392, 08:28 صبح
لطفا نسبت به راهنمایی کمک کنید