افزودن فیلد با VBA

اضافه کردن فیلد به جداول لینک شده و افرودن جدول جدید

افزودن فیلد با VBA

فرض می کنیم برنامه ای تحت اکسس نوشته ایم که جداول را از فرمها جدا کرده ایم و کاربران در حال استفاده از آن هستند و داده هم وارد نموده اند و حالا م ا میخواهیم نرم افزار خود را آپدیت کنیم ، آپدیتی که ملزم به اضافه کردن فیلد به جداول شده ایم .

چگونه بدون حذف داده ها، فیلد جدید را به جداول لینک شده اکسس اضافه کنیم ؟

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- روش بالا به طور کلی با روش کوئری ساخت جدول جدید که در دوره مقدماتی اکسس به آن پرداختیم متفاوت است

آپدیت اول : نحوه اضافه کردن فیلد AutoNumber
برای اضافه کردن فیلدی از نوع خودکار به جداول اکسس ، مراحل زیر را دنبال کنید
1- کدی که کمی بالاتر برای اضافه کردن فیلد نوشته شده بود را قرار دهید
2- خط یکی مانده به آخر به جای NUMBER از COUNTER استفاده نمائید

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

6 دیدگاه دربارهٔ «اضافه کردن فیلد به جداول لینک شده و افرودن جدول جدید»

  1. جناب مهندس با تشکر فراوان لطفا کدهای VBA هم که در محصولاتتون گذاشتید رو مثل مثال های بالا بصورت رایگان در معرض عموم قرار دهید تا رایگان استفاده کنیم چون منبع کاملی نداریم .

    باتشکر از زحمات فراوان حضرتعالی

  2. با سلام بابت آموزشهای عالیتون
    استاد من میخواستم اطلاعات جدول رو با strsql به روز رسانی کنم ولی تو اکسس 2019 پیغام خطا میده من دقیقا دستورات رو مطابق برنامه انبار شما تایپ کردم
    ممنون میشم اگه مقدور باشه راهنمایی کنید

پیمایش به بالا