View Full Version : سوال: ذخیره سازی اطلاعات
stabesh
یک شنبه 21 آذر 1389, 13:50 عصر
سلام
من یک فرم همراه با ساب فرم دارم. برای فرمم دکمه تایید و لغو تعریف کردم.زمانی که کاربر اطلاعات فرم را کامل می کنه و برای ثبت اطلاعات بعدی به ساب فرم مراجعه می کنه , اطلاعات فرم در table ها ذخیره می شه.
من نمی خوام این اتفاق رخ بده.فقط زمانی که تایید رو کلیک کرد اطلاعات ثبت بشن.
برای این کار از tempe table هم نمی خوام استفاده کنم راه حلی به نظرتون میرسه؟
arash22
یک شنبه 21 آذر 1389, 14:13 عصر
اطلاعات Sub Formet را در محل ديگري مثل يك آرايه و حتي يك متغير از نوع XML نگهداري كن
stabesh
دوشنبه 22 آذر 1389, 08:44 صبح
من با خودم فكر كردم و دو راه به ذهنم رسيد
1- textbox ها را unbound كنم و توي يك آرايه بريزم بعد كه تأييد شد خودم insert كنم اما اين كار تو subform كه countinues است نميشه
2 - يك جدول موقتي در زمان باز شدن فرم درست كنم textbox ها رو به اون bound كنم وقتي تأييد كرد بعد توي جدول اصلي بريزم و جدول موقت رو پاك كنم اما اين هم براي فرمهايي كه زيرفرمهاي زيادي داره به نظرم مناسب نيست
حالا نظر شما چيه ؟
از xml هم نميدونم چه جوري بايد استفاده كنم !
متشكرم
stabesh
دوشنبه 22 آذر 1389, 17:32 عصر
یک برنامه پیدا کردم
ولی من می خوام وقتی ok کرد اطلاعات ذخیره بشه و وقتی که cancel رو زد هیچی ذخیره نشه
هم در فرم هم در زیرفرم
amirzazadeh
سه شنبه 23 آذر 1389, 10:17 صبح
سلام
من یک فرم همراه با ساب فرم دارم. برای فرمم دکمه تایید و لغو تعریف کردم.زمانی که کاربر اطلاعات فرم را کامل می کنه و برای ثبت اطلاعات بعدی به ساب فرم مراجعه می کنه , اطلاعات فرم در table ها ذخیره می شه.
من نمی خوام این اتفاق رخ بده.فقط زمانی که تایید رو کلیک کرد اطلاعات ثبت بشن.
برای این کار از tempe table هم نمی خوام استفاده کنم راه حلی به نظرتون میرسه؟
سلام
از شماره 140 اين تاپيك كمك بگيريد.
http://barnamenevis.org/showthread.php?87658-%D9%86%D9%85%D9%88%D9%86%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C-%D9%88-%D8%A2%D9%85%D9%88%D8%B2%D8%B4%DB%8C-VBA&p=1172535&viewfull=1#post1172535
.................................
موفق باشيد
stabesh
شنبه 27 آذر 1389, 10:22 صبح
سلام
ممنون ولي اين هم اون چيزي نيست كه من مي خواستم شايد اون كاري كه من مي خواهم انجام بدم اصلا غير ممكن باشد :لبخندساده:
يك سوال هم ازتون داشتم چرا موقع درج از docmd.runsql استفاده نميكنيد و از recordset استفاده كرديد دليل خاصي دارد چون من هميشه دستور insert را مستقيم استفاده مي كنم ولازم نيست اين همه متغير تعريف كنم واين همه خط بنويسم
متشكرم
amirzazadeh
شنبه 27 آذر 1389, 11:29 صبح
سلام
ممنون ولي اين هم اون چيزي نيست كه من مي خواستم شايد اون كاري كه من مي خواهم انجام بدم اصلا غير ممكن باشد :لبخندساده:
يك سوال هم ازتون داشتم چرا موقع درج از docmd.runsql استفاده نميكنيد و از recordset استفاده كرديد دليل خاصي دارد چون من هميشه دستور insert را مستقيم استفاده مي كنم ولازم نيست اين همه متغير تعريف كنم واين همه خط بنويسم
متشكرم
سلام
براي انجام يك كار راههاي مختلفي وجود داره و همينطور سليقه هاي مختلف .خوب من با ركوردست اينكارو انجام دادم شما sql رو ترجيح ميدين.
........................
موفق باشيد
maryamrad
شنبه 27 آذر 1389, 11:36 صبح
من یه بار این کار رو کردم
روی before update فرم کد زیر رو بزارید. از کاربر می پرسه اگر ok زد که ثبت می شه اگر نه ذخیره نمی شه:
Private Sub Form_BeforeUpdate(Cancel As Integer)
' درصورتی که خصوصیت dirty فرم true باشه
If Me.Dirty Then
' برنامه اقدام به پرسش برای ذخیره می کند
If MsgBox("آیا قصد ذخیره اطلاعات وارده را دارید؟ ", vbMsgBoxRight + vbYesNo + _
vbQuestion, "توجه") = vbNo Then
Me.Undo
End If
End If
Exit_BeforeUpdate:
Exit Sub
Err_BeforeUpdate:
MsgBox Err.Number & " " & Err.Description
Resume Exit_BeforeUpdate
End Sub
stabesh
شنبه 27 آذر 1389, 11:42 صبح
ممنون اين رو ميدونم ولي ميخوام اطلاعات فرم وزير فرم با هم ثبت بشه اين جوري كه شما مي گيد ركورد ركورد ذخيره ميشه
stabesh
یک شنبه 28 آذر 1389, 13:25 عصر
كسي راهي به ذهنش نميرسه
لطفا:گریه:
stabesh
سه شنبه 30 آذر 1389, 10:32 صبح
سلام به همه دوستان
از همكاري همه سپاس گزاريم
يه راهي پيدا كرديم :لبخند:
ببينيد خوبه
كسي نظر بهتري نداره ؟ :لبخندساده:
wolfstander
سه شنبه 30 آذر 1389, 10:41 صبح
سلام
یک ایرادی تو برنامه هست
اگه شما چیزی رو وارد نکنید، ارور در کد خواهد داد
و میگه که مقدار null برای کلید تعریف شده است
stabesh
سه شنبه 30 آذر 1389, 11:08 صبح
درست گفتيد فراموش كرده بودم:تشویق:
نظر ديگه ؟:لبخندساده:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.