PDA

View Full Version : درج اطلاعات به صورت کلی



mhmoein
چهارشنبه 21 مهر 1389, 14:54 عصر
با سلام خدمت دوستان عزیز

فرض کنید ما یک لیست داریم از پرسنل شرکت که 250 نفر هستند که هر کدام کد پرسنلی خاص خود را دارند.
حالا من می خوام هر ماه یک لیست جدید تو دیتابیس ایجاد کنم با شماره ماه و نام و کد پرسنلی اونها
به عنوان مثال می خوام برای ماه (مهر) که ماه 7 میشه تو برنامم با زدن یک دکمه لیستی جدیدی درست بشه و به همراه کد پرسنلی و نام و نام خانوادگی اونها و عدد هفت که نشانگر مهر ماه هست.
ممنون می شوم راهنمایی بفرمائید.

ali_najari
چهارشنبه 21 مهر 1389, 15:05 عصر
دوست عزيز اگر ميخوايد يه جدول جديد توي Database ايجاد كنيد 2 راه داريد

1- با استفاده از كدهاي SQL يه جدول بسازيد و فيلدها و مقدار آنها رو معرفي كنيد
2- توي ديتابيس يه جدول خالي بسازيد و باز هم با استفاده از دستورات SQL اون جدول رو كپي كني و تغيير نام بدي به اون نامي كه ميخواي

دوست عزيز فكر نميكنيد اگر جداول ماه به ماه رو جدا كنيد اگر يه زماني كسي بخواد كه اطلاعات ماه 5 تا 7 رو مشاهده كنه بايد چيكار كنه؟
اين يه كار اشتباهي هست كه براي هر ماه يه جدول درست كنيد

mhmoein
چهارشنبه 21 مهر 1389, 15:25 عصر
با تشکر از پاسخ شما
اما من نمی خوام جداول رو جدا کنم
من می خوام مثلا توی جدول ( L_KOL) هر ماه کد پرسنلی ، نام و نام خانوادگی ، و شماره ماه با یک دکمه درج بشه همین.

ali_najari
چهارشنبه 21 مهر 1389, 16:13 عصر
با تشکر از پاسخ شما
اما من نمی خوام جداول رو جدا کنم
من می خوام مثلا توی جدول ( L_KOL) هر ماه کد پرسنلی ، نام و نام خانوادگی ، و شماره ماه با یک دکمه درج بشه همین.

من اصلا نفهميدم كه شما چيكار ميخوايد بكنيد يه مثلا بزنيد از كاري كه ميخوايد بكنيد

mhmoein
چهارشنبه 21 مهر 1389, 16:54 عصر
من اصلا نفهميدم كه شما چيكار ميخوايد بكنيد يه مثلا بزنيد از كاري كه ميخوايد بكنيد

چشم
دوست عزیزم من تو بانک SQL خودم یک جدول دارم به نام (Personel)
که داخل اون فیلدهای ( Per_ID و Fullname ) قرار داره که شامل کد پرسنلی و نام و نام خانوادگی اونها می شه.
یک جدول دیگه دارم به نام ( M_KOL) که داخل اون فبلدهای ( PER_ID) و ( FULLNMAE) و (MAH) و (KASR) هست.

حالا می خوام توسط یک دستور هر ماه از داخل جدول (Personel) اطلاعات اون دو فیلد رو از جدول رو بگیره و شماره ماه ( به عنوان مثال 7 که برای مهر ماه می شه ) و عدد صفر را به صورت خودکار در جدول (M_KOL ) وارد کنه.

به عنوان مثال اطلاعات را در جدول ( M_KOL) اینجوری ثبت کنه :

PER_ID = 840522 ------> ( از جدول PERSONEL بگیره )
Fullname=علی نادری ------> ( از جدول PERSONEL بگیره )
MAH=7 ----------> از یک تکست باکس بگیره
KASR=0 ----------> از یک تکست باکس بگیره
ثبت کنه

حالا برای تمام افراد موجود در جدول پرسنل خودکار به همین صورت عمل بشه یعنی اطلاعاتشون گرفته بشه و در جدول ( M_KOL) تک تک بدون دخالت کاربر ( فقط با یک دکمه ) به همون صورت بالا ثبت بشن.

نمی دونم ، امیدوارم درست توضیح داده باشم.

ali_najari
چهارشنبه 21 مهر 1389, 17:09 عصر
يعني براي هر كارمند يك ركورد اضافه بشه كه اطلاعات ماه و صفر رو وارد كنه درسته؟

اگه ميخوايد اين كار رو بكنيد ميتونيد ابتدا ركوردهاي مربوط به پرسنل رو بخونيد سپس توي يه حلقه كه ابتداش از 0 و انتهاي اون معادل (تعداد كارمندها -1) هست قرار بدي و اطلاعات رو داخل ديتابيس ذخيره كني

روش 2 : با استفاده از Query هاي خود SQL اين كار رو بكني كه مقدار كد نويسي رو كمتر ميكنه ولي يكم پيچيده هست

كمي منتظر باشيد تا يه Sample واست بزارم با حلقه و اگه بشه همين امشب يه Sample هم با Query هاي SQL اين كار رو واست بكنم

Alghoochi
چهارشنبه 21 مهر 1389, 20:52 عصر
چرا اطلاعاتی مثل اسم و ... کارمند ها را در یک جدول جدا ذخیره نمی کنی. و فقط کد اونها رو وارد کنی. این کار باعث میشه حجم بانک اطلاعاتیت کمتر بشه.
برای وارد کردن اطلاعات هم همون طوری که دوستمون گفتن با یه حلقه for میشه.

mhmoein
چهارشنبه 21 مهر 1389, 21:08 عصر
يعني براي هر كارمند يك ركورد اضافه بشه كه اطلاعات ماه و صفر رو وارد كنه درسته؟

اگه ميخوايد اين كار رو بكنيد ميتونيد ابتدا ركوردهاي مربوط به پرسنل رو بخونيد سپس توي يه حلقه كه ابتداش از 0 و انتهاي اون معادل (تعداد كارمندها -1) هست قرار بدي و اطلاعات رو داخل ديتابيس ذخيره كني

روش 2 : با استفاده از Query هاي خود SQL اين كار رو بكني كه مقدار كد نويسي رو كمتر ميكنه ولي يكم پيچيده هست

كمي منتظر باشيد تا يه Sample واست بزارم با حلقه و اگه بشه همين امشب يه Sample هم با Query هاي SQL اين كار رو واست بكنم


ممنون می شم اگر بتونید یک مثال کوچک برام درست کنید. با تشکر

hooooman
چهارشنبه 21 مهر 1389, 21:53 عصر
سلام
ببخشين شايد من منظورتون رو اشتباه فهميدم!
ولي اگر شما ميخاين براي هر ماه توي 1 جدول اطلاعات 250 نفر تکرار بشه فک نميکنين طراحي پايگاه دادتون اشکال داشته ياشه؟
يعني بعد از 12 ماه شما 3000 تا اطلاعات مشابه خواهيد داشت
لطفا اگر منظور رو اشتباه فهميدم ببخشين

mhmoein
چهارشنبه 21 مهر 1389, 22:11 عصر
سلام
ببخشين شايد من منظورتون رو اشتباه فهميدم!
ولي اگر شما ميخاين براي هر ماه توي 1 جدول اطلاعات 250 نفر تکرار بشه فک نميکنين طراحي پايگاه دادتون اشکال داشته ياشه؟
يعني بعد از 12 ماه شما 3000 تا اطلاعات مشابه خواهيد داشت
لطفا اگر منظور رو اشتباه فهميدم ببخشين


دوست عزیزم در این جدول در فیلد کد پرسنلی و نام و نام خانوادگی اطلاعاتش تکرار می شه اما سایر فیلدها مثل mah و KASR اطلاعاتشون متفاوت هست در هر ماه.

mitra285
پنج شنبه 22 مهر 1389, 10:52 صبح
با سلام
من هم یه همچنین مشکلی دارم می شه اساتید محترم راهنمایی کنن برای این مشکل. بخدا خیلی هم بهش نیاز دارم

ali_najari
پنج شنبه 22 مهر 1389, 11:52 صبح
دوستان عزيز اميدوارم درست متوجه شده باشم

فقط من 2تا فيلد اضافه كردم تا ميزان Kasr و Mah مربوطه رو شما وارد كنيد و با زدن دكمه استارت براي تمام كاركنان كه 250 نفر هستن يك ركورد توي جدول L_Kol ايجاد ميكنه و اطلاعات مربوط به PersonelCode و Fullname و Kasr و Mah رو وارد ميكنه

سینا2010
پنج شنبه 22 مهر 1389, 13:53 عصر
با سلام
من برنامه شما رو برای بانک اطلاعاتی SQL می خواستم.دستورات برنامه ای که شما لطف فرموده بودید رو اصلاح کردم اما خطا می ده. می شه کمک کنید.

ali_najari
پنج شنبه 22 مهر 1389, 14:33 عصر
دوست عزيز من کدهاتون رو ديدم و مشکل نام جداولتون هست چون بين نام جداولتون "&" گذاشتيد

نام جداولتون رو تغيير بديد

الان نام جدول مربوط به اطلاعات پرسنل W_L&HG_PERSONEL هست و نبايد بين حروف & بگذاريد

سینا2010
پنج شنبه 22 مهر 1389, 15:32 عصر
با عرض معذرت از شما
اون مورد که شما فرموده بودید درست بود اما حالا به Error دیگه می ده. هنگام ثبت
تصویر خطا رو ضمیمه کردم.

با تشکر از شما

ali_najari
پنج شنبه 22 مهر 1389, 15:38 عصر
دوست عزیز وقتی Syntax Error میده یعنی طریقه ورود اطلاعات با نوع فیلدهاتون متفاوت هست پس حتما نوع فیلدهاتون رو چک کنید

اکر عدد باشه نیاز به ' نداره ولی اگر تکس هست نیاز به ' داره