نوشته شده توسط
Nader700
سلام به همه اساتید محترم
من یک فایل نمونه به پیوست خدمتتون ارسال می کنم ممنون میشم اگه بنده رو راهنمایی یا فایل نمونه رو اصلاح کنید
سوال من اینه که من یک فرم ثبت اطلاعات دارم که به عنوان مثال اسم 3 تا کاربر رو وارد کردم . من میخوام با زدن دکمه افزودن مخاطب جدید از اطلاعات آخرین رکورد وارده شده من که به اسم (رضا خسروی ) هست یک کپی بگیره و به عنوان پیش فرض در رکورد جدید من ثبت کنه . من میخوام این اتفاق هر بار که دکمه افزودن رو میزنم از آخرین رکورد کپی و در رکورد جدید من ثبت بشه
با تشکر
سلام
بهتره از کدهای زیر در رویداد کلیک کمند باتن افزودن مخاطب جدید استفاده کنی :
On Error Resume Next
Dim ctl As Control
DoCmd.GoToRecord , , acLast
For Each ctl In Me.Controls
If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Then
ctl.Tag = ctl.value
End If
Next ctl
DoCmd.GoToRecord , , acNewRec
For Each ctl In Me.Controls
If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Then
ctl.value = ctl.Tag
End If
Next ctl
همونطور که می بینی در این کدها در حلقه اول For Each مقدار یا ارزش تمام کنترل های درج شده بر روی فرم که از نوع TextBox یا ComboBoxمیباشند در خصوصیت Tag این کنترل قرار می گیرند بعد از اتمام عملیات حلقه اول عمل افزودن رکورد جدید صورت میگیرد . در مرحله بعد یا در حلقه دوم For Each باید عکس چرخه اول صورت بگیرد، یعنی باید مقدار درج شده در خصوصیت Tag کنترل های فوق برابر با مقدار ارزش آنها شود
ضمنا بنده در این کدها فرض را بر این گذاشته ام که بروی فرم از کنترل کمبوباکس هم استفاده می کنی و اگر مطمئن هستین که از این کنترل استفاده نمی کنین میتوانی Or ctl.ControlType = acComboBox را از کدهای فوق حذف کنین
یا علی