PDA

View Full Version : سوال: اصلاح کد گزارش برنامه ریزی بازدید



soroush_k12
شنبه 20 تیر 1388, 08:46 صبح
با سلام خدمت دوستان عزیز
در برنامه نمونه پیوست یک گزارش به اسم R1 وجود دارد که هدف آن برنامه ریزی برای بازدید تعدادی مشترک است .بطوری که ابتدا تعداد مشترک جهت بازدید در هر روز از کاربر سوال شده و سپس تاریخ شروع برنامه بازدید با فرمت یک عدد 8 رقمی (مثل 13880420 ) سوال میگردد.
در این گزارش هدف این است که روز جمعه از برنامه بازدید حذف شده و مشترکین آن به روز بعد یعنی شنبه منتقل شود . ولی این عمل به درستی انجام نمی شود یعنی مشترکین روز جمعه به روز بعد منتقل شده و مشترکین روز بعد(شنبه) در جای خودشان هستند یعنی مشترکین روز شنبه 2 برابر می شود که نباید این طور باشد و تعداد مشترکین تمامی روزهای هفته به غیر از جمعه می بایست برابر باشند.
از اساتید اهل فن VB خواهشمندم که در اصلاح کد گزارش فوق مرا یاری کنند.
باتشکر از توجه شما

amir4_1363
شنبه 20 تیر 1388, 10:52 صبح
دوست عزیز تو نام تمام فیلدهاتو باید به انگلیسی تغییر بدی تا در تمام مراحل بعدی وپیشرفته تر از جمله کد نویسی دچار مشکل نشی

soroush_k12
شنبه 20 تیر 1388, 17:34 عصر
دوست عزیز تو نام تمام فیلدهاتو باید به انگلیسی تغییر بدی تا در تمام مراحل بعدی وپیشرفته تر از جمله کد نویسی دچار مشکل نشی

سلام آقای امیر
درسته حق با شماست . ولی در این مورد خاص فکر نمی کنم نام فارسی فیلدها دردسر درست کنه .کد فعلی نوشته شده با نام های فارسی کاری ندارد :

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
Dim d1, d2 As Long, no, a As Integer
d1 = Me.Text94 Mod 1000000
B1:
no = Me.Text81 - 1 + a
d2 = AddDay(d1, no)

If DayWeekNo(d2) = 6 Then a = a + 1: GoTo B1
Me.Text93 = DayWeek(d2) & " 13" & Sal(d2) & "/" & Mah(d2) & "/" & Rooz(d2)
End Sub

soroush_k12
شنبه 20 تیر 1388, 17:45 عصر
در فایل تصویری ضمیمه، اشکال گزارش را در باکس قرمز رنگ مشخص کرده ام.
با توجه به حذف روزهای جمعه از برنامه بازدید ، تاریخ 8/1/1388 شنبه برای دو مشترک روز جمعه قید میشود که درست است و لی مشترکین روز شبنه به جای این که به روز یکشنبه شیفت پیدا کنند در جای خودشان هستند در نتیجه برای روز شنبه 4 مشترک در نظر گرفته میشود که صحیح نیست.
از دوستان اهل فن VB خواهش دارم در اصلاح کد مرا یاری دهند
با تشکر

soroush_k12
دوشنبه 22 تیر 1388, 07:19 صبح
از دوستان عزیز خواهشم می کنم کمی توجه کرده و وقت بگزارند چون خیلی برای من حیاتی است
ممنونم از همه دوستان

dadsara
دوشنبه 22 تیر 1388, 07:51 صبح
سلام
دوست عزیز منظور شما اینه که فقط می خواهید برای روزهای جمعه هیچ وقتی داده نشود ؟

amir4_1363
دوشنبه 22 تیر 1388, 08:09 صبح
سلام
دوست عزیز منظور شما اینه که فقط می خواهید برای روزهای جمعه هیچ وقتی داده نشود ؟
نه منظورش اینه که در یک شماره بازدید رو در دوروز یا بلعکس نزنه وتفکیک بشه والا دیگه من بهتر از این منظورشو نفهمیدم دوستان اگه محبت کنند دقیقا منظور ومفهوم خودشون رو واضح بیان کنند بهتر میشه راهنمایی کرد

soroush_k12
سه شنبه 23 تیر 1388, 08:26 صبح
سلام
دوست عزیز منظور شما اینه که فقط می خواهید برای روزهای جمعه هیچ وقتی داده نشود ؟

سلام دوست عزیز
بله منظور من همینه یعنی اولا روز جمعه کلا از ستون "تاریخ بازدید" گزارش حذف شود . ثانیا مشترکین روز بعد آن یعنی شنبه دو برابر نشوند.
کد نوشته شده توسط اینجانب قسمت اول را درست انجام میدهد و لی قسمت دوم را نه . به این معنی که مشترکین روز بعد آن 2 برابر می شوند ( مثلا اگر توسط کاربر 2 مشترک برای بازدید در هر روز تعیین شده باشد ، روز جمعه از لیست حذف شده ولی برای روز بعد از جمعه 4 مشترک لیست میشود که صحیح نیست و می بایست تمام روزهای هفته 2 مشترک در لیست داشته باشند)
در واقع پس از حذف روز جمعه مشترکین آن به روز بعد(شنبه) شیفت پیدا می کنند ولی مشترکین روز شنبه به روز یکشنبه شیفت پیدا نکرده و در جای خودشان هستند به این علت برای روز شنبه تعداد مشترکین 2 برار میشود که این اشتباه است.
امید وارم که توانسته باشم منظورم رو خوب بیان کنم
با تشکر از آقایان dadsara و amir4_1363