PDA

View Full Version : گرفتن آمار دیتا بیس مخصوصاٌ آمار فیلد های تکراری



ma_reyhan
جمعه 24 فروردین 1386, 12:35 عصر
با سلام وتشکر از دوستان و مدیران سایت من یک نمونه دیتا بیس دارم که می خو.ام آمار دیتا بیس آن رو بگیرم مثلاٌ آمار اشخاصی که در دو فیلد نام و نام خانوادگی آنها یکسان هستند نمایش داده و جمع فیلدهای آن را برایم بنویسد
من با استفاده از کوئری Crosstab فقط توانستم یک فیلد رو آمار بگیرم و با انتقال داده ها به فرم آمار این کار رو انجام دادم اما مشکل من اینست که من می خواهم دو یا سه فیلد رو چک کرده و آمار آن رو به من بده امیدوارم مثال زیر بتونه منظور منو برسونه

davood-ahmadi
جمعه 24 فروردین 1386, 13:34 عصر
من یک کووری بنام query1 ساختم . فرم آمار را نگاه کن ببین درسته.

ma_reyhan
جمعه 24 فروردین 1386, 17:31 عصر
داود عزیز در ست مثل دفعه قبل زدی به هدف با ز هم شرمندگی
2 سئوال دارم البته با کمال پرروئی
1- در برنامه یکی از دوستان از یک ماژول برای از کار انداختن چرخ اسکرول موس استفاده کرده بود که کد داخل ماژول را در فرم لود فراخوانی می کرد اما من اینجا بکار بردم اما مشکل حل نشد در نمونه زیر این ماژول رو بکار بردم ممنونم اگر نگاهی بیاندازی
2- در برنامه هائی که معمولاٌ‌از کلید سیو رکورد برای ثبت اطلاعات استفاده می شود معمولاٌ می توان کدهایی برای چک کردن خالی بودن یا نبودن فیلد یا فیلدها قبل از سیو کردن قرار داد آیا بدون قرار دادن کلید سیو رکورد یا ضبط اطلاعات راهی برای چک کردن خالی نبودن فیلد یا فیلدها وجودداره در کدام رویداد قرار می گیره متشکرم مهرداد

davood-ahmadi
شنبه 25 فروردین 1386, 09:44 صبح
در مورد مسئله اول اینکه یک Error می دهد که عکسش را ضمیمه کردم.
در مورد مسئله دوم اینکه شما می توانید در Befor Update فرم مربوطه دستورات لازم را جهت کنترل بنویسید.

majid325
شنبه 25 فروردین 1386, 10:51 صبح
در مورد مسئله اول اینکه یک Error می دهد که عکسش را ضمیمه کردم.
.
اگه دوستتون از راهی که منم استفاده میکنم این کار رو انجام میدم ,شما باید این dll هم کنار پروژه بزارید.

ma_reyhan
شنبه 25 فروردین 1386, 18:36 عصر
با تشکر از دوستان من این dll رو داخل دایرکتوری سیستم داشتم بحر حال بازهم قضیه این چرخ
حل نشد یک نمونه فایل مربوط به کتابخانه که از این ماژول استفاده کرده بود رو می زارم شاید با کمک دوستان بتونم مشکل رو حل کنم البته نمی دونم از کجا دانلود کردم تا حداقل از مولف اثر اینجا نام ببرم فایل dll هم گذاشتم
تقریباٌ 850 کیلو بایته

davood-ahmadi
شنبه 25 فروردین 1386, 19:37 عصر
برنامه شما را دریافت کردم . درست کار می کرد. شما باید قسمت فرم لوود یکی از فرمهایی که براش آن دستور را گذاشتی بری و برک پوینت بگذاری تا ببینی که اصلاً برنامه به اون خط می ره تا اون خط را اجرا کنه. یه احتمال دیگه که شما به قسمت کد نویسی فرم بروید و قسمت Tools > Refrences بروید اونجا احتمالاً یکی از Refrence های شما از دست رفته است.

ma_reyhan
یک شنبه 26 فروردین 1386, 01:05 صبح
با تشکر از داوود عزیز و دیگر دوستان
مشکل رو با تغییر رویداد کدها حل کردم یعنی وقتی فرم لود می شد رویداد فرم لود اجرا نمی شد حالا چرا خودم هم نفهمیدم کدها رو در رویداد Form_Current قرار دادم
من یک مشکل دیگر هم پیدا کردم در فرم فایل نمونه دو کلید قرار دارد یکی برای افزودن رکورد جدید و دیگری برای ضبط رکورد حالا مشکلی که دارم اینه که در کلید ضبط رکورد از یک جمله شرطی جهت ضبط یا عدم ضبط رکورد استفاده کردم اما وقتی انصراف از ضبط رکورد را می زنم شماره
فیلد شماره نامه که اتو نامبر است یک شماره به جلو می رود و این باعث از بین رفتن ترتیب شماره ها در رکوردهای دیتا بیس من می شود آیا روشی نیست که این مشکل رو بتوان حل کرد
در فایل نمونه هم می بینید که بعد از 3 بار انصراف شماره نامه جدید با سه شماره افزایش ثبت شده است

ma_reyhan
یک شنبه 26 فروردین 1386, 01:07 صبح
فایل ضمیمه گویا لود نشد دوباره لود کردم

davood-ahmadi
یک شنبه 26 فروردین 1386, 13:04 عصر
شما می توانید یک فرم دیگر که با جدول باند نباشد درست کنید و سپس بعد از ورود اطلاعات توسط کاربر و کلیک بر روی دکمه Save اطلاعات روی فرم را به جدول منتقل کنید.

ma_reyhan
یک شنبه 26 فروردین 1386, 15:30 عصر
داوود جان متشکرم
در مورد فیلد اتو نامبر در یک دیتا بیس با حداقل 15000 رکورد من حدود شش بار مجبور شدم فیلد اتو نامبر را دستکاری کنم چون در بین شماره ها یک شماره را جا می انداخت راهی برای رفع این موضوع قبل از بوجود آمدن این وقفه تک شماره ای سراغ دارید ممنون

davood-ahmadi
یک شنبه 26 فروردین 1386, 15:33 عصر
شما باید ورودی خود را درست کنید تا این وضعیت براش پیش نیاید. ولی بازم اون حالت هم راه حل دارد و اون هم حذف اون فیلد از جدول مربوطه و ایجاد مجدد از طریق کدهای VBA است.

ma_reyhan
یک شنبه 26 فروردین 1386, 15:42 عصر
آیا مثالی در این مورد دارید متشکر می شوم

davood-ahmadi
یک شنبه 26 فروردین 1386, 22:04 عصر
نمونه را آماده کردم.