masoud903
سه شنبه 18 خرداد 1389, 13:01 عصر
با سلام
من خودم مدت زیادی طول کشید تا با استفاده از تجربیات اساتید و دوستان این فروم و نمونه برنامه ها به درک خوبی از این موضوع برسم.چون مبحث خیلی مفیدی هست و سوال اکثر دوستانه من آموزش کاملش رو با نمونه میذارم
طرح موضوع:یه جدول به اسم PERSONEL داریم که کل اطلاعاتمون توی اون ذخیره میشه
حالا ما میخواهیم که این اطلاعات در فرمی باز بشه و بتونیم ویرایشش کنیم و مثلا توی جدول SABT ذخیره کنیم
در RECORD SOURCE فرم VIRAYESH2 کد زیر را وارد میکنیم
SELECT personel.IDPER, personel.FNAME, personel.IDDATE, personel.LNAME, personel.JOBCODE, personel.SITUATION, personel.DATEOFWORK FROM personel; در رویداد کلیک دکمه ویرایش کد زیر رو وارد میکنیم
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "vir3"
stLinkCriteria = "IDPER=" & Me![IDPER]
' MsgBox stLinkCriteria
DoCmd.OpenForm stDocName, , , , , , stLinkCriteriaتوضیح:فرم VIR3 رو با توجه به IDPER روی فرم vIRAYESH2 باز میکنه
در رکورد سورس فرم VIR3 کد زیر رو وارد میکنیم
SELECT * FROM PERSONEL WHERE (((PERSONEL.IDPER)=Forms![virayesh2]!IDPER)); که کاملا مشخصه که چیکار میکنه
اما برای اینکه اطلاعاتمون رو توی جدول DAYVAL ذخیره کنه از کد زیر در رویداد کلیک دکمه ثبت استفاده میکنیم
Private Sub sabt_Click()
Dim db As Database
Set db = CurrentDb
Dim rst1 As Recordset
Set rst1 = db.OpenRecordset("DAYVAL")
rst1.AddNew
'saving to DAYVAL
rst1.Fields("IDPER") = IDPER1.Value
rst1.Fields("FNAME") = FNAME1.Value
rst1.Fields("LNAME") = LNAME.Value
rst1.Fields("JOBCODE") = JOBCODE1.Value
rst1.Fields("SITUATION") = SITUATION1.Value
rst1.Fields("OURTIME") = OURTIME1.Value
rst1.Fields("PASSTIME") = PASSTIME1.Value
rst1.Fields("date12") = date2.Value
rst1.Update
rst1.Close
DoCmd.Close
End Subنامگذاری فیلد های روی فرمها هم که کاملا مشخصه
هرچند شایدروشی بهتر باشه یا اینکه جایی از آموزشم ایراد داشته باشه(که البته اساتید لطف میکنن و بهمون درستش رو یاد میدن) اما امیدورام مفید بوده باشه و همه تجربه هاشون رو به اشتراک بذارن در جهت پیشرفت سایر دوستان
من خودم مدت زیادی طول کشید تا با استفاده از تجربیات اساتید و دوستان این فروم و نمونه برنامه ها به درک خوبی از این موضوع برسم.چون مبحث خیلی مفیدی هست و سوال اکثر دوستانه من آموزش کاملش رو با نمونه میذارم
طرح موضوع:یه جدول به اسم PERSONEL داریم که کل اطلاعاتمون توی اون ذخیره میشه
حالا ما میخواهیم که این اطلاعات در فرمی باز بشه و بتونیم ویرایشش کنیم و مثلا توی جدول SABT ذخیره کنیم
در RECORD SOURCE فرم VIRAYESH2 کد زیر را وارد میکنیم
SELECT personel.IDPER, personel.FNAME, personel.IDDATE, personel.LNAME, personel.JOBCODE, personel.SITUATION, personel.DATEOFWORK FROM personel; در رویداد کلیک دکمه ویرایش کد زیر رو وارد میکنیم
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "vir3"
stLinkCriteria = "IDPER=" & Me![IDPER]
' MsgBox stLinkCriteria
DoCmd.OpenForm stDocName, , , , , , stLinkCriteriaتوضیح:فرم VIR3 رو با توجه به IDPER روی فرم vIRAYESH2 باز میکنه
در رکورد سورس فرم VIR3 کد زیر رو وارد میکنیم
SELECT * FROM PERSONEL WHERE (((PERSONEL.IDPER)=Forms![virayesh2]!IDPER)); که کاملا مشخصه که چیکار میکنه
اما برای اینکه اطلاعاتمون رو توی جدول DAYVAL ذخیره کنه از کد زیر در رویداد کلیک دکمه ثبت استفاده میکنیم
Private Sub sabt_Click()
Dim db As Database
Set db = CurrentDb
Dim rst1 As Recordset
Set rst1 = db.OpenRecordset("DAYVAL")
rst1.AddNew
'saving to DAYVAL
rst1.Fields("IDPER") = IDPER1.Value
rst1.Fields("FNAME") = FNAME1.Value
rst1.Fields("LNAME") = LNAME.Value
rst1.Fields("JOBCODE") = JOBCODE1.Value
rst1.Fields("SITUATION") = SITUATION1.Value
rst1.Fields("OURTIME") = OURTIME1.Value
rst1.Fields("PASSTIME") = PASSTIME1.Value
rst1.Fields("date12") = date2.Value
rst1.Update
rst1.Close
DoCmd.Close
End Subنامگذاری فیلد های روی فرمها هم که کاملا مشخصه
هرچند شایدروشی بهتر باشه یا اینکه جایی از آموزشم ایراد داشته باشه(که البته اساتید لطف میکنن و بهمون درستش رو یاد میدن) اما امیدورام مفید بوده باشه و همه تجربه هاشون رو به اشتراک بذارن در جهت پیشرفت سایر دوستان