ورود

View Full Version : سوال: نحوه ایجاد دیتا بیس جدید توسط vb6



conter
یک شنبه 23 آبان 1389, 19:37 عصر
سلام دوستان من برنامه ای مثلا برنامه انبار داری نوشتم ! توی این برنامه از 2 عدد دیتا بیس استفاده شده که دیتا بیس مخصوص اطلاعات انبار رو یک دیتا گرید نشون میده حالا وقتی مثلا اطلاعات این دیتا بیس از حد 50 مثلا گذشت میخوام برنامه پیغامی بده و به کاربر بگه یک دیتا بیس جدید ایجاد کنه ..

سوال من اینه که آیا میشه با زدن یک دکمه برنامه اتوماتیک یک دیتا بیس جدید ساخته با همان مشخصات دیتا بیس قبلی منظورم فیلد هاست و خودش اتوماتیک به اون وصل شه ؟؟؟؟

یا مثلا بیاد اطلاعات دیتا بیس قدیمی رو به یک دیتا بیس دیگه منتقل کنه و بایگانی کنه و دیتا بیسی که بهش وصله رو پاک سازی کنه برای استفاده جدید ؟

M.T.P
دوشنبه 24 آبان 1389, 09:55 صبح
سلام این کار امکان پذیر هست.
کافیه یک بانک خالی (یعنی بانکی که طراحی شده اما هیچ رکوردی هنوز توش ثبت نشده)رو به ریسورس برنامه اضافه کنی و در هنگام نیاز اونو کنار برنامه ات استخراج کنی و بهش وصل شی.
نحوه قرار دادن فایل در ریسورس و استخراج آن در تالار زیاد هست ، عبارت Resource رو جستجو کنید و اگه احیانا موفق نشدید بگید تا یک نمونه گذاشته بشه.

Javad-2010
دوشنبه 24 آبان 1389, 10:39 صبح
دوست عزیز؛
این هم یه نمونه:

conter
دوشنبه 24 آبان 1389, 20:54 عصر
مرسی از راهنمایی تون دوست عزیز ولی من سرچ کردم چیزی درست دستگیرم نشد میشه یک اموزش اینجا قرار بدین ؟

conter
چهارشنبه 26 آبان 1389, 20:07 عصر
دوستان یک لطفی بکنید و منو راهنمایی کنید خیلی دنبال این موضوع گشتم حتی اساتید دانشگاهمون بلد نبودن ممنون میشم یک آموزش جامع واسه resource گیری بگذارید


دوست عزیز؛
این هم یه نمونه:

جواد جان ممنون من برنامه تو دیدم اما قسمتی از کد ها شو متوجه نشدم میشه یک توضیح روشون بدی ..؟

xxxxx_xxxxx
چهارشنبه 26 آبان 1389, 20:21 عصر
اضافه کردن یک دیتابیس خالی، به صورت Resource فکر نمی کنم چندان کار جالبی باشه! اون هم فایلی که در هر بار اجرا شدن برنامه بهش نیاز نیست و فقط ممکن هست در شرایطی بهش نیاز بشه، مثل یک سربار برای فایل اجرایی برنامه هست. بهترین کار ساختن دیتابیس از طریق دستورات هست که یک نمونه ساده اش در پست شماره 3 هست.


خیلی دنبال این موضوع گشتم حتی اساتید دانشگاهمون بلد نبودن ممنون میشم یک آموزش جامع واسه resource گیری بگذارید
اگر در همین بخش جستجو کنید تاپیک های خوبی پیدا میشه. نمونه اش:
نحوه كار با فايلهاي Resource و برنامه Resource Editor (http://barnamenevis.org/forum/showthread.php?t=180971) ‏

M.T.P
پنج شنبه 27 آبان 1389, 16:17 عصر
این نمونه هر بار به درخواست شما یک بانک خالی با عنوان( تاریخ و ساعت) جاری سیستم در کنار فایل اجرایی ایجاد میکنه.
به سلیقه خودتون ازش استفاده کنید.

http://barnamenevis.org/forum/attachment.php?attachmentid=60492&stc=1&d=1290086246

conter
شنبه 06 آذر 1389, 17:24 عصر
خیلی ممنون دوست عزیز این دقیقا همون چیزی بود که دنبالش بودم فقط یک خواهشی .. من دستورات زیر رو درست متوجه نشدم ... میشه راهنمایی کنی ؟؟؟ و میشه بگی چه ریسورسی رو به برنامه اضافه کردی ؟


Sub CreateDB()
Dim myArray() As Byte
Dim FN As Integer

DB = Year(Date$) & "-" & Month(Date) & "-" & Day(Date) & "-" & Hour(Time) & "-" & Minute(Time) & "-" & Second(Time) & ".mdb"
If Dir(DB) <> vbNullString Then Exit Sub
myArray = LoadResData(101, "CUSTOM")
FN = FreeFile
Open DB For Binary Access Write As #FN
Put #FN, , myArray
Close #FN

ali reza mansoori 2
شنبه 06 آذر 1389, 19:36 عصر
دوست عزیز؛
این هم یه نمونه:
دوست عزیز میشه برای فیلد ها غیر از Text نوع دیگه ای تغریف کرد برای مثال Autonumber

conter
جمعه 14 مرداد 1390, 21:46 عصر
شرمنده دوستان این تاپیکو باز اوردم بالا !یک سوال داشتم ! ببینید من یک برنامه نوشتم که توش مثلا یک لیست مهندسه بعد براساس شناسه مهندس ها باید یک دیتا بیس باز شه که اسم کارگر هاشون توش باشه من میخوام با وارد شدن شناسه اون مهندس دیتا بیس با همون شناسه باز شه !!! چنین چیزی به نظرم ممکنه فقط میشه یک کد در اختیارم بگذارید که متوجه شم چه جور وصلش کنم ؟
سوال بعدیم اینه که اگه مهندسی خواست اضافه شه توی لیستی که داره مشخصاتش پر میشه همون جا هم دیتا بیس مخصوصش ساخته شه حالا خالی از اطلاعات !!! ولی دیتا بیس همون جا مربوط به اون شناسه بشه !!! ممنون میشم کمکم کنید
کد ها رو اگه میشه با یک راهنمایی بگذارید ممنون !!!

M.T.P
شنبه 15 مرداد 1390, 10:31 صبح
به جای تاریخ و ساعتی که من برای بانک های ایجاد شده تعریف کردم شما شناسه مهندس رو برای نام فایل بده و موقع اتصال به بانک هر مهندس نام بانکش میشه شناسه مهندس + .mdb

conter
شنبه 15 مرداد 1390, 11:24 صبح
ممنون از راهنماییت دوست عزیز ولی من چه جوری میتونم اصلاعات داخل فیلد ها دیتا بیس رو تغییر بدم ؟ منظورم اینه که دیتا بیس هایی که کد شما میسازه فیلد هایی که من میخوام نداره باید فیلد های خودمو بهش بدم میشه راهنمایی کنید کجا باید درستش کنم ؟؟؟ فک کنم توی قسمت resours باشه ولی متاسفانه من کار با ریسورس ها رو بلد نیستم ممنون میشم راهنماییم کنید !!!

M.T.P
شنبه 15 مرداد 1390, 11:37 صبح
یعنی بانک اطلاعاتی هر مهندس با بقیه ممکنه تفاوت داشته باشه؟ (از نظر ساختار جدول ها و فیلد.)

conter
شنبه 15 مرداد 1390, 12:14 عصر
ببین من برنامه رو گذاشتم شاید بهتر متوجه شی عزیز ! اول یک دیتا بیس هست که توش اطلاعات مهندس هاست !!! از توی این دیتا بیس که با یک دیتا گرید ویو داره ما شناسه مورد نظرمون رو وارد میکنم با وارد کردن شماره مورد نظر باید یک فرم باز شه که یک دیتا بیس مربوط به اون مهندس به اون فرم وصل باشه ! فرم ثابته ! اطلاعات فیلد ها هم ثابت هست فقط هر مهندس باید لیستش جدا باشه !!! من متوجه شدم چه شکلی دیتا بیسی که میخوامو به ریسورس ها وصل کنم ولی متوجه نشدم چیکارش کنم که همون دیتا بیس نسخه جدیدش ساخته شه !!! شما برنامه رو ببینید متوجه منظورم میشید ممنون !!!!

setroyd
شنبه 15 مرداد 1390, 12:23 عصر
به جای این برو 1 روز وقت بزار یه کتاب download کن در این رابطه بخون که راحت مشکلت حل بشه

setroyd
شنبه 15 مرداد 1390, 12:41 عصر
ببین من خوندم و برنامتو دیدم resurce کارش اینه که داخل برنامه ی exe compile میشه و نمیشه بدون محیط vb دستکاریش کنی نکه نشه ! اگرم بخای اینکارو کنی باید بیش از 1000 خط کد + api استفاده کنی
شما میتونی با کپی گرفتن از mdb قبلیت اونو یجا بایگانی کنی و این resurce رو هر دفعه جای اون بزاری

M.T.P
شنبه 15 مرداد 1390, 12:48 عصر
خب شما احتیاج نیست به هر مهندس یک بانک اختصاص بدید...
دریافتی همه رو داخل یک جدول در یک بانک اضافه می کنید ، بعد موقع گزارش گیری ،،، جدول دریافتی رو با توحه به کدشناسه مهندس فیلتر میکنید و در نتیجه تمامی رکوردهای مربوط به مهندس مدنظر رو دارید.

conter
شنبه 15 مرداد 1390, 13:23 عصر
خوب یعنی من همه افراد رو داخل یک دیتا بیس بگذارم و بعد فیلتر کنم بر اساس شناسه ؟ طرف میخواد با برنامه هر دفعه وارد میشه مثلا اصلاعات یک مهندسو دست کاری کنه و یا حذف کنه و یا اضافه مثلا یک مهندس جدید اضافه کنه و یک سری کارگر جدید زیر دستش !!! حالا اینا رو بخواد اضافه کنه قاطی نمیشه !!!

در مورد کتابی که گفتین دوست عزیز میشه معرفی کنید ؟ ما هم فیض ببریم و یک چیزی یاد بگیریم ؟

conter
شنبه 15 مرداد 1390, 16:16 عصر
دوستان من برنامه رو به این تغییر دادم ! الان فقط 2 تا راهنمایی لازم دارم !!!

یک اینکه وقتی توی تکست باکس فرم اول شناسه وارد شد براساس اون شناسه توی فرم 3 دیتا بیس هم نام با اون شناسه به adodc وصل شه !!!! بهترین راهو میخوام شما معرفی کنید !!! من خودم چند راه به نظرم رسید ولی به نظر شما یک روش خوب رو بگید خیلی بهتره !!!

دوم اینکه کدی که بتونم توی فرم 1 وقتی دکمه حذف زده میشه اون رکوردی که داره پاک میشه با دیتا بیس مربوطش پاک شه !!!! ممنون خیلی خیلی زیاد !!!

conter
یک شنبه 16 مرداد 1390, 11:23 صبح
برادرا این تیکه اخرو کمک کنید ما کارمون راه بیفته !!!

دوستان فقط کد پاک کردن دیتا بیس رو بگین ممنون میشم !!! لطف کنید منو راه بندازین

conter
دوشنبه 24 مرداد 1390, 00:58 صبح
درود ! یک سوال دارم اینکه وقتی توی کد میخوایم یک دیتا بیس اکسس رو وصل کنیم اگه بخوایم تیبل های دیگه رو فراخونی کنیم چه جوری میتونیم این کار رو بکنیم ! منظورم این قسمت هست :
Form3.Adodc1.RecordSource = "tabel1"

که من به جای tabel1 میخوام یک متغیر بگذارم که عددش رو از تکس باکس میگیره !!!! یعنی اگر من توی تکست باکس زدم 2 بیاد تیبل 2 رو نمایش بده ! من اومدم یک متغیر به اسم shenase تعریف کردم از نوع int و تکست رو اومدم توش بریزم اما خظا میداد و میگفت نوعش سازگاری نداره ! نوعش رو string کردم توی دستورات دیتابیس خطا داد !!!

ممنون میشم بگین به جای tabel1 چی شکلی متغیر تعریف کنم که با وارد شدن اون عدد از تکست باکس اون تیبل نمایش داده بشه !!!

همچنین اگه ممکنه کد پاک کردن اون تیبل رو به همین روش بگین ممنون میشم !!!