PDA

View Full Version : مبتدی: کوئری مانده حساب



arpachi
سه شنبه 19 اردیبهشت 1391, 18:14 عصر
با سلام خدمت اساتید گرامی
بنده برای محاسبه مانده حسابهای مشتریان میخواهم از یک کویری که اطلاعات هر مشتری را از جدول استخراج میکند و مانده حسابها را هم معلوم میکند استفاده کنم (برای نوشتن این سورس از اطلاعات درون همین سایت کمک گرفته ام )ولی مشکل اینجاست که وقتی اجرا میشود برنامه هنگ میشود و تعداد زیادی رکورد در جدول واسط تولید میکند.و در کوئری هم اطلاعاتی کپی نمیشود.
لطفا راهنمایی کنید.

arpachi
پنج شنبه 21 اردیبهشت 1391, 12:03 عصر
تو رو خدا کمک!!!!!!!!!!!!!!!!!!!!!!!!
هر راهی میرم به نتیجه نمیرسم
خیلی احتیاج دارم.

Hedesh
پنج شنبه 21 اردیبهشت 1391, 13:04 عصر
با سلام
من فایل شما رو نگاه کردم شما قواعد نرمال سازی رو تو جدول هاتون رعایت نکردید.
حالا من یه سوال از شما دارم اونم اینه که در جدول Detail منظور از کد سرفصل کد مشتری است. در این صورت تو این جدول فقط باید کد مشتری و نام مشتری درج شود و لاغیر.
در جدول دوم عملیات روزانه باید ثبت ورود و خروج انجام شود و یک فیلد مرتبط با جدول اول که کد مشتری و نام مشتری را انتخاب می کنید.
در هیچ کدام از جداول نباید محاسبات انجام شود چون جدول ها محل ذخیره اطلاعات هستند نه محاسبات.
سپس با استفاده از کوئری های متعدد عملیات محاسبه و مانده گیری را انجام دهید.
و با استفاده از گزارشات نمایش دهید.
این کار به سادگی و فقط با یک ارتباط یک به چند قابل انجام است و احتیاج به کد نویسی در ماژول های متعدد ندارد.
سعی می کنم روی نمونه شما یه اصلاح سریع انجام بدم و بذارم .
بازم اگر من اشتباه منظورتون فهمیدم بگید.

Hedesh
پنج شنبه 21 اردیبهشت 1391, 14:13 عصر
من یه نسخه ساده از روی فایل شما درست کردم که جدولهاش قواعد نرمال سازی توی اونها رعایت شده.
حالا اگر این فایل آن چیزیست که شما مورد نظرتون بوده برای اجرای فیلتر تاریخ می تونید با استفاده از کد نویسی روی اون اصلاحات مورد نظرتون رو اعمال کنید.

فایل جدید رو ضمیمه کردم.

arpachi
پنج شنبه 21 اردیبهشت 1391, 17:10 عصر
با سلام جناب Hedesh .
ممنون از توجهتون.
فرمایش شما متین.البته این یک بخشی از برنامه و جداول اون است و من هم چنین کاری کرده ام.جدول AuthorityDetail برای ثبت وقایع روزانه است و یک جدول برای مشخصات مشتری دارم که از طریق کد سرفصل حساب که همان کد مشتری است با این جدول ارتباط دارد.و کوئری مربوط را برای نمایش دادن درون فرم موجود و در لیست باکس احتیاج دارم .
در واقع برنامه اصلی شامل دو بخش میشود و چون قرار است حجم وسیعی اطلاعات داشته باشد و به توصیه اساتید همین سایت از ابتدا سعی کردم که فرمها و گزارشات را بصورت unbound طراحی کنم و از کد نویسی برای ارتباط اطلاعات استفاده کنم.
البته در جاهای زیادی از برنامه من این کد نویسی برای کوئری محاسباتی بدرد خواهد خورد.
حال از شما خواهش میکنم اگر ممکنه اشتباهات این برنامه رو بگیرید و بگید چرا عمل نمیکنه؟
باز هم ممنون.

arpachi
پنج شنبه 21 اردیبهشت 1391, 17:14 عصر
البته باز هم بگم این فرم قرار است وقتی که کد حساب مشتری از کومبو باکس انتخاب میشود اطلاعات مربوط به حساب اون رو نمایش بدهد.و در حالت عادی اطلاعات کلیه افراد رو.که فکر کنم با شرط iif بشه این کار رو کرد.
توضیح اینکه از تصمیم بر این بوده که در جدول Table4DafaterReport اطلاعات مربوط به شخص مورد نظر ذخیره بشه و از روی اون کوئری محاسباتی A ساخته بشه و بعد از خرو ج از فرم یا تعویض شخص مورد نظر از کومبو باکس این اطلاعات پاک بشن و اطلاعات جدید جایگزین اونها بشن.یعنی این جدول و کوئری نقش واسط رو بازی کنن.که اون هم واسه اینه که نخواهیم همه اطلاعات رو درون کوئری مدام داشته باشیم.

arpachi
یک شنبه 24 اردیبهشت 1391, 17:11 عصر
بالاخره حل شد!
کس نخارد پشت من جز ناخن انگشت من
ایرادش تو شرط stsql بود که باید به این صورت تصححیح بشه
StrSql = "SELECT AuthorityDetail.* FROM AuthorityDetail WHERE ((AuthorityDetail.ADCodingSeq = " & [Forms]![billing_persons_list]![Combid] & ")) ORDER BY AuthorityDetail.ADSanadNo,AuthorityDetail.ADDateSa nad;"
:خجالت::چشمک: