ورود

View Full Version : ارسال دادها از جدولی به جدول دیگر



Ali_Fallah
یک شنبه 06 مرداد 1387, 19:43 عصر
در نمونه برنامه که در واقع نمونه برنامه آقای قربانی می باشد و در جواب سوال یکی از دوستان بود (به گونه ای دیگر...)
سوالی مطرح کردم که نظر شما را به دیدن آن جلب می کنم.

smderfan
یک شنبه 06 مرداد 1387, 22:49 عصر
سلام
نمونه رو براتون کامل کردم.

Ali_Fallah
دوشنبه 07 مرداد 1387, 18:16 عصر
می خواهم دراین برنامه با هر بار کلیک کلیه اطلاعات جدول اول یا Personel به عنوان رکورد جدید در جدول دوم انتقال داده شود.منظور از تکراری بودن نیز فقط فیلد مربوط به تاریخ هست که آن برای یک کارمند تکراری نباشد. در واقع برای یک کارمند دو تاریخ مانند هم مثل 04/87 در جدول دوم یا همان Backup منظور نشده نباشد
توضیح بیشتر اینکه پنج فیلد داریم که شامل نام ، نام خانوادگی ، شماره کارمندی ، مبلغ دریافتی و تاریخ دریافتی بوده
و می خواهیم بدانیم که مثلاً فلان کارمند در سال و ماه فلان چقدر دریافتی داشته است. وهرماه یکبار این انتقال اطلاعات انجام شود . و اگر قبلاً اطلاعات انتقال یافته که با پیغام خطا این کار صورت نگیرد ولی در صورت تغییر فقط در فیلد تاریخ این رکوردها به جدول دوم به عنوان رکورد جدید اضافه شود.
البته این مثال برای روشن شدن اذهان ومفهوم بیشتر گفته شده است.

مهدی قربانی
دوشنبه 07 مرداد 1387, 20:06 عصر
سلام
آقاي فلاح نمونه تقديمي به اين شكل عمل مي كنه كه ركوردهاي موجود رو يك به يك بررسي و در صورتي كه ركورد جاري تكراري نباشه به جدول backup اضافه ميشه و در صورتيكه تكراري باشه اجازه انتقالش داده نمي شه براي اين منظور از توابع Dlookup و حلقه هم كمك گرفتم كدها يك مقدار طولاني هست ولي در عوض عملكرد مناسبي داره .

Ali_Fallah
دوشنبه 07 مرداد 1387, 20:53 عصر
دوست خوبم با تشکر فراوان از شما و از اینکه دچار زحمت شدید شرمنده هستم.
برنامه اصلاح شده را نگاه کردم در ابتدا همه رکوردها را انتقال میدهد ولی در دفعه دوم با وجود اینکه تاریخ همه رکوردها تغییر میکند (برای ماه بعدی) فقط یک رکورد را انتقال میدهد
چون برنامه ضمیمه حاوی 3 رکورد هست پیغامی مبنی براینکه
1- انتقال یک رکورد با موفقیت به پایان رسید
2- تعداد 2 رکورد تکراری منتقل نگردید
نمایش داده میشود.
در حالیکه میخواهیم در صورت تغییر تاریخ ، همه رکوردها (به هرتعدادی) به جدول Backup منتقل شود.
در پایان از زحمات شما سپاسگزارم

smderfan
دوشنبه 07 مرداد 1387, 23:46 عصر
سلام
با توجه به پارامترهای گفته شده؛ فکر کنم درست شد.:متفکر:

Ali_Fallah
سه شنبه 08 مرداد 1387, 14:35 عصر
برنامه را همین الان تست کردم و نتیجه داد
بدینوسیله خواستم از شما و اقای قربانی تشکر کنم
ان شاء ا... که در برنامه اصلی نیز به همین صورت باشد...
با سپاس و آرزوی موفقیت برای شما عزیزان

Ali_Fallah
چهارشنبه 09 مرداد 1387, 19:29 عصر
با تشکر از شما
میخواستم برنامه را کمی تغییر بدهم که با خطا روبرو شدم
من یک Text به فرم اضافه کردم و در درون کد با استفاده از حلقه For می خواستم مقدار Text به فیلد همطراز آن در جدول مقصد که تعیین کرده بودم اضافه شود(به تعداد رکوردهای جدید که ارسال می شود)
یعنی این مقدار که به عنوان مثال A می باشد به همه رکوردهای جدید اضافه شود.(نه رکوردهای قبلی که ذخیره شده اند)

smderfan
پنج شنبه 10 مرداد 1387, 00:15 صبح
سلام
با توجه به برداشتی که کردم این نمونه رو تهیه کردم. انشاء الله که مشکل حل بشه.

Ali_Fallah
پنج شنبه 10 مرداد 1387, 10:05 صبح
باتشکر از شما
جدول Tem برای چه منظوری طراحی شده ؟
نمی شود بدون استفاده از این جدول داده ها را بصورت مستقیم منتقل کرد
ظاهراً اطلاعات جدید ابتدا در این جدول ذخیره بعد به جدول اصلی منتقل می شود.

smderfan
جمعه 11 مرداد 1387, 01:19 صبح
سلام
جدول tmp اطلاعات جدید رو ذخیره و از طریق کوئری به جدول 2 انتقال میده.