PDA

View Full Version : حرفه ای: ثبت اطلاعات یک فیلد در چند رکوردها به طور همزمان



Nazir Ahmad
شنبه 26 اردیبهشت 1394, 09:55 صبح
سلام دوستان و اساتید
یه مشکل کوچولو اما ...
ممنون میشم اگر کسی بتونه راهنمایی کنه.
یه فرم داریم که اطلاعاتی داخل اون ثبت میشه و مربوط به یک جدوله. درهمون فرم یه ساب فرم داریم از یه جدول دیگه که ممکنه دارای یک رکورد باشه و ممکن هم هست دارای چند رکورد باشه (بیشتر از یکی)
مشکل سر همین چند رکورده
حالا میخوایم در صورتی که یکی از فیلدهای فرم تغییر کرد (یعنی آپ دیت شد نه اینکه رکورد جدید) اطلاعات همون فیلدی که ثبت کردیم تو تمام رکوردهای ساب فرم (البته یه فیلد خاص) ثبت بشه.
درصورتیکه ساب فرم یه رکورد داشته باشه مشکلی نیست و این کد مشکل رو حل میکنه [frm_AccountingSubform].Form![Acc_Cls].Value = Me.clsN.Value
البته اگه ساب فرم دارای چند رکورد باشه تنها رکوردی که انتخاب باشه یعنی رکورد اولی تغییر میکنه
حالا چه جوری میشه اگه تعداد رکوردها بیشتر بود فیلد تمام رکوردها تغییر کنه
ممنون از همکاری

tolid123456789
شنبه 26 اردیبهشت 1394, 15:52 عصر
سلام
امکان داره فایل رو بگذارید اینجا؟

Nazir Ahmad
دوشنبه 28 اردیبهشت 1394, 09:02 صبح
سلام
امکان داره فایل رو بگذارید اینجا؟
ممنون دوست عزیز
اینم فایل

Nazir Ahmad
چهارشنبه 30 اردیبهشت 1394, 07:29 صبح
اساتید کسی نتونست کمک کنه؟

Abbas Amiri
جمعه 01 خرداد 1394, 11:39 صبح
سلام دوستان و اساتید
یه مشکل کوچولو اما ...
ممنون میشم اگر کسی بتونه راهنمایی کنه.
یه فرم داریم که اطلاعاتی داخل اون ثبت میشه و مربوط به یک جدوله. درهمون فرم یه ساب فرم داریم از یه جدول دیگه که ممکنه دارای یک رکورد باشه و ممکن هم هست دارای چند رکورد باشه (بیشتر از یکی)
مشکل سر همین چند رکورده
حالا میخوایم در صورتی که یکی از فیلدهای فرم تغییر کرد (یعنی آپ دیت شد نه اینکه رکورد جدید) اطلاعات همون فیلدی که ثبت کردیم تو تمام رکوردهای ساب فرم (البته یه فیلد خاص) ثبت بشه.
درصورتیکه ساب فرم یه رکورد داشته باشه مشکلی نیست و این کد مشکل رو حل میکنه [frm_AccountingSubform].Form![Acc_Cls].Value = Me.clsN.Value
البته اگه ساب فرم دارای چند رکورد باشه تنها رکوردی که انتخاب باشه یعنی رکورد اولی تغییر میکنه
حالا چه جوری میشه اگه تعداد رکوردها بیشتر بود فیلد تمام رکوردها تغییر کنه
ممنون از همکاری

سلام
کدهای زیر مربوط به فیلد سال هست . برای بقیه ازهمین روش استفاده کنید
Private Sub salN_AfterUpdate()
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM [1_Accounting] WHERE [St-ID]=" & Me.stu_ID)
With rs
.MoveLast: .MoveFirst
Do While Not .EOF
.Edit
.Fields("Acc_Sal") = Me.salN
.Update
.MoveNext
Loop
End With
Set rs = Nothing
[frm_AccountingSubform].Form.Requery
End Sub

shkeramat
یک شنبه 03 خرداد 1394, 14:49 عصر
با سلام ببخشید چرا فایل موجود باز میشود و اشیا دیده میشود ولی باز نمیشوند و ارورر میدهد با تشکر

Nazir Ahmad
دوشنبه 04 خرداد 1394, 09:23 صبح
سلام
کدهای زیر مربوط به فیلد سال هست . برای بقیه ازهمین روش استفاده کنید
Private Sub salN_AfterUpdate()
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM [1_Accounting] WHERE [St-ID]=" & Me.stu_ID)
With rs
.MoveLast: .MoveFirst
Do While Not .EOF
.Edit
.Fields("Acc_Sal") = Me.salN
.Update
.MoveNext
Loop
End With
Set rs = Nothing
[frm_AccountingSubform].Form.Requery
End Sub
ممنون Abbas Amiri (http://barnamenevis.org/member.php?189381-Abbas-Amiri) گرامی
مشکلم حل شد
یا حق

Nazir Ahmad
سه شنبه 18 اسفند 1394, 02:58 صبح
سلام
با توجه به کدهایی که Abbas Amiri (http://barnamenevis.org/member.php?189381-Abbas-Amiri)
عزیز گذاشتند مشکل تا حدودی حل شده بود اما الان یه مشکل دیگه هم وجو داره. اینکه ممکنه برای یک ID از فرم اصلی چند رکورد وجود داشته باشه مثلا برای هر ID در هر سال یک رکورد جداگانه و برای هر رکورد در ساب فرم رکوردهای مختص به خودش.
حالا وقتی با کد جناب
Abbas Amiri (http://barnamenevis.org/member.php?189381-Abbas-Amiri)
مثلا فیلد سال رو تغییر میدیم در ساب فرم تمام رکوردهای مختص یک ID تغییر میکنه. درحالی که ما میخوایم فقط رکوردهای مربوط به همون سال تغییر کنه.به زبان ساده تر میخوایم در کد Set rs = CurrentDb.OpenRecordset("SELECT * FROM [1_Accounting] WHERE [St-ID]=" & Me.stu_ID)علاوه بر فیلد stu_ID عملیات فیلتر با فیلد SalN هم انجام بشه.

ممنون
یا حق

Nazir Ahmad
پنج شنبه 20 اسفند 1394, 06:25 صبح
سلام
با توجه به کدهایی که Abbas Amiri (http://barnamenevis.org/member.php?189381-Abbas-Amiri)
عزیز گذاشتند مشکل تا حدودی حل شده بود اما الان یه مشکل دیگه هم وجو داره. اینکه ممکنه برای یک ID از فرم اصلی چند رکورد وجود داشته باشه مثلا برای هر ID در هر سال یک رکورد جداگانه و برای هر رکورد در ساب فرم رکوردهای مختص به خودش.
حالا وقتی با کد جناب
Abbas Amiri (http://barnamenevis.org/member.php?189381-Abbas-Amiri)
مثلا فیلد سال رو تغییر میدیم در ساب فرم تمام رکوردهای مختص یک ID تغییر میکنه. درحالی که ما میخوایم فقط رکوردهای مربوط به همون سال تغییر کنه.به زبان ساده تر میخوایم در کد Set rs = CurrentDb.OpenRecordset("SELECT * FROM [1_Accounting] WHERE [St-ID]=" & Me.stu_ID)علاوه بر فیلد stu_ID عملیات فیلتر با فیلد SalN هم انجام بشه.

ممنون
یا حق
اساتید لطفا راهنمایی کنید.

یا حق