اذهب الي المحتوي
أوفيسنا

jjafferr

أوفيسنا
  • Posts

    9,756
  • تاريخ الانضمام

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

  • Days Won

    396

Community Answers

  1. jjafferr's post in طلب معلومة عن الاستعلامات_ استعلام توحيد was marked as the answer   
    في الواقع مثل ما قال ابوخليل في مشاركته ، انت محتاج استعلام واحد ويحل جميع مشاكلك ،
    بس لأن سؤالك كان عن مجموعة من الاستعلامات ، فاتجهت في اجابتي نحو استعلام التوحيد!!
     
    ولا محتاج جدول مؤقت ، ولا ولا ، إلا هذا الاستعلام 🙂
     
    هذا الاستعلام اللي تريده:

    .
    SELECT Dwam_Emp_ALL.Emp_No_A, Emp_Info.Emp_Ar_Name, Sum(IIf([Emp_ABSCENT]=Yes,1,0)) AS SumAbsentYes, Sum(IIf([sick]=Yes,1,0)) AS SumsickYes, Sum(Dwam_Emp_ALL.OTH) AS SumOfOTH FROM Emp_Info INNER JOIN Dwam_Emp_ALL ON Emp_Info.Emp_No = Dwam_Emp_ALL.Emp_No_A WHERE (((Dwam_Emp_ALL.Dwam_Date) Between [Forms]![frmPrintSalary]![txtdate1] And [Forms]![frmPrintSalary]![txtdate2])) GROUP BY Dwam_Emp_ALL.Emp_No_A, Emp_Info.Emp_Ar_Name HAVING (((Dwam_Emp_ALL.Emp_No_A)=IIf([Forms]![frmPrintSalary]![OP]=1,[Emp_No_A],[Forms]![frmPrintSalary]![cbEmpNo]))); .

    .
    والتقرير:

    .
    ما عليك من التقرير الآن ، لأنه تحصيل حاصل ،
    رجاء استعمل الاستعلام اللي اعطيتك ، واخبرني اذا عندك مشكلة فيه 🙂
     
    جعفر
  2. jjafferr's post in طلب داله حسابيه للاضافى was marked as the answer   
    لما تكون عندي معادلة بهذا التعقيد ، على طول وبدون تفكير ، اعمل وحدة نمطية واضع فيها المعادلة بطريقة مبسطة وبعدة اسطر ، ثم اناديها من الاستعلام 🙂
     
    ننادي الدالة fOver_Time في الوحدة النمطية ، ونرسل لها البيانات المطلوبة
    OverTime: fOver_Time([ThisDay], [Dwam_Start], [Dwam_End], [txtStanderTimeOut1], [txtStanderTimeOut2]) .
    وهذه هي الدالة fOver_Time ، والتي يمكن تعديلها ببساطة :
    Public Function fOver_Time(TD, DS, DE, STO1, STO2) 'TD = [ThisDay] 'DS = [Dwam_Start] 'DE = [Dwam_End] 'STO1 = [txtStanderTimeOut1] 'STO2 = [txtStanderTimeOut2] If TD = "Friday" Then fOver_Time = DateDiff("n", DS, DE) \ 60 & ":" & DateDiff("n", DS, DE) Mod 60 ElseIf TD = "Thursday" Then fOver_Time = DateDiff("n", STO2, DE) \ 60 & ":" & DateDiff("n", STO2, DE) Mod 60 ElseIf TD <> "Friday" Or TD <> "Thursday" Then fOver_Time = DateDiff("n", STO1, DE) \ 60 & ":" & DateDiff("n", STO1, DE) Mod 60 End If End Function .
    جعفر
  3. jjafferr's post in مشكلة معي فى تحويل التاريخ الهجري والميلادي فى نفس الفورم was marked as the answer   
    المفروض ان تظهر لك ارقام فقط ، لهذا السبب تحصل على خطأ عندما تنادي الدالة Um2Greg !!
     
    في الواقع المشكلة عندك في الجدول ، حيث ان حقل IqamaExpDateH هو تاريخ ، بينما يجب ان يكون نص 

    .
    وبالتالي يتم حذف الاشارة الى ان الحقل تاريخ (احذف Short Date) 
    .
    .
    وبعدها شوف النتائج 🙂
     
    جعفر
  4. jjafferr's post in فلترة تقرير عن طريق فورم datasheet was marked as the answer   
    وعليكم السلام 🙂
     
    بطريقتين :
    DoCmd.OpenReport "rpt_j", acViewPreview, , Forms!frm_j.Filter او DoCmd.OpenReport "rpt_j", acViewPreview Reports!rpt_j.Filter = Forms!frm_j.Filter Reports!rpt_j.FilterOn = true  
    جعفر
  5. jjafferr's post in تقسيم الجملة إلى كلمات was marked as the answer   
    وعليكم السلام 🙂
     
    تفضل هذه الطريقة ، ولكن بدل - استخدم الفاصلة
     
    .
    جعفر
  6. jjafferr's post in تحويل صف الى عمود was marked as the answer   
    وعليكم السلام 🙂
     
    تفضل هذا جوابك سؤالك 🙂
     
    فقط عليك ان تنادي الوحدة النمطية مرة واحدة حتى تقوم بإدخال جميع بيانات الاستعلام QAAA الى الجدول TBBBB :
    Public Function Rows_to_Column() On Error GoTo err_Rows_to_Column Dim Rrst As DAO.Recordset Dim Crst As DAO.Recordset Dim i As Integer Dim fld As Field Dim iField_Caption As String Set Crst = CurrentDb.OpenRecordset("Select * From TBBBB") Set Rrst = CurrentDb.OpenRecordset("Select * From QAAA") Rrst.MoveFirst 'Records Do Until Rrst.EOF 'Field Names For Each fld In Rrst.Fields iField_Caption = fld.Properties("Caption") 'Debug.Print fld.Name & vbTab & Rrst(fld.Name) Crst.AddNew Crst!NSSASASE = iField_Caption Crst!NSSBDEL = Rrst(fld.Name) Crst.Update Next Rrst.MoveNext Loop Exit_Rows_to_Column: Rrst.Close: Set Rrst = Nothing Crst.Close: Set Crst = Nothing MsgBox "Done" Exit Function err_Rows_to_Column: If Err.Number = 3270 Then 'this field does not have a caption for it, give it the field name iField_Caption = fld.Name Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Rows_to_Column End If End Function  
    جعفر
  7. jjafferr's post in تحويل صف الى عمود was marked as the answer   
    وعليكم السلام 🙂
     
    تفضل هذا جوابك سؤالك 🙂
     
    فقط عليك ان تنادي الوحدة النمطية مرة واحدة حتى تقوم بإدخال جميع بيانات الاستعلام QAAA الى الجدول TBBBB :
    Public Function Rows_to_Column() On Error GoTo err_Rows_to_Column Dim Rrst As DAO.Recordset Dim Crst As DAO.Recordset Dim i As Integer Dim fld As Field Dim iField_Caption As String Set Crst = CurrentDb.OpenRecordset("Select * From TBBBB") Set Rrst = CurrentDb.OpenRecordset("Select * From QAAA") Rrst.MoveFirst 'Records Do Until Rrst.EOF 'Field Names For Each fld In Rrst.Fields iField_Caption = fld.Properties("Caption") 'Debug.Print fld.Name & vbTab & Rrst(fld.Name) Crst.AddNew Crst!NSSASASE = iField_Caption Crst!NSSBDEL = Rrst(fld.Name) Crst.Update Next Rrst.MoveNext Loop Exit_Rows_to_Column: Rrst.Close: Set Rrst = Nothing Crst.Close: Set Crst = Nothing MsgBox "Done" Exit Function err_Rows_to_Column: If Err.Number = 3270 Then 'this field does not have a caption for it, give it the field name iField_Caption = fld.Name Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Rows_to_Column End If End Function  
    جعفر
  8. jjafferr's post in تحويل صف الى عمود was marked as the answer   
    وعليكم السلام 🙂
     
    تفضل هذا جوابك سؤالك 🙂
     
    فقط عليك ان تنادي الوحدة النمطية مرة واحدة حتى تقوم بإدخال جميع بيانات الاستعلام QAAA الى الجدول TBBBB :
    Public Function Rows_to_Column() On Error GoTo err_Rows_to_Column Dim Rrst As DAO.Recordset Dim Crst As DAO.Recordset Dim i As Integer Dim fld As Field Dim iField_Caption As String Set Crst = CurrentDb.OpenRecordset("Select * From TBBBB") Set Rrst = CurrentDb.OpenRecordset("Select * From QAAA") Rrst.MoveFirst 'Records Do Until Rrst.EOF 'Field Names For Each fld In Rrst.Fields iField_Caption = fld.Properties("Caption") 'Debug.Print fld.Name & vbTab & Rrst(fld.Name) Crst.AddNew Crst!NSSASASE = iField_Caption Crst!NSSBDEL = Rrst(fld.Name) Crst.Update Next Rrst.MoveNext Loop Exit_Rows_to_Column: Rrst.Close: Set Rrst = Nothing Crst.Close: Set Crst = Nothing MsgBox "Done" Exit Function err_Rows_to_Column: If Err.Number = 3270 Then 'this field does not have a caption for it, give it the field name iField_Caption = fld.Name Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Rows_to_Column End If End Function  
    جعفر
  9. jjafferr's post in فتح نموذج آخر على نفس السجل بدون فلترة was marked as the answer   
    لما يكون النموذج في وضع Dialog (مو منبثق Popup) فيكون مثل نافذة رسائل الاكسس:
    بحيث لا تستطيع ان تستخدم اي من كائنات قاعدة البيانات ، غير الموجودة في نافذة الرسالة ، يتوقف الكود عند هذا السطر ولا يتحرك للسطر التالي إلا بعد اغلاق النافذة. لهذا السبب يجب عدم استخدام هذه الخاصية (النماذج) إلا في حالات جدا خاصة.
     
    الطريقة الاولى:
    لحل هذه المشكلة ، يجب علينا ارسال جميع المعلومات المطلوبة ، ضمن امر فتح النموذج FRM2 ، ويمكننا عمل هذا عن طريق المتغير OpenArgs الموجود كآخر متغير في امر فتح النموذج ،
    فيكون الكود:
    Private Sub Frm2_Click() 'since we open the Form in a Dialog mode, 'we cannot send any further lines of code until the Form is closed 'so while opening the Form, we will send further info in "OpenArgs" variable 'so that when Form 2 is open, we can process this data there. 'Coming from:FRM1, setfocus field:TNO, TNO value: me.TNO DoCmd.OpenForm "FRM2", acNormal, , , , acDialog, "FRM1|TNO|" & Me.TNO End Sub .
    وفي حدث "تحميل" النموذج FRM2 ، نطلب منه تحليل هذه المعلومة ، والقيام بالمطلوب :
    Private Sub Form_Load() On Error GoTo err_Form_Load If IsNull(Me.OpenArgs) Then GoTo No_OpenArgs Dim x() As String 'OpenArgs info: 'Coming from:FRM1 'setfocus field:TNO 'TNO value: me.TNO If Split(Me.OpenArgs, "|")(0) = "FRM1" Then x = Split(Me.OpenArgs, "|") Me(x(1)).SetFocus DoCmd.FindRecord x(2), , , , , , True End If No_OpenArgs: 'continue code here Exit_Form_Load: Exit Sub err_Form_Load: If Err.Number = 2142 Or Err.Number = 94 Or Err.Number = 9 Then 'ignore, No proper value from OpenArgs Resume No_OpenArgs Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Form_Load End If End Sub .
     
     
    الطريقة الثانية:
    Private Sub Frm2_Click() DoCmd.OpenForm "FRM_02", acNormal, , , , acDialog End Sub .
    وفي حدث "تحميل" النموذج FRM2 ،
    Private Sub Form_Load() On Error GoTo err_Form_Load Me.TNO.SetFocus DoCmd.FindRecord Forms!FRM_01!TNO, , , , , , True No_FRM: 'continue code here Exit_Form_Load: Exit Sub err_Form_Load: If Err.Number = 2145 Then 'ignore, No proper value from incoming Form Resume No_FRM Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Form_Load End If End Sub .
    جعفر
  10. jjafferr's post in لا يمكنك اخفاء عنصر تحكم يتضمن التركيز run-time error 2165 was marked as the answer   
    انت تريد ان تخفي كائن/كائنات في النموذج ، لذا ، يجب ان تجعل التركيز على كائن/حقل/زر آخر ، ثم يمكنك ان تجعل الكائن مخفي 🙂
    وبعض الاوقات ما تهمك رسالة الخطأ ، لأن الفأرة تكون على جميع انواع الكائنات ، فالنموذج عندك يعمل بطريقة صحيحة ، ولا تريد هذه الرسالة ، لذا يجب ان تصطاد هذه الرسالة ، وتخبر الكود بالمواصلة ، شيء من هذا القبيل:
    Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) On Error GoTo err_Form_MouseMove '... 'the code '... Exit_Form_MouseMove: Exit Sub err_Form_MouseMove: If Err.Number = 2165 Then 'ignore Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Form_MouseMove End If End Sub  
    جعفر
  11. jjafferr's post in علاقة بين جدولين was marked as the answer   
    بدل العلاقة بين الجدولين ، انا عملت العلاقة بين النموذج الرئيسي والفرعي ، ولكن ، تفضل

    .
    واضفت حقل لتسلسل العائلة/الاطفال

    .

    .
    في النموذج الفرعي ،  ولما تكتب اسم من اسماء افراد العائلة ، وعند حدث "بعد التحديث" ، يحصل الاسم على الرقم التلقائي التالي ، بهذا الكود:
    Private Sub الاسم_AfterUpdate() 'Get the Next Seq number for this child Me.Childern_ID = Nz(DMax("[Childern_ID]", "tb2", "[Father_ID]=" & Me.Parent!id), 0) + 1 End Sub  
    جعفر
    1433.test.accdb.zip
  12. jjafferr's post in مشكلة انشاء تلقائي لفولدر بعد تقسيم القاعدة لمشاركتها على السيرفر was marked as the answer   
    تفضل 🙂
     
    اصبح جدولك:

    .
    وعلشان تنادي مسار التذاكر ، استخدم:
    Project_path = DLookup("[Folder_Path]", "tbl_msar_folder", "[Auto_ID]=1")  
    جعفر
    1432.1.الارشيف.accdb.zip
  13. jjafferr's post in مشكلة فى استعلام الالحاق .. لا يعمل مع شرط معين was marked as the answer   
    وعليكم السلام 🙂
     
    اسهل طريقة هي:
    في الجدول: StoreTransaction
    الحقل: SerialTransfaerfrom ، اجعله مفهرس وغير قابل للتكرار.
     
    لن يسمح الاكسس بتكرار بيانات هذا الحقل 🙂
     
    جعفر
  14. jjafferr's post in تحديد عناصر قائمة منسدلة وربطها بقائمة أخري was marked as the answer   
    السلام عليكم 🙂
     
    1. تم عمل الحقل text_1 في الجدول ،
    2. في النموذج ، تم تحويل حقل text_1 الى حقل نص عادي ،
    3. لما تختار من القائمة Head_1 ، تظهر لك رسالة تطلب منك التأكيد على ملئ بيانات الحقل text_1 ببيانات الحقل Head_1 ،
     

    .
    وهذا هو كود تعبئة البيانات:
    Private Sub Head_1_AfterUpdate() Dim Msg, Style, Title, Response Msg = "ستقوم بتعبأة الحقل" & vbCrLf & _ " text_1 " & vbCrLf & _ "ببيانات الطالب من الحقل" & vbCrLf & vbCrLf & _ Me.Head_1 & " < " & Me.Head_1.Column(1) Style = vbYesNo + vbCritical + vbDefaultButton2 ' Define buttons. Title = "هل انت متأكد" ' Define title. Response = MsgBox(Msg, Style, Title) If Response = vbYes Then ' User chose Yes. DoCmd.SetWarnings False mySQL = "UPDATE Stu_select SET text_1 = " & [Forms]![تلاميذ محددين]![Head_1] mySQL = mySQL & " WHERE perm3=True" DoCmd.RunSQL mySQL DoCmd.SetWarnings True Me.Requery End If End Sub  
    جعفر
     
    1425.تحديد عناصر قائمة منسدلة وربطها بأخري.accdb.zip
  15. jjafferr's post in مساعدة في كود حذف عدة سجلات بعد نسخها إلى جدول آخر was marked as the answer   
    وعليكم السلام 🙂
     
    تفضل 🙂
     
    جعفر
    1426.Delete.accdb.zip
  16. jjafferr's post in حذف السجلات الفارغة من النموذج الفرعى was marked as the answer   
    سيدي الفاضل الدكتور الحلبي 🙂
     
    تم إعادة العمل ، بناء على الشرح 🙂
     
    جعفر
    1422.حذف من الفرعي.accdb.zip
  17. jjafferr's post in فرز حقل دون استخدام (استعلام خارجي او جدول) was marked as the answer   
    وعليكم السلام 🙂
     
    نفس المعادلة التي اعطيتك هنا:
     
    اذا كانت الفارزة بين الرقمين هي علامة "-"

    .
    اجعل مصدر بيانات الحقول كالتالي:
    الرقم الاول =Mid([NNAME],1,InStr([NNAME],"-")-1) الرقم الثاني =Mid([NNAME],InStr([NNAME],"-")+1) .

     
     
    جعفر
  18. jjafferr's post in تنفيذ الأمر في السجلات التي يتم تحديدها بالفأرة فقط was marked as the answer   
    تفضل 🙂
     
    قبل الاختيار ، سترى ان لون زر "الغي الاختيار" لونه اسود

    .
    وعند الاختيار ، سيتحول لونه الى الاحمر ، ليحذرك بأنه هناك اختيار سابق تم تخزينه في المتغير TempVars!tmpVars_DoIn ، وتم الافصاح عن هذا المتغير في اعلى كود النموذج ، حتى يمكنه اضافة القيم:
    Dim tmpVars_DoIn as TempVars وكلما تختار سجلات اخرى ، فإن المتغير يضيف هذه السجلات الى المتغير

    .
    هذا الكود يقوم بإضافة ارقام الحقل TNO (يمكنك اختيار اي حقل يدل على رقم السجل) الى المتغير ، بحيث يكون المتغير يحتوي على مصفوفة بهذه الطريقة:  34 ,33 , 13 ,12 , 0
    Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) 'Me.SelHeight = to specify or determine the number of selected rows 'Me.SelTop = to specify or determine which row (record) is topmost in the current selection Dim i As Integer Dim rst As dao.Recordset Set rst = Me.RecordsetClone rst.MoveFirst If Me.SelHeight = 0 Then Exit Sub ' Move to the first selected record. rst.Move Me.SelTop - 1 For i = 1 To Me.SelHeight TempVars!tmpVars_DoIn = TempVars!tmpVars_DoIn & ", " & rst![TNO] 'add the selected TNO to tmpVars_DoIt rst.MoveNext Next i 'show the selected in the Form 'اذا لا تريد تحديث النموذج، اوقف عمل السطر التالي Call TempVars_Use_Click 'change the button color, so that the user know somwthing is selected already Me.TempVars_Clear.ForeColor = vbRed 'Debug.Print TempVars!tmpVars_DoIn End Sub .
    ولما تريد استخدام اياستعلام (انا استعملت الكود الذي وضعته انت) ، يمكنك استخدام الكود التالي المحتوي على البيانات التي تم تحديدها :
    Mid(TempVars!tmpVars_DoIn, 3) .
    هذا كود زر الغي التحديد:
    Private Sub TempVars_Clear_Click() TempVars!tmpVars_DoIn = 0 'change the color to black, indicating nothing is selected Me.TempVars_Clear.ForeColor = vbBlack End Sub .
    وهذا كود استخدم سجلات التحديد
    Private Sub TempVars_Use_Click() 'remove the initial comma 'TempVars!tmpVars_DoIn = Mid(TempVars!tmpVars_DoIn, 3) CurrentDb.Execute "UPDATE TAB SET MOVEX = -1 WHERE TNO In (" & Mid(TempVars!tmpVars_DoIn, 3) & ")" 'show the selected in the Form 'اذا لا تريد تحديث النموذج، اوقف عمل السطر التالي Me.Requery End Sub .
    جعفر
    1423.1.Record Selector.accdb.zip
  19. jjafferr's post in لقد نسيت كلمه مرور قاعده البيانات الخاصه بي VBA was marked as the answer   
    وعليكم السلام اخي محمد 🙂
     
    واهلا بك في المنتدى 🙂
    للاستفادة القصوى من المنتدى ، رجاء قراءة قوانين المنتدى: اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة
     
    اذا بحثت في الانترنت ، قد تجد الرد على سؤالك ،
    ولكن في هذا المنتدى ، فقوانين المنتدى لا تسمح:  يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية ، 
    لهذا السبب ، يجب عليك ان تعطينا الدليل على ان قاعدة البيانات هذه ملكك ، فعليه ممكن مساعدتك ، والجواب لن يكون على العام في هذه المشاركة 🙂
     
    جعفر
  20. jjafferr's post in فرز أول رقم بدون تكرار لوضعه في جدول آخر was marked as the answer   
    وعليكم السلام 🙂
     
    1. مرحلة التحليل:
    بما ان العلاقة بين الجدولين

    .
    اذن خلينا نشوف القيم كما هي بين الجدولين:

    .
    اذن هذه هي قيم MNO التي نريدها من مجاميع الحقل MUSNAD ،
    اي ان مجاميع الحقل MUSNAD ويقابلها اقل قيمة للحقل MNO

    .
    2. مرحلة التطبيق:
    في الجدول TAB ، يجب تجميع الحقل MUSNAD ، واخذ اقل قيمة من الحقل MNO لكل MUSNAD

    .
    وهذه هي النتيجة ، وللتأكد (تطابق البيانات كما في الصورة اعلاه) :

    .
    نريد جملة SQL الاستعلام (نفس الاستعلام ، ولكننا نريد الحقل MNO فقط)

    .
    نضع جملة SQL الاستعلام السابق كمعيار للحقل (هذه يسمى استعلام فرعي) :

    .
     
     
    هذا يصير فقط اذا كان فيه علاقة بين الحقلين :
    بسبب وجود علاقة بين الجدولين TAB و Tab_Msaneed ، فنستطيع اضافة حقل آخر في العلاقة ، ولكن الاكسس لا يقبل بسبب عدم وجود فهرسة للحقل MNO في الجدول Tab_Msaneed

     
    الطريقة الاخرى لعمل هذه العلاقة:
    1. نضيف الجدول TAB مرة اخرى في العلاقات ، فقام الاكسس بتسميته TAB_1 ،
    2. نسحب الحل MNO من الجدول TAB_1 الى الحقل MNO في الجدول Tab_Msaneed (او العكس) ، فتظهر لنا هذه النافذة ،
    نختار الاختيارات الثلاث:
    Enforce : يتأكد من ان القيم صحيحة في الجدولين ، ولا يسمح بعمل قيمة في جدول غير موجودة في الجدول الآخر (الحقل الرأس) ،
    Update : عند تبديل القيمة في الحقل الرأس ، تلقائيا تتغير القيمة في الحقل الآخر (سواء كان سجل او مجموعة سجلات) ،
    Delete : عند حذف لقيمة في الحقل الرأس ، يتم حذف القيمة في الحقل الآخر  (سواء كان سجل او مجموعة سجلات) .

    .

     
    جعفر
    1418.Musnad.accdb.zip
  21. jjafferr's post in البحث في العمود الثاني من مربع التحرير (معدل) was marked as the answer   
    السلام عليكم 🙂
     
    لا يمكن تصفية مربع التحرير إلا من حقل واحد ،
    لذا ، سنستخدم حيلة في انه اذا القيمة غير موجودة في الحقل ، فنستخدم الكود التالي لجلب القيمة المطلوبة:
    Option Compare Database Option Explicit Private Sub idbf_NotInList(NewData As String, Response As Integer) Dim ctlList As Control, i As Integer ' Return Control object variable pointing to list box. Set ctlList = Me.idbf ' Enumerate through selected items. For i = 0 To ctlList.ListCount - 1 If ctlList.Column(2, i) = NewData Then ctlList.Value = CInt(ctlList.Column(0, i)) Me.fo.SetFocus GoTo Get_Out End If Next MsgBox "هذه القيمة غير موجودة في القائمة" Get_Out: Response = acDataErrContinue End Sub .
    جعفر
    Combo_value_from_another_column.zip
  22. jjafferr's post in كود AllowAdditions = False لا يعمل معي في النموذج was marked as the answer   
    السلام عليكم 🙂
     
    شفت بعض الاوقات لما تحس ان مخك ما يشتغل ، هذا انا الحين 😁
     
    بما انك حددت وين المشكلة في برنامجك ، فانا عملت لك هذه المساعدة :
    وحدة نمطية اسمها mod_Global_Variables ، وفيها نحتفظ بنوع المستخدم في الحقل ppos ، ويمكن للبرنامج قراءته من اي مكان في البرنامج ،
    وعلى اساس قيمة ppos ، فقد وضعتها في حدث "الحالي" للنموذج ، فالرجاء وضعها بالطريقة الصحيحة (قلت لك مخي ما يشتغل 🙂)

    .
    جعفر
    1417.moh.accdb.zip
  23. jjafferr's post in مساعدة في كود تشغيل كيبورد الشاشة او شاشة اللمس ( لوحة المفاتيح الافتراضية (معدل)) was marked as the answer   
    على حدث نقر الزر الاول ، احذف الكود ، ثم اكتب:
    RunOSK  
    جعفر
  24. jjafferr's post in مشكلة باتجاه النص في الليست بوكس was marked as the answer   
    السلام عليكم 🙂
     
    تفضل ، هذه طريقة جعل Listbox من اليمين الى اليسار:
     
    .
    وقد قمت اليوم بموضوع لجعل الرابط اعلاه يعمل على النواتين 32بت و 64بث:
     
    جعفر
  25. jjafferr's post in فرز وترتيب was marked as the answer   
    تفضل 🙂
    اذا كنت تريد هذه النتيجة:

    .
    فهذا هو الاستعلام:

    .
    وهذه جملة SQL الاستعلام:
    SELECT tb1.الحقل7 FROM tb1 WHERE (((tb1.الحقل7) Is Not Null)) ORDER BY Int(Mid([الحقل7],InStr([الحقل7],"/")+1)), Int(Mid([الحقل7],1,InStr([الحقل7],"/")-1));  
    جعفر
    1414.2.t1.accdb.zip
×
×
  • اضف...

Important Information