PDA

View Full Version : سوال: تفكيك ساب فرمهاي چند جدول كه به يك جدول مرتبط هستند



Profesorjd
دوشنبه 12 مهر 1389, 20:52 عصر
با سلام
برنامه داراي چند جدول است كه يكي از آنها اصلي بوده و با بقيه ارتباط يك به چند دارد .
اين جدول اصلي در فرمهاي مختلف بوده كه طبيعتاً از جداول ديگر به عنوان ساب فرم استفاده ميشود . به عبارتي چند فرم وجود دارد كه شامل جدول اصلي به عنوان فرم پدر و هر يك از جداول به عنوان ساب فرم و فرم فرزند استفاده مي‌گردد .
هنگام بازكردن فرم‌ها اطلاعات قبلي آورده مي‌شود ( نياز هست كه باشد ) مشكل اينجاست كه اگر در ساب فرم مربوط اطلاعاتي نباشد جدول اصلي شامل اطلاعات و نمايش داده ميشود . در صورتيكه درست اين است كه اگر در ساب فرم اطلاعاتي بود فرم اصلي هم اطلاعات مرتبط آن ساب فرم را بياورد .
لطفاً بفرماييد چگونه اين مشكل قابل رفع است ؟

Profesorjd
چهارشنبه 14 مهر 1389, 20:12 عصر
با سلام
لطفاً اعلام فرماييد اگر راه حلي ندارد پيگيري نشود !

hoshy345
پنج شنبه 15 مهر 1389, 19:13 عصر
مشکل شما در ساخت فرمهاست من یک نمونه براتون گذاشتم .البته اگه خواسته شما همین باشه

Profesorjd
پنج شنبه 15 مهر 1389, 19:42 عصر
با سلام و تشكر
1- در اينجا جداول Hamrah و Person تكراري ممكن است قرار گيرند وليكن نبايد جداول Tradod و Hokm با استفاده از جداول Hamrah و Person تكراري شوند .
2- هر كدام از جداول Tradod و Hokm‌ نيز دو شقه مي‌شوند كه يكي مربوط به استان و ديگري كشوري خواهد بود كه اگر در كوئري‌ها دقت كرده باشيد در يك يا دو فيلد با هم اختلاف دارند ( در يكي بايد باشد و در ديگري نيست )
3- من از روي اين 4 جدول 4 فرم متفاوت درست كردم كه طبيعتاً ( با اين نوع درست شدن ) در همه آنها از جداول Person و Hamrah استفاده مي‌شود و براي دو تا دو تا ديگر از جداول Tradod و Hokm .
مشكلم همانگونه كه متوجه شديد اين است كه هر چهار فرم بايد قابليت تفكيك داشته باشند كه بتوانند اطلاعات مربوط به خود را بياورند . توضيح اينكه در جداول Tradod‌و hokm يك سريال نامبر انحصاري هم وجود دارد كه از دو بخش درست شده است . حرف و عدد ! كه نتوانستم از اين دو فيلد براي مشكلم استفاده كنم .
در هر صورت با نمونه‌اي كه فرستاده‌ايد ور مي‌روم شايد با آن مشكل حل شود .

hoshy345
پنج شنبه 15 مهر 1389, 21:38 عصر
با عرض پوزش از شما دوست عزیز ایا بنظر شما منطقی است که جدول Person تکراری باشه
یعنی شما مشخصات یک فرد را بارها وارد کنید به نظرتان این کار بیهوده و دور از منطق نیست
جدول Tradod چرا نباید تکراری باشد یعنی یک فرد نمی تواند بارها از مسیر بندر عباس به تهران به ماموریت برود؟ جداول Tradod و Hokm‌ را میتوانید دو شقه کنید
البته این نظر منه و شاید من اشتباه متوجه شدم

Profesorjd
پنج شنبه 15 مهر 1389, 22:03 عصر
با سلام
1- منظورم از تكراري بودن ، استفاده آن در فرمهاست و گرنه اگر به ارتباطي كه من ايجاد كرده بودم دقت نماييد ميبينيد كه جدول اصلي است .
2- در جداول تردد و حكم بدليل ارتباطشان با جدول پرسنل و شماره سريال حكم و همچنين تاريخ نبايد تكراري شود . يعني يك فرد بارها ممكن است از بندرعباس به تهران تردد كند ولي نه بارها در يك تاريخ و نه بارها با يك برگ حكم
3- جدول تردد براي استفاده از خودرو است و جدول حكم براي استفاده از خودرو نيست ( يعني فرد ميتواند مأموريت برود بدون خودرو اداره يا همراه راننده برود و يا يك ماه در يك استاني مأموريت داشته باشد و ... ) . از آنجاكه دو نوع برگه تردد وجود دارد و همچنين دو نوع برگه حكم و بدليل اينكه از نظر اطلاعات فيلدها تقريباً يكسان هستند از يك جدول براي دو نوع فرم استفاده كردم .
4- وجه تمايز اين برگه‌ها ( فرم‌ها) در فرد استفاده كننده و برگه صادره و همراهان هستند . فرد استفاده كننده حتماً بايد در اداره باشد ( كاركناني كه حقوق بگير هستند يا رسمي يا قراردادي و يا روزمزد ) ولي همراه اين فرد ممكن است از كاركنان اداره نباشد ( در اين اداره نباشد يا فردي مثلاً كه پي‌گيري يك موضوعي است كه مربوط به آن اداره بوده و مثلاً براي نتيجه گيري همراه فرد مد نظر بايد باشد )
تا اينجا كارم را توضيح دادم . با اين توضيحات ( اگر كافي باشد ) ميخواهم برگه‌ها را با استفاده از فرم تكميل چاپ و انواع گزارش در نهايت گرفته شود . در اين مرحله وقتي فرم‌ها را درست كردم مي‌بايد ارتباطي وجود داشته باشد كه اطلاعات متناظر خودش باشد . يعني اگر اطلاعات مربوط به فرم برگه تردد بين شهري وارد شد در دفعات بعد فقط اين اطلاعات را نمايش دهد نه اينكه بترتيب شماره وارد شده نمايش دهد كه اگر شماره 1 مربوط به فردي است كه برگه تردد بين شهري برايش پر نشده نمايش دهد بدون محتويات برگه تردد بين شهري .
بازهم تشكر ميكنم از لطفي كه مي‌فرماييد و ديگر اساتيد و دوستان

hoshy345
جمعه 16 مهر 1389, 00:52 صبح
متاسفانه من كه متوجه نشدم
اساتيد لطف كرده و دوستمان را راهنمايي كنند