• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

ahamied

الخبراء المعتمدون
  • عدد المشاركات

    944
  • تاريخ الانضمام

  • تاريخ اخر زياره

كل شيء نشر بواسطة ahamied

  1. السلام عليكم اخي الكريم   جرب المرفق مع العميل بندر اخوك في الله   اذا تم سداد باقي القسط سوف تضغط علي القسط وبعد ارخال الرقم الري 1234 يفترض انك تجعل قيمة المسدد والباقي من القسط صفر ليعمل البرنامج بطبيعته   اعتزر عن تكرار التعديل لوجود مشكلة عندي في النت 2-UPبرنامج التقسيط 10.3.rar
  2. تعقيب اخي اكرم حلك للمشكلة ممتاز لكن تصميم قاعدة البيانات خطأ ...
  3. السلام عليكم اخي الكريم طبعا بتلاقي كتير يعملولك اكواد وحركات وبتتحل المشكلة... لكن المشكلة الاساسية ان انت لازم تغير فكرك ناحية قواعد البيانات   يعني لو كل الجداول اصبحت جدول واحد وضفت فيه حقل جديد يعبر عن خاصية السجل بالكامل يعني ... بيتكتب قيه اساسي  / منتهي 1 / منتهي 2   وبعد كده تعرض اللي انت عايزة ... من غير حذف واتحديث وادراج ..   وفقك الله
  4. السلام عليكم اخي الكريم   سؤالك يدور حول فكرة تحديث البيانات بعد اجراء حدث معين وهو تعديل التاريخ يجب ان تعطي اسماء لعناصر التحكم في مثالك بالانجليزية لان لغات البرمجة لا تقبل العربية .... للاسف النمازج والاستعلامات والتقارير لا تحتوي علي بيانات ولكنها فقط عبارة عن شكل مختلف للبيانات التي هي اصلا مخزنة في الجداول. لذلك يجب ان يكون السؤال : كيف يتم تحديث حقل التاريخ في جميع الجداول بعد تغيره في اي جدول من خلال النموزج الخاص به.   طبعا الحدل ممكن بألف طريقة ... بس اقرب حاجة للسرعة والاداء هو استخدام لغة قواعد البيانات  SQL  سوف نطلب من الاكسس ان يقوم بعد اي تحديث لاي عنصر تحكم تاريخ في اي نموزج ان يقوم بتشغيل عبارة Update   مرفق الحل   اخوك في الله محمد بطاينه.rar
  5. السلام عليكم اخي الكريم  ارفق ملف
  6. السلام عليكم اخي الكريم جرب الكود التالي INSERT INTO (MS Access;DATABASE=C:\alsaadi\saleh.mdb;PWD=123) SALEH ( [NO], [my NAME] ) SELECT ail.[NO], ail.[my NAME] FROM ail; ممكن تظهر لك رسالة خطا فى حالة المثال المرفق لان القيم 1 و 2 ستكون مكررة فى المفتاح الاساسي فى جدول saleh يعني لازم تغير نوع المفتاح الاساسي من autonumber ل text l مثلا فى الجدولين وتراعي عند تشغيل الاستعلام عدم تكرار البيانات فى المفتاح الاساسي اخوك فى الله alsaadi.rar
  7. جمع عمود في الاكسس

    باستخدام الدالة SUM
  8. السلام عليكم اخي جعفر باستخدم الدالة Dcount والتي تقوم بعد عدد السجلات فى مصدر بيانات النموزج نتمكن من التوصل لعدد السجلات فاذا كان صفر يعني لا سجلات لذلك قمت بانشاء استعلام لمصدر بيانات نموزج2 حتي نتمكن من استخدام Dcount مرفق المطلوب اخوك فى الله AB.rar
  9. ممكمن احد يفهمني هذا . . .

    السلام عليكم المطلوب بكل بساطة ترتيب الموظفين حسن تاريخ التعيين الاقدم فالاحدث فالاحدث يعني ناتج طرح Now من حقل تاريخ التعيين [Hiredate] وترتيب ناتج الاستعلام حسب الناتج بالتوفيق
  10. السلام عليكم جدول المريض لن يقبل اي بيانات لاي card_id الا اذا تم اخال بيانات بجدول الهوية تخص card_id ببساطة تصميمك لقاعدة البيانات بيقول ان قاعة البيانات لا تسمح بتسجيل بيانات مريض الا اذا كان مسجل مسبقا بيانات الهوية لنفس المريض بالتوفيق
  11. محمد باشا فؤاد الله ينور ينور عليك شغل 10÷10 والنقاط من 1 الي 7 فعلا ممتازة جدا الا أذا ...... كان الموضوع ربط الاكسس مع السيكوال 2000 او 2005 او اي اصدار فهناك سبب 8 للبطئ وهو Access database engine بمعني ابسط استخدام عدد 2 محرك قاعدة بيانات -- الاول الاكسس والثاني السيكوال --- فى هذه الحالة ربنا يعين المستخدم متنساش سلامي لمترو الانفاق :-)
  12. مرجع ممتاز جدا وشامل
  13. السلام عليكم اخي الكريم 1- موضوع جدول للمنصرف وجدول للوارد ده ممتاز جدا وصحيح 100% 2- اما موضوع العلاقات فهو مهم جدا لدرجة تصل الي 1000% - يعني اهم من البيانات واهم من الاستعلامات واهم من الفيجوال او اي لغة برمجة.....؟؟؟ لماذا الان تواجهك مشكلة صعبة وهي البحث عن حركات صنف معين فى جدولين المنصرف والوارد لتحذفهم وبعد ذلك تحذف الصنف والمشكلة الاصعب التي سوف تواجهم هي تعديل كود صنف ؟؟؟؟ والعلاقات هي التي تظبط كل هذا جرب بالمرفق احذف اي صنف بجدول الاصناف له حركات او حتي غير كود الصنف سيتم تحديث جميع الحقول المرتبطة به بالجداول ارجو منك قراءة مقالات او مراجع فى موضوع العلاقات ولا تنسي ان الاكسس يندرج تحت Relational Database اخوك فى الله sample.rar
  14. الله يكرمك بس فيه اخطاء فى تصميم البرنامج بتاعك 1- ازاي فى حركة علي اصناف وانت معندكش لها اصلا تعريف فى جدول الاصناف ؟ زي الصنف 107 2- ازاي مش عامل علاقات اصلا تمنع لك الموضع 1 3-لو احتجت ملخص حركة صنف معين او history لصنف ماذا سيكون الحل ؟ مرفق الحل بواسطة استعلام union 4- كل الاصناف بالتقرير اللي من غير اسم غير مضافه فى جدول الاصناف ولها عمليات صرف/اضافة 5- اضغط علي زر اصناف وقرا التقرير كويس sample1.rar
  15. السلام عليكم الموضوع بسيط جدا وعايزك تكتشفة لوحدك اخوك فى الله sample.rar
  16. السلام عليكم ما هو نوع ال Index هل Clustered Indexes ام non Clustered Indexes Clustered Indexes A clustered index is a merger of a b-tree and the table’s data pages, keeping the data in the same physical order as the index, the leaf node of the b-tree index Actually is the data on the data page. CREATE CLUSTERED INDEX IxGuideName ON dbo.Guide (LastName, FirstName); Nonclustered Indexes A nonclustered index is a b-tree index that begins at the root node and extends through intermediate nodes to the leaf node. The leaf node then points to the data row in the data page,. A SQL Server 2005 table may have up to 249 nonclustered indexes, but I’ve never seen a table that required more than a dozen well-designed indexes.A nonclustered index may be created on a calculated column. The quoted identifier setting must be on to create or modify indexed views or indexes on calculated columns. CREATE NONCLUSTERED INDEX IxOrderNumber ON dbo.[Order] (OrderNumber) INCLUDE (OrderDate); علي العموم بمجرد اشاء primary key فان ال سيكوال سيرفر ينشئ له Index واخيرا SQL server 2005 بتعمل صيانة لنفسها بنفسها وممكن تستخدمي Maintenance plane wizard سهل جدا جدا واهم سبب البطئ اللي عندكم ده هو استخدام 2 database engine الاول Access وهو محرك ضعيف وبطئ والثاني SQL server يعني لو كانت ال tables فى الاكسس وال forms ايضا كان الموضوع هايكون اسرع او ال Tables فى SQL ولغة البرنامج اي لغة غير Ms Access Developer كان الموضوع هيكون اسرع .
  17. SELECT CountryID,CountryName FROM Countries WHERE CountryID NOT IN (SELECT CountryID FROM Departments GROUP BY CountryID);
  18. السلام عليكم اخي الكريم فى كل مرة يتم فيها اخال بيانات جديدة سوف تكون قيمة Cost فى كل ال fields الجديده Null هذا طبيعي لانه لم يتم تشغيل Update لقيمة ال Cost للـ fields الجديدة يعني المفروض انت من خلال البرنامج بتاعك تعمل اكواد تنفذ رغباتك يعني بعد كل insert تعمل Update وفي حل...انك تعمل Cost عبارة عن Calculated Columns فى تصميم الجدول وتنتهي المشكلة تماما. وفيه حل جميل اسمه Trigger بس مش عايزك تستخدمه لانه صعب ولا تنصح Microsoft اصلا باستخدامه مختصر شرحه ان انشاء trigger للـ Table CallDetails من النوع Insert يكون عمله اوتوماتيكي جدا ولا تشعر به يقوم عند كل insert فى الجدول باحتساب قيمة Cost
  19. السلام عليكم اخي الكريم شكرا علي شرح الفكرة . الان بما انك فى الاخير لديك table اسمه CallDetails يحتوي علي بياانات المكالمات وهي DateAndTime,HPno,[Type],CallDuration,Cost,UserName والويب سايت يوفرلك جميع البيانات ما عدا التكلفة Cost وانت تقوم بحسابها حسب الرقم HPno بمعادلة معينة شرطية. لديك اتجاهين للحل : 1- Run Update Query - لازم يكون فيه Field اسمه Cost موجود بالجدول CallDetails ولا يحتوي علي بيانات update CallDetails SET cost = CASE [HPno] WHEN LIKE '017%' then DATEDIFF(SECOND, 0, CallDuration) * 0.01 WHEN LIKE '093%' then DATEDIFF(SECOND, 0, CallDuration) * 0.05 WHEN LIKE '066%' then DATEDIFF(SECOND, 0, CallDuration) * 0.10 end; 2- Run Select Qerry لا يوجد Field اسمه Cost موجود بالجدول CallDetails DECLARE @cost smallmoney; SET @cost = CASE WHEN HPno LIKE '017%' then DATEDIFF(SECOND, 0, CallDuration) * 0.01 WHEN HPno LIKE '093%' then DATEDIFF(SECOND, 0, CallDuration) * 0.05 WHEN HPno LIKE '066%' then DATEDIFF(SECOND, 0, CallDuration) * 0.10 End Select calldetails (DateAndTime,HPno,[Type],CallDuration,@Cost,UserName);
  20. لسلام عليكم اخي الكريم ناتج الاستعلام بتاعك جميع قيم ال HPno هي 017000000 وهذه القيمة قمت انت بتثبيتها .... لماذا ؟ كذلك قيمة ال CallDuration  قيمتها 5 ثواني .... لماذا ولماذا تستخدم Insert بما انك تريد Update لقيمة فقط ؟
  21. السلام عليكم جرب الكود ده DECLARE @cost smallmoney; update CallDetails SET @cost = CASE [HPno] WHEN LIKE '017%' then DATEDIFF(SECOND, 0, CallDuration) * 0.01 WHEN LIKE '093%' then DATEDIFF(SECOND, 0, CallDuration) * 0.05 WHEN LIKE '066%' then DATEDIFF(SECOND, 0, CallDuration) * 0.10 end ; مرفق ملف شرح case من كتاب Willy Case Expressions.rar
  22. مليون مبروك لجميع الاعضاء كما نرجو منهم الابداع اخوكم فى الله
  23. طيب ما انت كويس اهو :) والله وحشتنا كتير جدا مرفق ملف وورد جميل جدا سلامي لمترو الانفاق اخوك المتغرب DBCC INDEXDEFRAG.rar