فرض می کنیم برنامه ای تحت اکسس نوشته ایم که جداول را از فرمها جدا کرده ایم و کاربران در حال استفاده از آن هستند و داده هم وارد نموده اند و حالا م ا میخواهیم نرم افزار خود را آپدیت کنیم ، آپدیتی که ملزم به اضافه کردن فیلد به جداول شده ایم .
چگونه بدون حذف داده ها، فیلد جدید را به جداول لینک شده اکسس اضافه کنیم ؟
1- یکی از فرمهای اولیه برنامه خود مانند فرم لاگین و یا فرم اسپلش را در نظر بگیرید
2- وارد محیط کدنویسی فرم مورد نظر در رویداد Onload شوید .
3- کدهای زیر را به برنامه خود اضافه کنید :
On Error Resume Next Dim dbs As Database Set dbs = OpenDatabase("D:\Dropbox\Officebaz\SampleFile\AddField\OfficebazAdd_be.accdb") dbs.Execute "ALTER TABLE tblUser ADD COLUMN UserPass NUMBER;" dbs.Close
4- کدهای بالا ستون UserPass را از نوع عددی به جدول tblUser اضافه می کند .
توضیح بسیار مهم :
کدهای بالا برای زمانی است که ما مسیر دقیق فایل جداول ( Back End ) را بدانیم در غیر اینصورت با ایتفاده از کدهای زیر به اکسس میگوئیم که فیلد دلخواه را به جداول متصل اضافه کن :
On Error Resume Next Dim dbs As Database Dim strSource As String strSource = Split(Split(CurrentDb.TableDefs("tblUser").Connect, "Database=")(1), ";")(0) Set dbs = OpenDatabase(strSource) dbs.Execute "ALTER TABLE tblUser ADD COLUMN UserPass1 NUMBER;" dbs.Close
روش اضافه کردن جدول جدید به فایل Back end
1-مطمئن می شویم که دیتابیس ما قابلیت چک کردن برقرای لینکها زمان اجرا را داشته باشد.
2- در رویداد باز شدن یکی از فرمهای اولیه اکسس وارد قسمت کدنویسی می شویم .
3- کدهای زیر را در آنجا قرار می دهیم .
Dim strSource As String strSource = Split(Split(CurrentDb.TableDefs("tblUser").Connect, "Database=")(1), ";")(0) Dim db As Database Dim strSQL As String Set db = OpenDatabase(strSource) strSQL = "CREATE TABLE [tblOfficebaz] (Field COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, FieldOne TEXT,FieldTwo TEXT, FieldThree MEMO, FieldFour CURRENCY, FieldFive NUMBER, FieldSix DATE );" db.Execute strSQL Set db = Nothing
4- کدهای بالا یک جدول با نام tblOfficebaz به جداول متصل به برنامه اضافه می کند.
5- در زمان برنامه نویسی حتما باید به صورت دستی لینک جدول جدید ایجاد شده را هم بازسازی کنیم .
6- روش بالا به طور کلی با روش کوئری ساخت جدول جدید که در دوره مقدماتی اکسس به آن پرداختیم متفاوت است
جناب مهندس با تشکر فراوان لطفا کدهای VBA هم که در محصولاتتون گذاشتید رو مثل مثال های بالا بصورت رایگان در معرض عموم قرار دهید تا رایگان استفاده کنیم چون منبع کاملی نداریم .
باتشکر از زحمات فراوان حضرتعالی
سلام
تو قسمت لود به این خط گیر میده
Dim dbs As Database
سلام کد رو به شکل زیر تغییر بدین
Dim dbs As DAO.Database
این کارم انجام دادم ولی نشد
پنجره ای باز میشه به نام
select data source
با سلام بابت آموزشهای عالیتون
استاد من میخواستم اطلاعات جدول رو با strsql به روز رسانی کنم ولی تو اکسس 2019 پیغام خطا میده من دقیقا دستورات رو مطابق برنامه انبار شما تایپ کردم
ممنون میشم اگه مقدور باشه راهنمایی کنید
سلام لطفا تیکت پشتیبانی استفاده کنید