[quote pid='37255' dateline='1455852009']
السلام عليكم ورحمة الله وبركاته,
احبابي الكرام
اسال عن كيفية انشاء قاعدة بيانات اكسس محمية [b]بكلمة سر متصلة بدلفي دينامكيا حتى لا تقع مشاكل عند تغير المسار لقد وجدت هذا الكود ولكنني لم استطع الاتصال
[/b]
[/quote]
الاتصال.png (الحجم : 47.31 ك ب / التحميلات : 12)
السلام عليكم ورحمة الله وبركاته,
احبابي الكرام
اسال عن كيفية انشاء قاعدة بيانات اكسس محمية [b]بكلمة سر متصلة بدلفي دينامكيا حتى لا تقع مشاكل عند تغير المسار لقد وجدت هذا الكود ولكنني لم استطع الاتصال
[/b]
لك الحل بشرط وضع قاعدة البيانات جنب الملف التنفيذي للمشروع سوى كان في جهازك او اي جهاز اخر
إذا كنت تستخدم وحدة (MataModule) فعليك اضافة هذه المكتبه الى الوحده
uses
Vcl.Dialogs,
//من اجل ظهور رسالة فشل الاتصال
// ملاحظة الاتصال هنا عن طريق friedac
ثم لك الخيار في اختيار اين تكتب اجراء الاتصال والمستحسن في حدث الانشاء كما هو موضح
procedure TDM.DataModuleCreate(Sender: TObject);
var
i:Byte;// من اجل الحلقة التكرارية
begin
try
with con1 do
begin Close;// هنا غلق الاتصال في حالة كان متصل
with Params do
begin
Clear;
Add('DriverID=MSAcc');// دريفر ادي
Add('Database='+ExtractFilePath(ParamStr(0))+'\test.accdb');
// ExtractFilePath(ParamStr(0)) من اجل جلب مسار الملف التنفيذي دون اسم الملف التنفيذي
// '\test.accdb' هذه اسم قاعدة البيانات وامتدادها لا يهم سوى كانت بتنسيق 2003 او 2007
Add('Password=4444444');// اكتب كلمة السر للقاعدة ان وجدت او احذفه كاملا
end;
Open;
end;
except // حتى لا يتوقف البرنامج في حالة الفشل في الاتصال
showmessage('لا يمكن الاتصال بقاعدة البينات ...؟؟؟');
Exit; //الخروج وعدم اكمال اوامر باقي الاجراء
end;
// هنا المشكله
for I := 0 to ComponentCount - 1 do // من اجل استخدتم عدد المكونات على الفورم
if (Components[i] is TFDTable) then // التحقق من نوع المكون اذا كان من نوع جدول ينفذ
( Components[i] as TFDTable).Open;// هنا يجلب اسم الجدول ثم يقوم بفتحه
end;
// اتمنى اني اكون افدتك ويكون شرحي وافي
ولله الحمد من قبل ومن بعد
السلام عليكم ورحمة الله وبركاته
[/quote]
الاتصال.png (الحجم : 47.31 ك ب / التحميلات : 12)


![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)