PDA

View Full Version : جمع آوری اطلاعات از دیتاهای دیگر



alipaye
چهارشنبه 21 آذر 1386, 00:05 صبح
سلام.می خوام اطلاعات بانک اطلاعاتی اکسس پشتیبان را در بانک مادر قرار دهم بطوری که رکوردهای تکراری رو قبول نکنه چیکار کنم؟

mosab_vb
چهارشنبه 21 آذر 1386, 00:18 صبح
خوب این کارتون یعنی این که فیلد اصلی یا کلید داشته باشید که تو جدول دیگه کلید خارجی محسوب بشه.فیلدها یا جدولهاتون رو بگید تا کمکتون کنم.

alipaye
چهارشنبه 21 آذر 1386, 00:23 صبح
دو تا جدول عین همند.هدف متمرکز سازی اطلاعات است فرضا از ده تا جدول می خوام فقط یکی منتقل بشه(هم اونایی که تغییر کرده هم اونایی که اضافه شده)

alipaye
چهارشنبه 21 آذر 1386, 00:33 صبح
البته دوتا پایگاه عین همند

mosab_vb
چهارشنبه 21 آذر 1386, 01:03 صبح
امیدوارم درست فهمیده باشم.یعنی می خوای عمل کارتزین بین جدولها رو داشته باشی و بعد بتونی از اونها سلکت کنی بعدش چند تا فیلد رو انتخاب کنی و تو یه grid یا هر چیز دیگه نمایش بدی.خوب واسه این کار باید توی تعریف فیلدهای جدولهایی که می خوای داده ای رو استخراج کنی باید فیلد کمکی یا فرعی یا اصلی از جدول های دیگه داشته باشی.چون دقیقا می خوای طبق er عمل کنی.بهتره قبل انجام این عمل فیلدهای کلید و اصلی رو مشخص کنی تا جدولهات نرمال سازی بشه و توی استخراج کارت راحت بشه و به این مشکل بر نخوری.بازم بهت می گم اسم جدولهات رو اینجا مطرح کن تا بیشتر بهت کمک کنم و مشکلت رو حل کنم.فیلدهای کلید رو می تونی تو ویژوال بیسیک با عمل این که غیر تکراری باشن بشناسونین.البته این برای کلید اصلی هست و بستگی به منطق برنامتون داره.از یه حلقه while می تونین استفاده کنین که مقداری در یافتیتون رو با مقدار داخل بانک مقایسه کنه اگه وجود داشت ننویسه اگه موجود نبود بنویسه تو بانک.البته توجه کن که کلید اصلیت بهتره عدد باشه.حالا اگه اسم فیلد ها رو با اسم جدول ها رو بگی من دقیق تر برنامت رو آنالیز می کنم و بهت می گم که باید چه کار کنی.چون من نمی دونم چه فیلدهایی داری و باید کدوم فیلد از چه جدولی با چه جدولی با کدوم فیلدی ارتباط داشته باشه.اصلا برنامت چه کاری انجام باید بده.برنامت چی هست.یه توضیح بده راجع بهش شاید فیلد هات رو تشخیص بدم چیا هستن.

alipaye
چهارشنبه 21 آذر 1386, 01:03 صبح
البته با این روش می شه یه کارایی کرد و ظاهرا جواب می ده و واسه عدم قبول تکراریش هم میشه کاری کرد ولی کد برنامه به علت connot update بانک رو اصلا تشخیص نمی ده

alipaye
چهارشنبه 21 آذر 1386, 01:09 صبح
البته تو خط 116 بازه 0 تا 5 رو باید به 0 تا 1 تبدیل کنیم .

mosab_vb
چهارشنبه 21 آذر 1386, 01:19 صبح
آه تازه گرفتم چی دارین می گین.بسیار عالی روش خوبی برای پشتیبان گیری هست.منظورتون اینه که فقط تغییراتیی که روی بانک ایجاد شده رو پشتیبان بگیره و در غیر این صورت اگه تغییری روی بانک ایجاد نشده باشه پشتیبان نگیره و پیغام بده فایل بدون تغییر است.خوب اگه درج انجام شده باشه می تونی تعداد رکورد ها رو مقایسه کنی .که فقط واسه درج رکورده.واسه ویرایش هم می تونی با استفاده از یه متغیر به برنامه بفهمونی که آیا ویرایش انجام سده یا نه.این متغیر رو می تونی تو یه بانک دیگه تو یه فیلدی ذخیره کنی که هر بار که دکمه پشتیبان گیری رو میزنی چک کنه ودرست یا نادرست بودن مقدار متغیر رو چک کنه.اگه تغییر انجام شده بود روی فایل قبلی فایل جدید رو قرار بده.در غیر این صورت پیغام بده که هیچ عمل جدیدی بر روی بانک انجام نشده است.بعدش با این عمل می تونی متغیر رو به حالت غلط برگردونی.مطمئن باشین فردا روی این برنامتون هم کار می کنم و جواب رو بهتون میدم.موفق باشید.

alipaye
چهارشنبه 21 آذر 1386, 01:32 صبح
پسورد بانک 801203008 است یه جایی کپی می کنی یه رکورد اضافه می کنی تو برنامه مسیر اون بانک رو که مثلا پشتیبان هست انتخاب می کنی.مشکل من اینجاست که چرا کامند1 بعد از گرفتن پشتیبان ارور میده و حتی اگه به روش معمولی دو تا کانکشن تعریف کنم هر دو تا فقط حالت اول رو نشون می ده.

alipaye
پنج شنبه 22 آذر 1386, 01:52 صبح
قابل توجه اونایی که می خوان از این کد استفاده کنند.
با jet 4 اکسس 2000 کد جواب می ده من هم با این روش کار خودمو راه انداختم.
البته رکوردهای تکراری رو باید یه جوری با کدنویسی حذف کنید.

ali_habibi1384
پنج شنبه 22 آذر 1386, 17:08 عصر
هر بار که خواستید اطلاعات جدیدی رو از جدول بخونین کافیست که اونو فیلتر کنین و سپس اگر تعداد رکوردهای باقیمانده بیشتر از 0 بود اطلاعات تکراری بوده و اونو بپرید این یه راه حل با هزینه کم خواهد بود.