اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

كل منشورات العضو jjafferr

  1. السلام عليكم 🙂 ليش يا جماعة المراسلة بالايميل (مخالف لقوانين المنتدى) ، ضع كل شيء هنا حتى يستفيد الجميع 🙂 جعفر
  2. حياك الله 🙂 نعم ، عدم الاعتماد عليها في تسلسل رقم السجلات ، وتعويض الرقم المحذوف ، ويجب اضافة الفهرسة لهذا العمود ، وعند استعماله في مناداة السجل ، فالسجلات سيتم جلبها بطريقة اسرع ، جعفر
  3. نعم ممكن : 1. عمل جدول جديد فارغ فيه جميع حقول جدولك الحالي ، باسم New_Tab ، 2. عمل استعلام اضافة سجلات ، من الجدول القديم الى الجدول الجديد ، 3. اضافة جميع سجلات الجدول القديم باستثاء الحقل ID ، عمل الفرز بالحقل TNO ، INSERT INTO New_TAB ( TNO, Auto_Date, File_Name, nom, MNO, NASS, Col_3, TYPE1, TYPE2, TFLVL, TFR, MUSND, TR, MOVEX ) SELECT TAB.TNO, TAB.Auto_Date, TAB.File_Name, TAB.nom, TAB.MNO, TAB.NASS, TAB.Col_3, TAB.TYPE1, TAB.TYPE2, TAB.TFLVL, TAB.TFR, TAB.MUSND, TAB.TR, TAB.MOVEX FROM TAB ORDER BY TAB.TNO; 4. تنفيذ الاستعلام 🙂 جعفر
  4. وعليكم السلام 🙂 الترقيم التلقائي يكون بحسب تسلسل عمل السجلات ، ولا علاقة له بطريقة الفرز والتصفية في الجدول ، يعني ، سواء عملت حقل الرقم التلقائي عند عمل الجدول ، او عملته بعد سنه ، فالرقم التلقائي سيكون نفسه ، طبعا بالاخذ في الاعتبار السجلات المحذوفة والتي سيتجاهلها ويعمل التسلسل. جعفر
  5. السلام عليكم 🙂 هذه المعلومة غير صحيحة ، ولا دخل لها بزيادة حجم البرنامج !! رجاء اعطاءنا معلومات اكثر عن بيئة العمل: 1. هل المشكلة في الواجهة او في الجداول ؟ 2. هل الواجهة موجودة على كمبيوترات المستخدمين ؟ 3. هل لديك جداول مؤقته ؟ وحسب ملاحظتك بأن الاستعلامات هي السبب ، هل هناك استعلام بالذات ؟ جعفر
  6. وعليكم السلام 🙂 استعمل الكود مرتين: Private Sub CRN_DblClick(Cancel As Integer) File_Path = Application.CurrentProject.Path & "\CONTACT\" File_Name = Me.crn & ".pdf" Name_Path = File_Path & File_Name If Dir(Name_Path) <> "" Then Application.FollowHyperlink Name_Path Else MsgBox "المستندات غير محفوظة" End If File_Path = Application.CurrentProject.Path & "\NEW FOLDER\" File_Name = Me.crn & ".pdf" Name_Path = File_Path & File_Name If Dir(Name_Path) <> "" Then Application.FollowHyperlink Name_Path Else MsgBox "المستندات غير محفوظة" End If End Sub جعفر
  7. وعليكم السلام 🙂 اضفت حقل مخفي في النموذج ، اسمه All ، يتم التحكم بقيمته برمجيا : . الكود خلف النموذج والازرار : All = 0 معناه جميع السجلات All = 1 معناه السجلات حسب قيم البحث Private Sub Command16_Click() Me.All = 0 Me.Requery End Sub Private Sub Command20_Click() Me.All = 1 Me.Requery End Sub Private Sub Form_Load() Me.All = 0 Me.Requery End Sub Private Sub ind_AfterUpdate() Me.All = 1 Me.Requery End Sub . وعليه ، يصبح الاستعلام q1 مصدر بيانات النموذج: . معيار xDate Between (IIf([Forms]![f1]![All]=0,#01-Jan-1900#,[forms]![f1]![str])) And (IIf([Forms]![f1]![All]=0,#01-Jan-2900#,[forms]![f1]![ind])) ومعيار xname IIf([Forms]![f1]![All]=0,[xname],[Forms]![f1]![srch_xname]) . اي: للتاريخ: اذا كانت All=0 (جميع السجلات) فاختار التاريخ بين 1-1-1900 وتاريخ 1-1-2900 ، واذا احتجت اكبر من سنة 2900 فخذ راحتك واعمل التغيير 🤣 ولحقل الصنف: اذا كانت All=0 (جميع السجلات) فاختار قيمة الحقل xname من الجدول ، مما يعني جميع السجلات 🙂 ورجاء مراجعة الرابط التالي لتتعرف على طرق البحث في الاستعلام: جعفر تحديث.zip
  8. خلينا ندخل في الثقيل ، واعطنا مثال ، علشان جوابنا يكون واضح 🙂 جعفر
  9. كذلك يدويا 😁 اذا كانت المطرقة العادية تؤدي العمل ، فلا داعي لاستعمال المطرقة الكهربائية 🙂 جعفر
  10. رجاء مراجعة مكتباتك ، فانا ذكرت هذا في المشاركة التالية في الرابط اعلاه ، تفضل: جعفر
  11. وعليكم السلام 🙂 وحتى نستفيد ، ممكن تخبرنا ليش تريد عمل هذا برمجيا ؟ جعفر
  12. وعليكم السلام 🙂 لو بحثت في المنتدى ، لوجدت مترجم جميل عمل عليه اخوي حسين @د.كاف يار جعفر
  13. هل قرأت مشاركتي بتمعن ، ففيه الجواب على سؤالك 🙂 جعفر
  14. وعليكم السلام 🙂 اذا فهمت قصدك: في بداية الكود عندك كود هكذا مثلا (اخذته من احد برامجي 🙂 ) : نستعمل On Error Goto err_Form_Close في البداية ، بحيث اي خطأ يحدث في الكود سيذهب الى السطر :err_Form_Close من مكان هناك ، بدل الامر Goto ، نستعمل الامر Resume فبدل عن Goto Exit_Form_Close ، نستعمل Resume Exit_Form_Close Private Sub Form_Close() On Error GoTo err_Form_Close ..... Exit_Form_Close: Exit Sub err_Form_Close: If Err.Number = 2450 Then 'ignor Resume Next 'تخطى هذا الخطأ وانتقل الى السطر التالي ElseIf Err.Number = 52 Then 'Folders don't exist, its a new location, ignor Exit Sub 'اخرج من الحدث ElseIf Err.Number = 76 Then 'path not found MsgBox "مسار مجلد النسخ الاحتياطية غير موجود على حاسبتك" Resume Exit_Form_Close ' Exit_Form_Close اذهب الى السطر Else MsgBox Err.Number & vbCrLf & Err.Description End If Resume Exit_Form_Close End Sub جعفر
  15. تفضل سيدي الكريم ، نفس المثال السابق ، ولكن بإضافة للنماذج كذلك: وهذا هو الكود: Option Compare Database Option Explicit Dim FC As FormatCondition ' Private Sub Form_Load() Dim Exp1 As Variant Dim Exp2 As Variant Exp1 = "[state]='H'" Exp2 = "[state]='L'" Me.result.FormatConditions.Delete Set FC = Me.result.FormatConditions.Add(acExpression, acEqual, Exp1) 'FC.Enabled = True FC.BackColor = vbRed Set FC = Me.result.FormatConditions.Add(acExpression, acEqual, Exp2) 'FC.Enabled = True FC.BackColor = vbYellow End Sub Private Sub Form_Unload(Cancel As Integer) Set FC = Nothing End Sub جعفر conditional format.zip
  16. السؤال في هذا الموضوع عن التقرير 🙂 جعفر
  17. وعليكم السلام 🙂 ليش الكود ، هل هناك سبب معين ؟ عادة نعمل الاشياء في الكود اذا كانت طلباتنا متغيرة ، بينما اذا الطلب ثابت ، فالاكسس يوفر لك اسهل الطرق 🙂 بالتنسيق الشرطي العادي ، مثل ما عمل اخي @Eng.Qassim : . والنتيجة : . ويمكنك استعمال هذه الكود بدلا عن التنسيق الشرطي: Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) If [state] = "H" Then Me.result.BackColor = vbRed ElseIf [state] = "L" Then Me.result.BackColor = vbYellow Else Me.result.BackColor = vbWhite End If End Sub جعفر conditional format.accdb
  18. السلام عليكم 🙂 لإصطياد الخطاء في النموذج: جعفر
  19. وعليكم السلام 🙂 استخدم خاصية البحث في المنتدى ، فهناك الكثير من الاسئلة المشابهة لسؤالك ، وقد تم رد عليها 🙂 جعفر
  20. السلام عليكم اخوي ابو خليل 🙂 في هذا الموضوع كتبت طريقة الحل: جعفر
  21. وعليكم السلام 🙂 نعم ، في الفترة الاخيرة صارت تحصل معي بعض الاوقات 😥 الشيء الوحيد الذي يظهر معكوسا هو قائمة اسماء الكائنات بما فيها من نماذج وتقارير واستعلامات وجداول ووحدات النمطية .... ، والمفروض ان الزبون ما يشوف هذه الكائنات اصلا 🙂 ولكن البرنامج يعمل بطريقة صحيحة بكل النماذج والتقارير والاستعلامات والجداول والوحدات النمطية .... ، وعكس اسماء القائمة لا يؤثر على عمله ، حتى عند النقر على الاسماء مباشرة وتشغيل الكائن ، وعند حدوث هذه المشكلة ، اغلق البرنامج وافتحه من جديد ، ترى ان كل شيء رجع طبيعي ، وعادة يحدث هذا اثناء عملية التعديل على النماذج وتجربة التعديل. والسبب هو الوحدة النمطية RTL_Set التي انا عملتها ، والتي تجعل مربع القائمة ListBox (او TreeView) يعطي القائمة من اليمين لليسار : هدية: من اليمين الى اليسار، مربع القائمة ListBox والشجرة TreeView - قسم الأكسيس Access - أوفيسنا (officena.net) . الحل: يا انك تغض النظر عن هذه المشكلة ، وخصوصا ان الزبون لا يرى قائمة كائناتك ، او لا تستعمل هذه الوحدة النمطية 🙂 وبسبب انها نادرا ما تحدث ، ولا تستطيع برمجيا ان تعيد عمل هذه المشكلة لتعرف اين الخلل ، فلم اعرها اي اهتمام ، وبرنامجي لا يزال يعمل كما يجب 😁 جعفر
  22. السلام عليكم 🙂 في الكثير من الاحيان لما نكون في وضع التصميم ، في النموذج او التقرير ، نتمنى لو انه بإمكاننا تكبير الشاشة حتى نرى تفاصل الكائنات ونضعها بجوار بعضها بدقة ، ولكن للأسف الاكسس لا يقدم لنا هذه الخاصية (مثل الاكسل والبوربوينت مثلا) 🙂 في الواقع الوندوز يقدم لنا هذه الخدمة ، ولكن كبرنامج مستقل 🙂 يمكنك استخدام برنامج التكبير بطريقة مستقلة ، بإستخدام ازرار الكيبورد: 1. لإغلاق البرنامج ، زر الوندوز + Esc 2. لتكبير الشاشة ، وتكون ثابته ، زر الوندوز + Alt + F 3. لتكبير الشاشة كمكبر يدوي ، زر الوندوز + Alt + L . وهذه هي الاعدادات التي استعملها انا : . والآن اليكم هذه الطريقة في برنامج الاكسس (يمكننا استعمال اختصارات الوندوز اعلاها في عملنا كذلك) : نموذج به نوعين من تكبير الشاشة ، تستعمل الطريقة التي تفضلها لوضعك 🙂 . الكود هو: Private Sub btn_Zoom_Click() 'open/close the magnify glass If Me.btn_Zoom = -1 Then 'turn ON the magnifying glass 'Shell "cmd /c C:\Windows\System32\Magnify.exe /lens", vbHide Shell "cmd /c C:\Windows\System32\Magnify.exe /fullscreen", vbHide Else 'manually close it: ' Win key & Esc key 'call the Function to kill the magnifying glass process Call WMI_KillProcesse("Magnify.exe") End If End Sub Private Sub btn_Zoom_lens_Click() 'open/close the magnify glass If Me.btn_Zoom_lens = -1 Then 'turn ON the magnifying glass Shell "cmd /c C:\Windows\System32\Magnify.exe /lens", vbHide 'Shell "cmd /c C:\Windows\System32\Magnify.exe /fullscreen", vbHide Else 'manually close it: ' Win key & Esc key 'call the Function to kill the magnifying glass process Call WMI_KillProcesse("Magnify.exe") End If End Sub . واما كود اغلاق برنامج التكبير ، اي يوقف تشغيله من الكمبيوتر: '--------------------------------------------------------------------------------------- ' Procedure : WMI_KillProcesse ' Author : Daniel Pineault, CARDA Consultants Inc. ' Website : http://www.cardaconsultants.com ' Purpose : Forcibly kill all the instances of a specified process ' Copyright : The following is release as Attribution-ShareAlike 4.0 International ' (CC BY-SA 4.0) - https://creativecommons.org/licenses/by-sa/4.0/ ' Req'd Refs: Uses Late Binding, so none required ' ' Input Variables: ' ~~~~~~~~~~~~~~~~ ' sProcessName : Name of the process to kill ' sHost : Host computer to query, omit for the local PC ' ' Usage: ' ~~~~~~ ' Call WMI_KillProcesse("explorer.exe") ' Call WMI_KillProcesse("excel.exe") ' Call WMI_KillProcesse("calculator.exe") ' ' Revision History: ' Rev Date(yyyy-mm-dd) Description ' ************************************************************************************** ' 1 2015-05-28 Initial Release ' 2 2020-08-21 Added Proc Header ' Code updated ' Updated Error Handler ' Made it Option Explicit compliant '--------------------------------------------------------------------------------------- Public Function WMI_KillProcesse(sProcessName As String, Optional sHost As String = ".") As Boolean On Error GoTo Error_Handler Dim oWMI As Object 'WMI object to query about the PC's OS Dim sWMIQuery As String 'WMI Query Dim oCols As Object Dim oCol As Object Set oWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & sHost & "\root\cimv2") sWMIQuery = "SELECT Name FROM Win32_Process" Set oCols = oWMI.ExecQuery(sWMIQuery) For Each oCol In oCols If LCase(sProcessName) = LCase(oCol.Name) Then oCol.Terminate ' Kill this instances of the process End If Next oCol WMI_KillProcesse = True Error_Handler_Exit: On Error Resume Next Set oCol = Nothing Set oCols = Nothing Set oWMI = Nothing Exit Function Error_Handler: MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _ "Error Number: " & Err.Number & vbCrLf & _ "Error Source: WMI_KillProcesse" & vbCrLf & _ "Error Description: " & Err.Description & _ Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _ , vbOKOnly + vbCritical, "An Error has Occurred!" Resume Error_Handler_Exit End Function جعفر Magnify.mdb
  23. بدل الشريط (لأن الكود في النموذج سيخفيه) ، اعمل مربع تسمية ، مما سيعطيك انطباع بأن الشريط موجود ، ولكن لن تستطيع تحريكه 🙂 استعمل الماكرو autoexec_Login_Boarder_n_Buttons_Show 🙂 جعفر example_semo.accdb
  24. تقدر تستعمل النموذج الذي اعطيتك هنا: جعفر
  25. وعليكم السلام 🙂 وبسبب انك ما اعطيتنا معلومات كافية ، فاختر المثال الاول او الثاني ، وكلاهما على حدث "النقر المزدوج" : الاول للنقر المزدوج للنموذج ، والثاني للحقل : جعفر
×
×
  • اضف...

Important Information