سلام به همگی
آقای محمدپور

در خصوص قفل کردن جدول (Table).
اگر میخواهی که اطلاعات موجود در جدول در خارج از برنامه ای که نوشته ای قابل استفاده نباشه، میتونی اطلاعات فیلدهای جدول رو بصورت رمز (Encrypt) دربیاری.
فقط دقت کن که اطلاعات فیلد یا فیلدها در داخل جدول، همیشه بصورت رمز بایستی ثبت شوند و فقط هنگامی که میخواهی از آنها استفاده کنی از حالت رمز دربیاری (Decrypt) آنهم فقط در حافظه، نه مستقیما در داخل جدول.
به این صورت هم مشکل شبکه حل میشه و هم اینکه به لحاظ سرعت مشکلی پیدا نمیکنی و هم اینکه اطلاعات فیلدهای مورد نیاز بصورت رمز در جدول میباشند.

برای مثال به تابع زیر دقت کن:

Function EncDec
LParameters tcStr ,tcPassword
Local lcResult ,lnLenPassword ,lnIndex ,lnStrAsc ,lnPasAsc
lcResult = ""
lnLenPassword = Len(tcPassword) - 1
For lnIndex=1 To Len(tcStr)
lnStrAsc = Asc(SubStr(tcStr,lnIndex,1))
lnPasAsc = Asc(SubStr(tcPassword,Mod(lnIndex,lnLenPassword)+1 ,1))
lcResult = lcResult + Chr(BitXOr(lnStrAsc,lnPasAsc))
EndFor
Return lcResult
EndFunc

حالا میتونی با استفاده از تابع فوق اطلاعات فیلد مورد نظرت را هم رمز کنی و هم از رمز در بیاری.
برای مثال اگه میخواهی که مقدار 'محمدپور' رو در فیلدی با نام Family ثبت کنی این دستور رو بنویس:
('رمز','محمدپور')Replace Family With EncDec
و اگه میخوای که اطلاعات فیلد مورد نظر را نمایش بدی میتونی بصورت زیر عمل کنی:
('رمز',Wait Window EncDec (Family

موفق باشید