اخي ذكيري . سأغيب لمدة ستة اشهر لآتعلم الفرنسية واعود . مارأيك ؟؟؟؟؟؟؟؟؟؟؟؟؟؟ :mad: :angry: :tantrum:
مشروع حسابات ومخازن متعدد المستخدمين
:D
اسف لكن كنت اقصد الترتيب فقط
هل سنبقى على قاعدت البيانات نفسها . ام نقوم بها من جديد على SQL SERVER 2005
السلام عليكــم ورحمـة الله وبركاتــه ،،
اقتباسهل سنبقى على قاعدت البيانات نفسها . ام نقوم بها من جديد على SQL SERVER 2005
هذه هي قاعدة البيانات قمت بعمل استيراد لها من sql server 2000 الى sqlserver 2005
ولو تحب أخي طلال أن نبني قاعدة البيانات من جديد ليس هناك مشكلة
السلام عليكــم ورحمـة الله وبركاتــه ،،
اين وصلت الامور لا اري الواجهة و لا ارى جدول المستخدمين .اين انتم كما قلت سابقا ان طال المشروع سيكون كغيره من المشاريع التي لم تكتمل .
ارجو السرعة في الاداء
موفقين
ان شاء الله ساحاول مع اخي طلال كتابة درس عن ADO
السلام عليكم ورحمة الله
لقد أرفقت القاعدة منذ أخر مشاركة وانتظر أخي طلال هل سيستخدم القاعدة هذه أم أنه سوف ينشأ واحدة أخرى
وكنت أنتظر رأيك أخي زكيري هل قاعدة البيانات التي أرفقتها تصلح أم لك رأي آخر
أرجو أن تلقي عليها نظرة
حقيقة لم اطلع عليها و حتى ان رايتها فبدون القواعد: التسيير و التنضيم و الحسابية لا استطيع ان اعطي راي .
المهم سنعمل جدولا جدولا و لا نسبق الاحداث و لا تنسى انك انت قاءد المشروع اي يجب عليك ان تتصرف كمسؤل و تتخذ القرار بعد المشاورة طبعا .
كما ايسلفت سابقا علينا اول ما نبدأ به هو شاشة الدخول و جدول المستخدمين و ان كان رايكم مخالف فلا مشكلة
السلام عليكــم ورحمـة الله وبركاتــه ،،
اقتباسعلينا اول ما نبدأ به هو شاشة الدخول و جدول المستخدمين و ان كان رايكم مخالف فلا مشكلة
رأي ليس مخالفاً بل العكس أنا معك فتلك الطريقة تمسك بيد المتعلم أول بأول
-------------------------------------------------------
بالنسبة لجدول المستخدمين
-------------------------------------------------------
أرى أن يحتوي على :
رقم ( ترقيم تلقائي )
كود المستخدم مفتاح
اسم المستخدم
كلمة المرور
كود الشركة
كود الفرع
مستوى الصلاحية
اسم النافذة ( الفورم أو التقرير )
العرض النافذة (الفورم أو التقرير )
الإضافة
التعديل
الحذف
------------------------------------------------------------
شاشة الدخول
-----------------------------------------------------------
سيتم إعطاء الأتي :
اسم المستحدم
كلمة المرور
فيظهر الشركة و الفرع ثم الدخول الى الشاشة الرئيسية للبرنامج
-----------------------------------------------------------------
أعتقد أن هذه هي البداية
-----------------------------------------------------------------
ملاحظة : اسم قاعدة البيانات acc
-----------------------------------------------------------------
انتظر الرأي والبدأ
اضن انه يجب اضافة اسم الكامل للمستخدم
firstname /lastname/user/password
اما عن رقم الشركة فلاداعي لانه يمككننا الوصول اليها عن طريق رقم الفرع ان كان قانون التسيير كاتالي
كل فرع ينتمي الى شركة واحدة وواحده فقط.
كل شركة تحتوي على فرع او اكثر .
اسم النافذة ( الفورم أو التقرير )
العرض النافذة (الفورم أو التقرير )
الإضافة
التعديل
الحذف
لا تقم اضافتها حاليا لاننا يمكن جعلها الى حقلين فقط
العمليه : تكون بها التسجيلات مثلا تسيير الفواتير . تسيير الحسابات . تسيير الصلاحيات . تسيير ملف الزباءن . تسيير ملف الموردين ....الخ
مستوى الصلاحية الصلاحية : تكون بها التسجيلات مثلا م1 / م2 / م3 ....الخ
ونتحصل على جدول اخر للشرح جدول الصلاحيات
كما اننا نتضرالاخ المشرف سويفت لاعطاءنا طريقته في ذلك .
--------------------------------------------------
شاشة الدخول
-----------------------------------------------------------
سيتم إعطاء الأتي :
اسم المستحدم
كلمة المرور
فيظهر الشركة و الفرع ثم الدخول الى الشاشة الرئيسية للبرنامج
--------------------------------------------------------------
اذن قم بعمل النافدة الرئيسىه السابقة + datamodul
ان كنا لا نحتاج بيانات المستخدم بعد عملية الدخول يجب عليا قطع الاتصال بالجدول مباشرة بعد الدخول اى استعمل الكود لوضع الاستعلام اللزم وان كنت تريد الاحتفاض بالمعلومات طوال الجلسة تضع مكون الكويري وتربطه بالجدول .
---------------- بالتوفيق .............
السلام عليكــم ورحمـة الله وبركاتــه ،،
هلا أخي زكيري
من قبل استخدمت أنا أمر locate في البحث
وقلت لي أنت انه أمر بطيئ ويسبب مشاكل أحياناً
وكان هدفي من هذا البرنامج كما أوضحت أنت سابقاً كيفية استخدام أدوات ADO وطريقة افتصال الصحيحة لذا
أرجو من أحد الإخوة القيام بعمل المرحلة الأولى والتي أنا في حاجة لها
وفقنا الله وإياكم
في هذا الدرس ان شاء الله سنقوم بالتفصيل في الامر وفي انتضارنا للاخ طلال ارجوا ان ترى هذه الدروس الموجودة في الروابط وابدي محاولتك
ثم نصصحح معا .
المهم الواجهة و الداتا موديل به مكونات الاتصال .
استعلام الربط مع الجدول .
فقط
البحث بعدين .
okailاين انت اخي
واين وقف المشروع ان تريد المساعدة اطلب فقط.
حسننا اخي ذكيري . انا كانت خطتي ان ابني قاعدة البيانات . وادخل المستخدمين مع اعطاء الصلاحيات اللازمة لكل مستخدم . واترك login prompt في حالة true . وبذلك يتم الدخول الى قاعدة البيانات عن طريقه .
ماهي خطتك وماهي الطريقة الصحيحة لعمل ذلك . انا معلوماتي نظرية في هذا المجال , لم اقم بعمل برنامج يعمل على شبكة قبل الان . ماهو المطلوب بالضبط
اهلا اخي طلال كما قلت سابقا
ان كانت الصلاحيات هي على عمليات قواعد البيانات فقط نكتفي بوضعها على مستوى القاعدة .لكن السؤال الان كيف يمكن عمل ذلك على access فانا استعمل غاليا sqlserver و mysql
ارجوا من لديه الخبرة في access يساعدنا
السلام عليكــم ورحمـة الله وبركاتــه ،،
هلا أخي زكيري
مرحباً أخي طلال
اقتباسارجوا من لديه الخبرة في access يساعدنا
أخي ذكيري نحن نريد العمل على sql server وليس أكسس
بالنسبة الى اكسس العملية بسيطة وسهل عبارة عن جدول يوضع فيه الصلاحيات كأسم النموذج ثم عرض - إضافة - تعديل - حذف
ثم نكتب الأوامر في دالة
ثم عند كل نموذج نكتب أمر call name of fan
call اسم الدالة
ولكن كل هذا كله اكسس في اكسس
نحن هنا نريد دلفي مع sql server
اسف لم انتبه ضننكتك تريد اكسس اختلطت لديا الامور بين عدة مشاريع .
sql server
اذن لا مشكلة ان شاء الله ساضع المطلوب بدقة شكرا .
السلام عليكــم ورحمـة الله وبركاتــه ،،
هلا أخي زكيري
اقتباسokailاين انت اخيواين وقف المشروع ان تريد المساعدة اطلب فقط.
بالنسبة للمشروع فقد صممت نافذه الدخول وبعد إعطاء اسم المستخدم وكلمة المرور يتم الدخول الى الشاشة الرئيسية
وأيضا أنشأت بعض الجداول بالقاعدة
اسم المستخدم = كلمة المرور هو ok
مرفق ملف به المشروع و القاعدة عدل الكونيكشن حسب جهازك وانتظر الرد
أثناء تجولي في المنتدى أري بعض الأسئلة الكثيرة عن بطئ مثلا في برنامج متعدد المستخدمين واري انك وبعض الأخوة قد قاموا بوضع مشاركات لحل المشكلة وهذا يعني أن هناك أعضاء كثر يتقنون برامج تعدد المستخدمين ومع ذلك أجد قلة الردود وقلة الأعضاء المشاركين بالموضوع ولا أعرف السبب
عموما انا استخدمت دالة locate في البحث عن اسم المستخدم وكلمة المرور
begin
if DM.ADOTable1.Locate('user',user.Text,[]) then
begin
if DM.ADOTable1.FieldByName('Password').AsString=pass.Text then
begin
{ dm.ADOuserclient.post;}
Login.Visible := False;
main.Visible := True;
{ main.cno.Text:=login.DBEdit1.text;
main.bno.Text:=login.DBEdit2.text;}
END else showmessage ('عفواً كلمة المرور خطأ');
END else showmessage ('عفواً لا يوجد مستخدم بهذا الإسم');
end;
procedure TLogin.logbtmClick(Sender: TObject);
أرجو مراجعة العمل
وانتظر الرد
وفقنا الله واياكم
أخي الكريم انصحك بان لا تتعامل مع TADOTABLE استعمل TADOQUERY
وفي الخاصية SQL تكتب
[color= #000000; font-weight: bold;]var myQuery [color= #339933;]: TADOQuery[color= #339933;]; begin myQuery [color= #339933;]:= TADOQuery[color= #339933;].Create[color= #009900;](nil[color= #009900;])[color= #339933;]; try myQuery[color= #339933;].Connection [color= #339933;]:= ADOCONNECTION1[color= #339933;]; myQuery[color= #339933;].SQL[color= #339933;].Text [color= #339933;]:= [color= #0000ff;]' SELECT *'[color= #339933;]+ [color= #0000ff;]' FROM table (nolock)'[color= #339933;]+ [color= #0000ff;]' WHERE user = '[color= #0000ff;]''[color= #339933;]+edit1[color= #339933;].text[color= #339933;]+ [color= #0000ff;]''[color= #0000ff;]' and password='[color= #0000ff;]' '[color= #339933;]+edit2[color= #339933;].text[color= #339933;]+[color= #0000ff;]''[color= #0000ff;]''[color= #339933;]; TRY myQuery[color= #339933;].Open[color= #339933;]; [color= #b1b100;]if myQuery[color= #339933;].eof then [color= #339933;]............................ [color= #b1b100;]else [color= #339933;].................................. EXCEPT ON E [color= #339933;]:exception [color= #b1b100;]DO [color= #990000;]log[color= #009900;](E[color= #339933;].Message[color= #009900;])[color= #339933;]; [color= #990000;]END[color= #339933;]; FINALY myQuery[color= #339933;].close[color= #339933;]; myQuery[color= #339933;].free[color= #339933;]; [color= #990000;]END[color= #339933;]; [color= #990000;]END[color= #339933;];
تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 30 يونيو 2009 في 10:02
السلام عليكــم ورحمـة الله وبركاتــه ،،
مرحباً أخي زكيري
اقتباسأخي الكريم انصحك بان لا تتعامل مع TADOTABLE استعمل TADOQUERY
بالفعل لقد نصحتني سابقاً بالتعامل على الTADOQUERY بدلاً من TADOTABLE
إلا أنني لم استعمل أداوات ADO مث الكويري و الكوماند وغيرها
أرجو إن كان لديكم وقت شرح هذه الأدوات وخاصة الإضافة و التعديل و الحذف حتى لا أتعامل مع TADOTABLE مباشرة
و بالنسبة للكود الذي وضعته أرجو شرحه حتى أتمكن من استخدامه في كلما احتجت إليه من الأن
وفقنا الله واياكم
سيكون ذلك في درس اخي طلال ان شاء الله
سانسق معه كي نكمل الدرس في اقرب وقت .
انا اجهز الدرس الان
ولكن في هذا المشروع اتمنى ان نستخدم المكونات بدلا من oop . مارأيك اخي ذكيري
اخي okail ان الكود السابق هو تعريف المكونات برمجيا . أي بدون استخدامها , نستخدم التوريث لتعريف مكون ما .
ستتعرف عليها بالدروس المقبلة إن شاء الله
تم تعديل هذه المشاركة بواسطة طلال بلال في 30 يونيو 2009 في 00:04
السلام عليكــم ورحمـة الله وبركاتــه ،،
مرحباً أخي زكيري
هلا بك أخي طلال
ان استخدام المكونات سيكون أسهل في الشرح وأسرع على ما أعتقد ثم بعد الفهم سيكون الوقت مناسب للبرمجة الموجهة بالكائنات oop
اقتباسستتعرف عليها بالدروس المقبلة إن شاء الله
أنتظرك أخي طلال
وفقنا الله وإياكم
لا مشكلة
نعم بالمكونات اسهل لكن هذه مجرد عملبة البحث فقط .
اي يمكنك ان تتعامل مع جملت مكون الكويري الموجود في الداتاموديل .
وذلك بوضع كود سكل في الخاصية SQL.TEXT ثم تقوم بالتنفيذ فقط .
