• الإعلانات

    • فيصل الحربي

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

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

الفهرى

اعضاء جدد
  • عدد المشاركات

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

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

السمعه بالموقع

2 عادي

عن الفهرى

  • الرتبة
    عضو جديد
  1. الحل بعد تنفيذ الخطوات السابقة تقرير1.rar
  2. حاول الحل التالى   يمكن ينفع.pdf
  3. اخفاء واضهار صفحات ONGLE

    زر واحد فقط يكفى كود فى form load Private Sub Form_Load() Command1.Caption = "المداخيل" Page2.Visible = False End Sub   وكود فى command click   Private Sub Command1_Click() If Command1.Caption = "المداخيل" Then     Command1.Caption = "المشتريات"     Page1.Visible = False     Page2.Visible = True Else     Command1.Caption = "المداخيل"     Page1.Visible = True Page2.Visible = False End If End Sub   me.rar
  4. اعتذر لأن سطر تحديد رقم الفاتورة صعب فى الكتابة  والمحاذاة لأنه يحتوى على نص عربى لكن ارجو ان تكون الفكرة قد وصلت
  5. هذا صعب ولن يحدث إلا فى حالة أنهما ضغطا  على زر الإضافة فى نفس الوقت ولكن حتى فى هذه الحالة قد يكون هناك حل مثلاً يجب أولاً أن يكون لديك دالة تعود بالمستخدم الحالى لقاعدة البيانات ولتكن الدالة باسم current_user بعدها فى زر  1071 الخاص بالإضافة يكون كود تحديد رقم الفاتورة بشكل كالشكل التالي if current_user=name1 then   Me.[رقم الفاتورة] = Get_last_invoice + 1 else Me.[رقم الفاتورة] = Get_last_invoice + 2 end if  
  6. إذا هل تقصد بالمستخدم العميل فقد أضفت الدالة التالية إلى الوحدة النمطية back       Public Function Get_last_invoice() As Long Dim dbs As Database, rst As Recordset, strsql As String Get_last_invoice = 0 Set dbs = CurrentDb strsql = " SELECT ÌÏæá1.*" strsql = strsql & " FROM ÌÏæá1" strsql = strsql & " ORDER BY ÌÏæá1.[ÑÞã ÇáÝÇÊæÑÉ];" Set rst = dbs.OpenRecordset(strsql) rst.MoveLast Get_last_invoice = rst![ÑÞã ÇáÝÇÊæÑÉ] End Function     ثم غيرت فى الزر 1071 ليصبح   Private Sub أمر1071_Click() On Error GoTo Err_أمر1071_Click Me![اجمالي_السعر] = Me![نص6]     DoCmd.GoToRecord , , acNewRec   '  Dim InvNum As Long    ' DoCmd.GoToRecord , , acLast   ' InvNum = Me.[رقم الفاتورة]   '  DoCmd.GoToRecord , , acNewRec Me.رقم_الفاتورة.SetFocus     Me.[رقم الفاتورة] = Get_last_invoice + 1       Dim stDocName As String    Dim stLinkCriteria As String       stDocName = "Customers"     DoCmd.OpenForm stDocName, , , stLinkCriteria   Exit_أمر1071_Click:     Exit Sub   Err_أمر1071_Click:     MsgBox err.Description     Resume Exit_أمر1071_Click      End Sub   وقد اضفت قائمة تنقل فى النموذج Customers         rtt55.rar
  7. الملف المرفق لا يحتوى على شئ مفيد يمكن أن يساعد فى الحل كما قال الأخ superhot3000 جرب عبارة SQL فى استعلام وتأكد أنه يعمل ويمكن ادخال بيانات عليه تأكد من النموذج الذى تعمل عليه تأكد من الخصائص Lock و Allow  Additions و Allow Edits
  8. بالمناسبة لم اتمكن من تنزيل ملف المرفق من خلال Google chrome  ولكن قمت بتنزيله من خلال Windows internet explorer - iexplore وكذلك الملف الذى قمت أن بإنشاءه  
  9. فى النموذج FROM TABLE10 عرف المتغير  العام msg_sql أعلى صفحة كود النموذج Option Compare Database Dim msg_sql As String بعد ذلك انشأ الدالة العامة Change_Query   Public Sub Change_Query() Dim Cntr_Cnd As String, Yr_Cnd As String          If Nz(cmb_Org_Name) = "" And Nz(مربع_تحرير_وسرد228) = "" Then             msg_sql = " SELECT TABLE2.[AA ID], TABLE1.fullname, TABLE2.Org_Name, TABLE2.[سنة التأهيل], TABLE2.Birthenter, TABLE2.strtawgod, TABLE2.[تاريخ بداية العقد], TABLE2.[تاريخ نهاية العقد], TABLE2.[فترة التأهيل], TABLE2.[التربية الخاصة فردي], TABLE2.[علاج النطق], TABLE2.[العلاج الوظيفي], TABLE2.[العلاج الطبيعي], TABLE2.[تعديل السلوك], TABLE2.[تأهيل مهني], TABLE2.[عدد الجلسات], TABLE2.[اجمالي المبلغ الشهري], TABLE2.[المبلغ باللغة العربية], TABLE2.Print_it, TABLE2.[اسم الحالة]"             msg_sql = msg_sql & " FROM TABLE1 LEFT JOIN TABLE2 ON TABLE1.[ID] = TABLE2.[AA ID];"          ElseIf Nz(cmb_Org_Name) <> "" And Nz(مربع_تحرير_وسرد228) = "" Then             Cntr_Cnd = cmb_Org_Name             msg_sql = " SELECT TABLE2.[AA ID], TABLE1.fullname, TABLE2.Org_Name, TABLE2.[سنة التأهيل], TABLE2.Birthenter, TABLE2.strtawgod, TABLE2.[تاريخ بداية العقد], TABLE2.[تاريخ نهاية العقد], TABLE2.[فترة التأهيل], TABLE2.[التربية الخاصة فردي], TABLE2.[علاج النطق], TABLE2.[العلاج الوظيفي], TABLE2.[العلاج الطبيعي], TABLE2.[تعديل السلوك], TABLE2.[تأهيل مهني], TABLE2.[عدد الجلسات], TABLE2.[اجمالي المبلغ الشهري], TABLE2.[المبلغ باللغة العربية], TABLE2.Print_it, TABLE2.[اسم الحالة]"             msg_sql = msg_sql & " FROM TABLE1 LEFT JOIN TABLE2 ON TABLE1.[ID] = TABLE2.[AA ID]"             msg_sql = msg_sql & " WHERE (((TABLE2.Org_Name)='" & Cntr_Cnd & "'));"           ElseIf Nz(cmb_Org_Name) = "" And Nz(مربع_تحرير_وسرد228) <> "" Then             Yr_Cnd = مربع_تحرير_وسرد228             msg_sql = " SELECT TABLE2.[AA ID], TABLE1.fullname, TABLE2.Org_Name, TABLE2.[سنة التأهيل], TABLE2.Birthenter, TABLE2.strtawgod, TABLE2.[تاريخ بداية العقد], TABLE2.[تاريخ نهاية العقد], TABLE2.[فترة التأهيل], TABLE2.[التربية الخاصة فردي], TABLE2.[علاج النطق], TABLE2.[العلاج الوظيفي], TABLE2.[العلاج الطبيعي], TABLE2.[تعديل السلوك], TABLE2.[تأهيل مهني], TABLE2.[عدد الجلسات], TABLE2.[اجمالي المبلغ الشهري], TABLE2.[المبلغ باللغة العربية], TABLE2.Print_it, TABLE2.[اسم الحالة]"             msg_sql = msg_sql & " FROM TABLE1 LEFT JOIN TABLE2 ON TABLE1.[ID] = TABLE2.[AA ID]"             msg_sql = msg_sql & " WHERE (((TABLE2.[سنة التأهيل])='" & Yr_Cnd & "'));"                  ElseIf Nz(cmb_Org_Name) <> "" And Nz(مربع_تحرير_وسرد228) <> "" Then         Cntr_Cnd = cmb_Org_Name         Yr_Cnd = مربع_تحرير_وسرد228         msg_sql = " SELECT TABLE2.[AA ID], TABLE1.fullname, TABLE2.Org_Name, TABLE2.[سنة التأهيل], TABLE2.Birthenter, TABLE2.strtawgod, TABLE2.[تاريخ بداية العقد], TABLE2.[تاريخ نهاية العقد], TABLE2.[فترة التأهيل], TABLE2.[التربية الخاصة فردي], TABLE2.[علاج النطق], TABLE2.[العلاج الوظيفي], TABLE2.[العلاج الطبيعي], TABLE2.[تعديل السلوك], TABLE2.[تأهيل مهني], TABLE2.[عدد الجلسات], TABLE2.[اجمالي المبلغ الشهري], TABLE2.[المبلغ باللغة العربية], TABLE2.Print_it, TABLE2.[اسم الحالة]"         msg_sql = msg_sql & " FROM TABLE1 LEFT JOIN TABLE2 ON TABLE1.[ID] = TABLE2.[AA ID]"         msg_sql = msg_sql & " WHERE (((TABLE2.Org_Name)='" & Cntr_Cnd & "')"         msg_sql = msg_sql & " AND ((TABLE2.[سنة التأهيل])='" & Yr_Cnd & "'));"                          End If End Sub   أنتهى الموضوع هذا كل ما فى الأمر  بعدها غير الاجراء AfterUpdate لقائمة مراكز التأهيل       Private Sub cmb_Org_Name_AfterUpdate()           Change_Query         Me![STABLE2].Form.RecordSource = msg_sql         Me![STABLE2].Form.Requery End Sub   وكذلك الإجراء AfterUpdate لقائمة السنوات   Private Sub مربع_تحرير_وسرد228_AfterUpdate()     Change_Query    Me![STABLE2].Form.RecordSource = msg_sql    Me![STABLE2].Form.Requery End Sub   وكذلك الأجراء Load للنموذج   Private Sub Form_Load()         Change_Query         Me![STABLE2].Form.RecordSource = msg_sql         Me![STABLE2].Form.Requery End Sub وكذلك الزر الخاص بالطباعة Private Sub أمر127_Click() Dim dbs As DAO.Database, Xquery As QueryDef, stDocName     Set dbs = CurrentDb     stDocName = "تقرير تصفية البيانات"     Set Xquery = dbs.QueryDefs(stDocName)     Change_Query     Xquery.SQL = msg_sql   DoCmd.OpenReport stDocName, acViewPreview, , , acDialog End Sub وكذلك العرض Private Sub أمر119_Click()     Dim dbs As DAO.Database, Xquery As QueryDef, stDocName         Set dbs = CurrentDb     stDocName = "تقرير تصفية البيانات"     Set Xquery = dbs.QueryDefs(stDocName)     Change_Query     Xquery.SQL = msg_sql     DoCmd.OpenQuery stDocName, acNormal, acReadOnly End Sub بالمناسبة يجب أن يكون هناك تقرير واستعلام باسم "تقرير تصفية البيانات" موجود فى الملف المرفق يمكنك أن تعيد تصميم التقرير يوجد قصور فى التقرير (الذى قمت أنا بإضافته) إذا يعتمد نظام عرضه على عمل تصفيه على السنوات ومراكز التأهيل معاً وإلا سيكون هناك قصور فى البيانات المعروضة       Contracts.rar
  10. ربما يحتوى الملف المرفق على حل 2018-4-2.rar
  11. N3.rarربما يكون يفيد هذا الحل أولاً يجب إضافة الدالة التالية Public Function my_calc(ByVal xkey1 As Long, ByVal xkey2 As Long) As Double On Error Resume Next Dim dbs As Database, strsql As String, rst As Recordset, rstT3 As Recordset Dim xprcent As Single, xsum As Double, xprdct  As Double xsum = 0 Set dbs = CurrentDb strsql = " SELECT T1.*" strsql = strsql & " FROM T1" strsql = strsql & " WHERE (((T1.Id_Key1)=" & xkey1 & "));" Set rst = dbs.OpenRecordset(strsql) xprcent = Nz(rst![Record2]) strsql = " " strsql = " SELECT T3.*" strsql = strsql & " FROM T3" strsql = strsql & " WHERE (((T3.ID_Key2)=" & Nz(xkey2) & "));" Set rst = dbs.OpenRecordset(strsql) Do xsum = xsum + Nz(rst![Rec1]) * Nz(rst![Rec2]) rst.MoveNext Loop Until rst.EOF my_calc = (xsum * xprcent) / 100 End Function   ساعتها يمكن تنفيذ عبارة التحديث ستكون التالية UPDATE T2 SET T2.Rec2 = my_calc(T2.ID_key1,T2.ID_Key2);       N3.rar N3.mdb
  12. تفعيل مربعي تحرير وسرد للبحث

    مرفق التعديل على النموذج الأصلى اعتقد أن النموذج الأصلى يحتوى على خطأ  إذ لا يعمل زر البحث فى الغالب إلا بعد الضغط عليه للمرة الثانية يجب أن يعاد تصميمه sample2.rar
  13. تفعيل مربعي تحرير وسرد للبحث

    إذا كان  ما تريد الحصول عليه هو التصفية  فيمكن نقل الكود من النموذج الجديد ليعمل إلى نموذج الأصلى وبدلا من  أن يعمل مع الإجراء Text_change  يعمل مع الإجراء Command_click ربما ارفق غدا أن شاء الله المثال بعد نقل الكود