PDA

View Full Version : سوال: درج جدولي با مقادير جداول ديگر



salargham
شنبه 28 اردیبهشت 1392, 12:45 عصر
با سلام
من دارم يه برنامه اي مينويسم كه نياز دارم تا با استفاده از 3 تا جدول،يك جدول ديگر داخل برنامه ايجاد كنم.
مثلا ميخوام با كليك روي ركورد 1 جدول اول يك فيلد اون رو با توجه به نياز خودم بگيره و همچنين اون 2 تا جدول هم به همين صورت.
حالا در انتها ميخوام با كليك بر روي يه دكمه 3 تا فيلد انتخاب شده از سه تا جدول رو در يك جدول ديگر در يك ركورد ذخيره كند.
ممنون ميشم از دوستان اگه لطف كنن جواب بدن.

salargham
یک شنبه 29 اردیبهشت 1392, 18:22 عصر
هیچ کسی نیست!!!!!!!!!!

salargham
سه شنبه 07 خرداد 1392, 18:36 عصر
بچه ها لطفا اگه كسي ميتونه راهنمايي كنه

veniz2008
سه شنبه 07 خرداد 1392, 19:42 عصر
سلام.
قبلا در سایت درباره این موضوع بحث شده بود ولی به نظرم این نیاز شما احتیاجی به جدول پویا نداره. فیلدهای پویا زمانی کاربرد داره که نام و نوع فیلدها از قبل مشخص نیست درصورتیکه نام و نوع فیلدهای شما مشخص هستن. البته میشه یه جدول رو با کوئری در زمان اجرای برنامه و طبق فیلدهای انتخابی ایجاد کرد و رکورد هم درج کرد ولی ...
ولی برای بار دوم که کاربر میخواد فیلدهای جدیدی اضافه کنه چی؟. البته میشه تمام فیلدها رو موقع طراحی null گرفت که اگر فیلدهایی که در مرحله قبلی ایجاد شده بودن در مرحله جدید انتخاب نشده باشن رو بتونید خالی رها کنید ولی هفت خان که چه عرض کنم بالای 10 تا 15 تا خان رو باید بگذرونی. شما باید در اون کوئری چک کنید که آیا اون فیلد قبلا درج شده در جدول یا نه و ...
همونطوری که می بینید توضیح دادن شفاهیش هم مشکله چه برسه به پیاده سازی واقعیش.
من برنامه شما رو ندیدم ولی به نظرم تحلیل شما از برنامه مورد نظرتون اشتباه هست و نیازی به ساخت جدول پویا ندارید!!!
میتونید یه جدول از قبل ایجاد کنید و فیلدهای هر سه جدول رو در اون قرار بدید (که همشون null پذیر هستن). البته این جدول از فضاهای خالی زیادی که در هر رکورد ایجاد میشه رنج میبره و همچنین عبارت null هم در کوئری های select ای که میزنید شما رو دچار مشکل میکنه که برای رفع این مشکل میتونید که برای تمام فیلدهاتون مقدار پیش فرض در نظر بگیرید که اگر برای اون فیلدها مقدار وارد نکردید، مقدار پیش فرض درون فیلدها قرار بگیره( مثلا کاراکتر "-" رو بصورت پیش فرض در نظر بگیرید به جای null).
اینم اضافه کنم که ساخت یک جدول از ابتدا هیچ تفاوتی با همون جدول پویا نخواهد داشت! چون شما در نهایت حتی اگر اون جدول پویا رو پیاد سازی کنید ممکنه همون بار اول کاربر تمام فیلدهای هر سه جدول رو تیک بزنه و شما در همون مرحله اول مجبور بشید که جدول رو با تمام فیلدها ایجاد کنید.
توصیه من اینه سمت جدول پویا نرید(مدیریت کردنش مشکل هست و برای برنامه شما هم با توجه به توضیحاتی که دادید نیاز نیست). اگر چنین جدولی نیازتون هست از همون ابتدا ایجادش کنید.
در پایان این نکته رو هم بگم که اگر رکوردهای زیادی رو برای این جدول ثبت خواهید کرد، ایندکس مناسب رو برای جدولتون در نظر بگیرید تا موقع جستجو سرعت بالایی رو داشته باشید.
تاپیک زیر هم میتونه بهتون کمک کنه.
http://barnamenevis.org/showthread.php?308178-%DA%AF%D9%81%D8%AA%DA%AF%D9%88%DB%8C-%D9%81%D9%86%DB%8C-%D8%AA%D8%B9%D8%B1%DB%8C%D9%81-%D9%88-%D9%BE%DB%8C%D8%A7%D8%AF%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%D9%81%DB%8C%D9%84%D8%AF%D9%87%D8%A7%DB%8C-Dynamic-%D8%AF%D8%B1-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3
موفق باشید.

salargham
چهارشنبه 15 خرداد 1392, 21:55 عصر
بسیار ممنونم که برای سوال بنده وقت گذاشتید/