PDA

View Full Version : سوال: ثبت تعداد ركوردهاي تكراري در يك فرم



abdoreza57
یک شنبه 30 آبان 1389, 22:31 عصر
با سلام خدمت تمام دوستان و اساتيد عزيز
در مثالي كه خدمت عزيزان ارائه كردم ميخواهم مشترياني كه به صورت تكراري وارد شده تعداد مراجعه آنها هم ثبت شود
به صورت كلي نمي دانم چطور اين فيلد را تعريف كنم كه در آن تعداد مراجه فرد هم ثبت شود خواهش مي كنم مرا راهنمايي كنيد


سوال ديگري هم دارم و آن اينكه آيا مي شود هنگام كپي ركورد در فرم با يك پيغام اين اتفاق بيفتد


"اين ركورد با تمام محتويات به ركورد جديد كپي مي شود آيا مطمئن هستيد ؟"

wolfstander
دوشنبه 01 آذر 1389, 09:30 صبح
به صورت کلی شما یک کوئری تعریف کن به این صورت
شماره مشتری را گروپ کن
شماره مراجعه را Count کن
در این حالت به ازای هر گروه مشتری، یک عدد که تعداد مراجعه هست برای شما نمایش داده می شود

abdoreza57
دوشنبه 01 آذر 1389, 19:48 عصر
ضمن تشكر اين كار را انجام دادم
ولي باز مشكل حل نشد خواهش مي كنم اگر به اين روش مطمئن هستيد تو نمونه اصلاح كنيد و مرا دعاگويتان

ali190
دوشنبه 01 آذر 1389, 20:31 عصر
سلام
شما در طراحی جداولیتون اشتباه کردید
شما برای هر مشتری کلید منحصر بفرد تعریف نکردید
الان در جدول شما هر مشتری چطور بصورت منحصربفرد شناسایی میشود؟

abdoreza57
دوشنبه 01 آذر 1389, 22:05 عصر
درست فرموديد و به نكته مهمي اشاره كردي
ببينم ميتونم شماره موبايل هر فرد را index كرده و از آن به عنوان خصوصيت منحصر به فرد استفاده كنم؟
در صورت مثبت بودن اين خصوصيت داراي ويژگي تكرار را هم بايد داشته باشد
اما متاسفانه با تمام اين موارد اين خصوصيت رانتوانم فعال كرده و يك فيلد را در كوئري بياورم كه تعداد مراجعه فرد را برساند
علي آقا ممنون مي شم اگه منو از سردر گمي نجات بدي

ali190
دوشنبه 01 آذر 1389, 22:40 عصر
سلام
ببین در طراحی یک بانک باید خیلی موارد رو در نظر گرفت
اگر یکی از مشتریهات موبایل نداشت چی کار میخوای بکنی
دیگه نباید براش رکورد تشکیل بدی؟
بنظرم باید بانکت رو اصولی طراحی کنی
مثلاً مشتری شما با شماره سفارش 22 اصلاً موبایل نداره
خودت نگاه کن

abdoreza57
سه شنبه 02 آذر 1389, 17:53 عصر
ضمن تشكر از دوستان و علي آقا حق با شماست
ولي در حال حاضر براي رفع احتياج خود روشهاي متعددي به نظرم مي رسه كه قائدتا تمام اين موارد به علت نادرست بودن روابط به عنوان يك روش صحيح نخواهد بود
علي ايحال من نمونه را كمي دستكاري كردم كه باز به مشكل خورده است چون گزارش تعداد ركوردهاي تكراري اجرا نمي گردد همين طور نمي خواهم فرم به صورت فرم و ساب فرم درآيد بلكه در يك تيبل اين اطلاعات ثبت شود و همين طور قابل دسترسي سريع

از تمامي اساتيد محترم خواهش مي كنم مرا در اين مهم ياري نمايند
همين طور در مورد مشكل دوم كه دستور Duplicate Record با يك پيغام بله و خير شروع شود اگر كسي روشي سراغ داره ممنون مي شم اگه راهنمايي كنه

abdoreza57
چهارشنبه 03 آذر 1389, 15:20 عصر
به چند علت در نمونه خود شماره انحصاري مشتريان فقط مي بايست شماره موبايل افراد باشد
در مورد نداشتن موبايل برخي افراد مشكل را حل مي كنم اما شما لطف كنيد راهي كه بتوان با همين شماره گزارش را فيلتر كرده و شماره سفارشات تكراري را در آورد بگوييد
بي نهايت از راهنماييهايتان ممنونم چون با همين چند پست بسياري از راهكارها برايم هويدا شد

ali190
چهارشنبه 03 آذر 1389, 19:00 عصر
سلام


فایل نمونه رو اصلاح کردم
ببین منظورت همین بود؟
ابتدا کوئری total و سپس کوئری tekrari رو مشاهده کن

فایل نمونه مجدداً اصلاح گردید

یاعلی

abdoreza57
پنج شنبه 04 آذر 1389, 17:52 عصر
با توجه به درخواست بنده كه " دستور Duplicate Record با يك پيغام بله و خير شروع شود اگر كسي روشي سراغ داره ممنون مي شم راهنمايي كنه " اگه شدني هست بگيد

در ضمن علي آقا متاسفانه فايل را اشتباه آپلود كردي لطف كن اصلاحش كن

ali190
پنج شنبه 04 آذر 1389, 18:07 عصر
سلام
در مورد yes/no هم آیا منظورتون کد زیر است؟

Dim x As String
x = MsgBox("ÂíÇ ãØãÆä åÓÊíÏ¿", vbYesNo + vbMsgBoxRight, "ÊæÌå")
If x = vbYes Then
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append
Else
Exit Sub
End If
یاعلی

abdoreza57
پنج شنبه 04 آذر 1389, 20:39 عصر
واقعا ممنون بالاخره با راهنماييهاتون به يه جايي رسوندم و اصلاح شد
از اينكه وقت گذاشتي و باعث شدي كارم راه بيافته ممنون .
حالا درست مثل نمونه اي كه براي حذف ركورد هست ميخواهم كدي بنويسم كه اگر كاربر به هر عنوان اشتباهي باتون كپي ركورد را زد او را آگاه كند

اين كد را سعي كردم تو فرم بيارم اما نشد !
ممنونت ميشم اگه تو نمونه آخري اون كد را برام وارد كني تا به پايان اين داستان برسيم

«بر ولايت علي ابن ابيطالب زنده باشيم و با آن به ديدار حق بشتابيم »

ali190
پنج شنبه 04 آذر 1389, 21:04 عصر
سلام
متوجه سئوال آخرتون نمیشم؟
خوب همون کد "پرسیدن سئوال از کاربر توسط msgbox" رو به اون دکمه هم اضافه کنید
این که سخت نیست
شاید من سئوالتون رو بد متوجه شدم؟
یاعلی

abdoreza57
جمعه 05 آذر 1389, 10:53 صبح
شرمنده دقيقا همون چيزي است كه ميگي
منتها نتونستم اون كد msgbox را به اون دكمه انتقال بدم مي شه با يه كم توضيح اين كارو برام انجام بدي(روي فايل ضميمه FINAL ) اصولا من تو دستورات كد نويسي اشكال زيادي دارم
بازم قبلا از زحماتت ممنونم اگه زود اين كارو برام انجام بدي لطف كردي
قربانت منتظرم

ali190
جمعه 05 آذر 1389, 11:09 صبح
سلام
این هم نمونه کد:

DoCmd.SetWarnings False

If MsgBox("ÂíÇ ãÇíá Èå ÇäÌÇã Çíä ˜ÇÑ åÓÊÊíÏ¿", vbYesNo + vbCritical + vbDefaultButton2, "ÓÆæÇá") = vbNo Then
Exit Sub
Else
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append
End If