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

ابوخليل

أوفيسنا
  • Posts

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

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

  • Days Won

    295

كل منشورات العضو ابوخليل

  1. بحثت في المنتدى عن حماية او تعديل فرعي ولكن لم يظهر ما ابحث عنه ولكن برزت لي فكرة لتخطي تغيير تاريخ الجهاز ويمكنك التجربة وتطبيقها وهي جلب آخر تاريخ تم تسجيله في الجدول ثم مقارنته مع التاريخ الظاهر في النموذج هذه الخطوة تحل مشكلة التلاعب في تاريخ الجهاز
  2. انا لم اطلع على المرفق بسبب الاصدار ومادام يوجد نموذج رئيس وآخر فرعي فأرى ان طريقة اخونا محمد سلامة هي المناسبة والمضمونة علما انه قد مر في المنتدى مثل هذا الموضوع سابحث لك عنه
  3. يمكنك كتابة كلمة : للرفع للتذكير بوضوعك بدلا من انشاء موضوع جديد
  4. هل تقصد علامات الجدولة ؟ ايضا اليك طريقة اخرى لاخفاء اطار اكسس هذه اجعلها في وحدة نمطية عامة Global Const ME_HIDE = 0 Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal sCmdShow As Long) As Long Sub sHidwindow() Dim NMC As Long NMC = apiShowWindow(hWndAccessApp, ME_HIDE) End Sub وهذا السطر اجعله في حدث فتح النموذج Call sHidwindow اما علامة الجدولة فهي في صندوق الادوات يمكن سحبها وافلاتها داخل النموذج وهذا مثال لتلوين علامات الجدولة مع اخفاء اطار اكسس ColoredTabs.rar
  5. لم افهم المطلوب وخاصة الميلتباج اذا كنت مبتدأ جدا في اكسس فانا ضعيف جدا في اكسل هل فتحت المثال ؟ وهل اختفى اطار اكسس ؟ قد لا يختفي في الاصدارات الحديثة ، واحب التنويه الى اني اعمل على اصدار 2003
  6. وعليكم السلام DoCmd.RunCommand acCmdAppMinimize dbx.rar
  7. Private Sub Form_Current() If Me.fldate < Date Then Me.AllowEdits = False Else Me.AllowEdits = True End If End Sub باعتبار flddate هو حقل التاريخ في النموذج db2.rar
  8. الحمد لله وبارك الله فيك الله يسعدك يابوعبدالله ما يفوت عليك شي
  9. Option Compare Database Dim DBOld As String Dim DBNew As String Private Sub Form_Close() On Error Resume Next Dim OldFile As String, DBwithEXT, DBwithoutEXT, NewFile As String, CopyMyDB OldFile = DBOld DBwithEXT = Dir(OldFile) DBwithoutEXT = left(DBwithEXT, Len(DBwithEXT) - 4) Application.SetOption "Use Hijri Calendar", False NewFile = DBNew & "\" & Format(Now, "yyyymmddhhnnss") & ".mdb" CopyMyDB = "cmd.exe /C copy " & """" & OldFile & """" & " " & """" & NewFile & """" Shell CopyMyDB, 0 Exit Sub End Sub Private Sub Form_Load() DBOld = CurrentProject.Path & "\db2.mdb" DBNew = CurrentProject.Path & "\tst\" Call zerNc End Sub Sub delfiles() Dim strFldr As String Dim strFile As String Dim FileToGet As String strFldr = CurrentProject.Path & "\tst" ' modify folder to your own strFile = Dir(strFldr & "\*.*") ' get list of files in folder Do While Len(strFile) > 0 FileToGet = left(strFile, Len(strFile) - 4) If FileToGet <= CStr(Format(Date - 3, "yyyymmdd")) Then Kill strFldr & "\" & strFile Else End If strFile = Dir Loop End Sub Sub zerNc() On Error Resume Next Dim OldFile As String, DBwithEXT, DBwithoutEXT, NewFile As String, CopyMyDB OldFile = DBOld DBwithEXT = Dir(OldFile) DBwithoutEXT = left(DBwithEXT, Len(DBwithEXT) - 4) Application.SetOption "Use Hijri Calendar", False NewFile = DBNew & "\" & Format(Now, "yyyymmddhhnnss") & ".mdb" CopyMyDB = "cmd.exe /C copy " & """" & OldFile & """" & " " & """" & NewFile & """" Shell CopyMyDB, 0 Exit Sub Me.Requery Call delfiles End Sub db.rar
  10. السلام عليكم في وقت مضى احتجت الى حذف مستندات محددة في مجلد والإبقاء على أخرى حسب التاريخ والأقدمية فعرضت موضوعي هنا وقد تكفل بحل المسألة واجاد استاذنا ابو آدم جزاه الله خيرا ومن هناك انبثقت فكرة ضرورة ايجاد عملية تسبق او تلي عملية النسخ داخل الاجراء نفسه ومهمتها تحسس مجلد النسخ يتم من خلالها حذف النسخ الزائدة ان وجدت والابقاء على آخر ثلاث نسخ جديدة وقد ذكرت هذا الكلام في سياق مشاركة لي سابقة وكانت فقط اشارة الى هذه الفكرة اليكم ادناه تطبيق عملي مع الاكواد المصاحبة :
  11. يمكن وعلى نحو ما تفضلت به ولكننا نحتاج الى بعض التعديلات التعديل الاول على نوع الحقل id داخل الجدول الى نص بدلا من رقم حتى يقبل الرموز التعديل الثاني : هو اجراء المقارنة على الارقام الثلاثة الاخيرة بدلا من مقارنة الرقم كاملا والسبب وجود الرمز الفاصل وتعديلات اخرى يمكنك ملاحظتها عند المقارنة مع الكود السابق Private Sub Form_BeforeInsert(Cancel As Integer) On Error Resume Next Dim xLast, xNext As Integer Dim prtyr, prtTxt As Integer prtyr = DatePart("yyyy", Date) prtTxt = CLng(Left(DMax("ID", "tbl1"), 4)) xLast = CLng(Right(DMax("ID", "tbl1", prtTxt = prtyr), 3)) If IsNull(xLast) Then xNext = 1 Else xNext = xLast + 1 End If Me!ID = prtyr & "/" & Format(xNext, "000") End Sub ترقيم مع السنة.rar
  12. شكرا لكم احبتي وأساتذتي الفضلاء جعفر ومحمد والعبادلة الاستاذ جعفر .. يزيدني شرفا ان يكون لي مشاركة في أعمالك الاستاذ محمد سلامة .. لا اعرف افضل من النماذج للتحكم الكلي في الرسالة الاستاذ عبدالله قدور .. اتمنى انك استطعت تطبيق المثال الاستاذ عبدالله المجرب .. اسعدني مرورك اخي الغالي محمد عصام تفضل المثال بعد التعديل والتغيير تم على كلمة واحدة فقط في الوحدة النمطية العامة msgBox-3.rar
  13. عدم الرد من صاحب السوال جعلني ادخل مرة اخرى اواكتشف اني لم ارفق الوحدة المسؤولة عن الترجمة تفصل والصقها في صفحة وحدة نمطية جديدة Public Ok, Cancel, ABORT Public RETRY, IGNORE, YES, NO Private m_hHook As Long Private Const IDOK = 1 Private Const IDCANCEL = 2 Private Const IDABORT = 3 Private Const IDRETRY = 4 Private Const IDIGNORE = 5 Private Const IDYES = 6 Private Const IDNO = 7 Private Const WH_CBT = 5 Private Const GWL_HINSTANCE = (-6) Private Const HCBT_ACTIVATE = 5 Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _ (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetDlgItemText Lib "user32" Alias "SetDlgItemTextA" _ (ByVal hDlg As Long, ByVal nIDDlgItem As Long, _ ByVal lpString As String) As Long Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _ (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, _ ByVal dwThreadId As Long) As Long Private Declare Function UnhookWindowsHookEx Lib "user32" _ (ByVal hHook As Long) As Long Public Sub MessageBoxH(hwndThreadOwner As Long) Dim hInstance As Long Dim hThreadId As Long hInstance = GetWindowLong(hwndThreadOwner, GWL_HINSTANCE) hThreadId = GetCurrentThreadId() m_hHook = SetWindowsHookEx(WH_CBT, AddressOf _ MsgBoxHookProc, hInstance, hThreadId) End Sub Private Function MsgBoxHookProc(ByVal uMsg As Long, ByVal _ wParam As Long, ByVal lParam As Long) As Long If uMsg = HCBT_ACTIVATE Then SetDlgItemText wParam, IDOK, Ok SetDlgItemText wParam, IDCANCEL, Cancel SetDlgItemText wParam, IDABORT, ABORT SetDlgItemText wParam, IDRETRY, ABORT SetDlgItemText wParam, IDIGNORE, ABORT SetDlgItemText wParam, IDYES, YES SetDlgItemText wParam, IDNO, YES UnhookWindowsHookEx m_hHook End If MsgBoxHookProc = False End Function
  14. شكرا اخي جعفر على هذه النوادر الجميلة وتفضل اخي عبدالله يمكنك كتابة اي شيء على الزر Dim resalh As Integer Ok = "أكيد موافق" Cancel = "not agree" MessageBoxH Me.hwnd resalh = MsgBox("تفضل هذه الخلطة في اللغة", vbOKCancel, "رسالة")
  15. اجعل مصدر بيانات النموذج الفرعي استعلام خارجي ثم استخدم الدالة Dlookup لفحص الاستعلام
  16. وذات التاريخ الاحدث لا ينطبق عليها الشرط
  17. الموظف لا تنطبق عليه الشروط فالمعيار الموجود هو Between -5 And 6 بينما القيمة عند الموظف المذكور 10-
  18. انا ذكرت لك وجوب استبعاد الحقول ذات القيم المتباينة وفي حال ان الحاجة تدعو الى ادراج هذه الحقول فيمكن في مسألتنا هذه استخدام القيمة last للحقول الاخرى لا حظ انه يمكننا ايضا استخدم last لحقل التاريخ بينما العكس غير صحيح للحقلين الآخرين test3.rar
  19. اختر في حقل التاريخ القيمة max بدلا من group by ايضا لا بد من استبعاد الحقول التي يوجد فيها قيم متباينة ويمكنك جلب التاريخ الاحدث باستخدام الدالة Dmax بمعلومية المعرف مثلا
  20. عودا حميدا سيد جمال ونحمد الله على سلامتك ورجوعك لاحضان المنتدى مرحا مرحا والعود احمد خاصة بعد تحول المارد الى سيد الجمال
  21. ارفق مثالك حتى يتمكن اخوانك من مساعدتك
  22. اعمل تقرير فرعي داخل التقرير الرئيسي ، ويمكن ان تضع داخل التقرير نموذج فرعي ايضا
  23. عودا حميدا ابا آدم ... اشتقنا لك كثيرا ننتظر بوح قلمك وجميل عباراتك ونبض حرفك في هذا البستان ورحيق افكارك الجميلة التي ستعطر المكان كل اقسام الموقع تردد حياك الله أبا آدم
  24. الملف كامل غير مطلوب فقط انزع النموذجين والجدولين من برنامجك واجعلهما في قاعدة جديدة ثم ارفقهما بعد الضغط
  25. وايضا هذا الرابط في هذا الباب
×
×
  • اضف...

Important Information