PDA

View Full Version : سوال: جلوگیری از import شدن جدول ها



MiladMR
چهارشنبه 18 بهمن 1391, 20:38 عصر
سلام
من چنتا جدول توی یک بانک دارم و interface خودم رو در یک بانک دیگه به اونها لینک کردم
فایل front end پسورد داره ک کسی نمیتونه ازش بدون رمز import یا لینک کنه
ولی میشه لینک هارو از فایل back end ایمپورت کرد

چطور میشه از این کار جلوگیری کرد ک کسی به جدول ها دسترسی نداشته باشه؟؟؟

توی فروم هم گشتم، چنتا تاپیک هست، ولی جواب درستی توشون نیست...

پیشاپیش از جواب هاتون ممنون

mazoolagh
پنج شنبه 19 بهمن 1391, 10:22 صبح
روی BACKEND هم پسورد بگذارین (ورژن 2007 و به بالا معنی داره) و در frontend با کد اونها رو attach/detach کنین که نمونه عملی قبلا گذاشته شده.
البته اگر با ado کار کنین خیلی بهتر هست.

MiladMR
پنج شنبه 19 بهمن 1391, 13:11 عصر
خب من یه راه توی انجمن های ماکروسافت پیدا کردم ممکن به درد بقیه هم بخوره

1. شما اول جدولی که میخواید رو لینک میکنید
2. بعد فرم هایی که لازم دارید رو باهاش میسازید
3. بعد لینک رو حذف میکنید
4. و با کد زیر یه لینک جدید میسازید
(این لینک هیدن هست و کسی اونو نمیبینه ولی فرم از اون لینک استفاده میکنه، همچنین از بانک دیگه ای نمیشه ایمپورتش کرد)

Function MakeHiddenLink(DatabasePath As String, Password As String, TableName As String, AttachedTableName As String)
Dim AA As DAO.Database
Dim BB As DAO.TableDef
Set AA = CurrentDb
Set BB = AA.CreateTableDef(AttachedTableName)
BB.Connect = "MS Access;PWD=" & Password & ";Database=" & DatabasePath
BB.SourceTableName = TableName
AA.TableDefs.Append BB
BB.Attributes = dbHiddenObject
Set BB = Nothing
Set AA = Nothing
End Function

به عنوان مثال توی قسمت immediat تابع بالا رو به این شکل اجرا میکنید:

MakeHiddenLink "C:/database1.accdb", "123", "Table1", "AAA"

این کد از بانکی که توی آدرس C:/database1.accdb قرار داره و پسوردش 123 هست، یک لینک پنهان از جدول Table1 به نام AAA در بانک دوم میسازه

امیدوارم مفید بوده باشه...

mazoolagh
دوشنبه 23 بهمن 1391, 11:02 صبح
این کد که شما گذاشتین بر مبنای همون روش هست که گفتم و نمونه اش هم در همن انجمن گذاشته شده، یعنی باید روی backend پسورد بگذارین و با کد جدول ها رو attach/detach کنین. با این تفاوت که اینجا detach نشده یعنی ناقص هست.