PDA

View Full Version : یه مشکل عجیب در بانک اطلاعاتی



mrtzxxx
چهارشنبه 04 اردیبهشت 1387, 21:19 عصر
سلام به همه بعد از مدتها دوباره اومدم یه مشکلی دارم که اگه بتونین حل کنین کلی دعاتون می کنم
من یه بانک اطلاعاتی دارم که دارم با یه فرم خیلی راحت اطلاعات وارد این بانک می کنم طوری که برای هر بار اطلاعات جدید یه عدد به من می ده که باید رکورد رو ببرم به آخر بانک و به اضافه یک کنم تا عدد جدیدم به دست بیاد (مثل دفتر اندیکاتور)
حالا مشکل اول :
وقتی یک رکورد می خوام ثبت کنم به طور تصادفی می ره وسطهای بانک و یه رکورد خالی درست می کنه و اطلاعات منو اونجا ثبت می کنه اینجوری نمی تونم مثل دفتر اندیکاتور بهم آخرین شماره رو بده تا با یک جمع کنم و بشه یه شماره جدید برای رکورد جدیدم .(با این حالی که به آخر رکورد هم می رم ولی باز هم نشد)
حالا مشکل اول :
نمی دونم چی شده بعد از اینکه 300 - 400 تا رکورد رو ثبت کردم دیگه ثبت نمی کنه یعنی اطلاعات می گیره ثبت هم می کنه ولی وقتی لیست می کنم انگار از دیروز هیچی ثبت نشده یعنی بانک اطلاعاتی vb ظرفیت تعداد رکورد داره !!!!!!
و یه موضوع دیگه اینکه :
برنامم رو از یه کامپیوتر به کامپیوتر دیگه بردم ولی تو سیستم جدید خیلی کنده و هر بار فرمی رو می خوام باز کنم که توش datagrid دارم تا محتویات بانکم رو لیست کنه باید دو بار این کار رو بکنم تا آپدیت بشه خیلی ضایع است اینجوری ؟؟!!!

منتظر راه حلهای شما هستم . مرتضی:بوس:

حسین علوی
چهارشنبه 04 اردیبهشت 1387, 22:15 عصر
سلام
برای حل مشکل اول میتونی روی شماره ها ماکزیمم (با دستورا Sql) بگیری بعد به اون یکی اضافه کنی دیگه مهم نیست که کجای جدول ذخیره شده
مشکل دوم نمیدونم

soheil_programmer
چهارشنبه 04 اردیبهشت 1387, 23:14 عصر
اول بگو بانکت چیه دوم نمونه برنامت را بزار تا ملت بتونن کمکت کنن...!

UpgradeVB6Code
چهارشنبه 04 اردیبهشت 1387, 23:17 عصر
سلام
برای حل مشکل اول میتونی روی شماره ها ماکزیمم (با دستورا Sql) بگیری بعد به اون یکی اضافه کنی دیگه مهم نیست که کجای جدول ذخیره شده
مشکل دوم نمیدونم
میشه بگی دستور Sql برای Max چیه ؟

vbhamed
چهارشنبه 04 اردیبهشت 1387, 23:40 عصر
سلام
به دست آوردن آخرین شماره


Select Count(*) + 1 As LastNumber From Table1

برای مشکل دوم هم اگر بانکت اکسس هست از منوی زیر بانکت رو کامپکت کن ببین حل میشه ؟

Tools->Database->Compact And Repair Database...

shaghaghi
پنج شنبه 05 اردیبهشت 1387, 07:18 صبح
سلام
برای رفع مشکل اول:
اگر دیتا بیس شما Access است، جنس فیلد شماره گذاری تان را AutoNumber بگیرید و اگر از Sql استفاده می نمایید Identity فیلد مربوطه را Yes نمایید تا شماره گذاری اتوماتیک شده، مشکل به هم خوردن رکورد ها رفع شود.

mrtzxxx
پنج شنبه 05 اردیبهشت 1387, 23:11 عصر
ولی اصلا چیزی راجب به مشکل آخری نگفتین در ضمن بانکم از نوع table هستش و بدبختیم اینه که نباید از sql کمک بگیرم یا موردی از sql تو برنامم دیده بشه

vbhamed
جمعه 06 اردیبهشت 1387, 09:38 صبح
سلام


Adodc1.Recordsource = "Table1"
Adodc1.Refresh

msgbox "Last Number is : " & Adodc1.RecordCount + 1

در مورد دوم هم تو پست قبلی جواب شما رو دادم

ولی بانکم از نوع Table هست یعنی چی ؟
بانکها یا اکسس هستن یا SQL یا Foxpro, DBase, Oracle و غیره