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

ابوخليل

أوفيسنا
  • Posts

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

  • Days Won

    237

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

  1. تم التعديل حسب التعامل مع البيانات منطقيا كالتالي : 1- القائمة ومربع التحرير يجب ان يكون مصدر بياناتهما هو جدول الحسميات لا جدول الموظفين لاننا سنبحث عن اشخاص للتعديل على الحسومات 2- ولادراج موظف جديد والحسم عليه انقر زر جديد ثم ادرج رقم الموظف وبيانات الحسم ثم حفظ 3- بمجرد نقر زر الحفظ ستجد الموظف اندرج ضمن القائمتين 4- يمكنك البحث بالقائمتين في الوقت نفسه لان النتيجة واحدة taadel2.rar
  2. اضبط اعدادات اللغة في الجهاز الجديد اذهب الى : لوحة التحكم / المنطقة و اللغة اضبط ايضا الاعدادات المحلية للنظام
  3. شكرا أبا عمر معلومة فريدة وفائدة جديدة جزاك الله خيرا ،،،
  4. هذا برنامج مدرسة متكامل لاخونا علي الحربي آمل ان يفي بحاجتك او تستفيد منه السم المستخدم =1 كلمة المرور=1 مدرسة علوش.rar
  5. اخي ابو خليل والله مدري كيف اشكرك على مجهودك وسرعة استجابتك الله يجزاك الجنة يارب العالمين الدعاء بظهر الغيب لاهل هذا المنتدى والقائمين عليه بصلاح النيات والذريات وبالعفو والمعافاة
  6. في حدث عند النقر للزر نلصق هذا السطر DoCmd.OpenForm "formName", acNormal formName = اسم النموذج المراد فتحه
  7. المطلوب غير واضح يلزم ارفاق مثال بالمطلوب مع زيادة في الايضاح
  8. وعليكم السلام هذا السطر يجعل المستند يغلق بدون المطالبة بالحفظ Private Sub document_close() ActiveDocument.Saved = True End Sub ولكن لن يتم حفظ آخر حركة ولحفظ آخر حركة ثم الخروج بدون مطالبة نضيف اليه سطرا : Private Sub document_close() ActiveDocument.Save ActiveDocument.Saved = True End Sub ملحوظات : لكي يعمل الكود يجب تخفيظ امان الماكرو الى الحد الادنى مكان الكود : اضغط Alt + f11 حدث الكود : عند اغلاق المستند وإليك الأمثلة Doc7.rar Doc8.rar
  9. ان لله وانا اليه راجعون احسن الله عزاءك وجبر مصابك وغفر لوالدتك
  10. استفسار في محله : وقت تنفيذ الحدث عند الخروج من الحقل فنحن نريد ان نمنع الخروج مادام الحقل فارغا فــ CancelEvent الغاء حدث الخروج ثم جعلنا التركيز على الحقل بـ SetFocus و Undo تعني تراجع عن الحركة الأخيرة وحيث لا يوجد حركات فالسطر Me.text.Undo زائد ليصبح الكود هكذا : Private Sub text_Exit(Cancel As Integer) If IsNull(Me.text) Then MsgBox "من فضلك أدخل قيمة" DoCmd.CancelEvent Me.text.SetFocus End If End Sub
  11. وعليكم السلام جرب هذا : 000.000.00.00;0;
  12. Private Sub text_Exit(Cancel As Integer) If IsNull(Me.text) Then MsgBox "من فضلك أدخل قيمة" DoCmd.CancelEvent Me.text.SetFocus Me.text.Undo End If End Sub
  13. تم عمل تعديلات جوهرية على البرنامج 1- فصل المنقولين 2- فصل الاقساط السابقة التي تسبق بداية العام الدراسي ( الا ازرار البحث بين تاريخين فهي شاملةلهذه السنة وما قبلها ) 3- اضافة حقل بداية العام الدراسي في جدول tbl ويجب تحديثه كل سنة جديدة 4- انشاء نموذج للناجحين حيث يؤشر امام الناجح وبعد الترحيل يتم ازالة الاشارات 5- امكانية البحث عن اقساط السنة الماضية فقط 6- اضافة نموذج لاعداد تفاصيل الاقساط وفقكم الله لكل خير ’’ المدرسة1.rar
  14. تفضل من هنا آمل ان يفي بحاجتكhttp://www.officena.net/ib/index.php?showtopic=52980&page=2#entry333142
  15. وهذا التطبيق لمن يريد اضافة المكتبات وتسجيلها فقط ملحوظة : يجب ان تكون ملفات المكتبات بجانب البرنامج في مجلد واحد tsjeel2.rar
  16. وهذه هي الصيغة النهائية للعمل : Dim objWShell, objReead ' On Error Resume Next Set objWShell = CreateObject("WScript.Shell") objReead = objWShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA") If objReead = "0" And Me.tmp = "0" Then Call tsjeelMktbat Set objWShell = Nothing MsgBox "تم التنصيب واضافة ملفات النظام بنجاح" Exit Sub ElseIf objReead = "1" And Me.tmp = "0" Then objWShell.RegWrite "HKLM\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA", 0, "REG_DWORD" Me.tmp = "1" objWShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\tsj", "D:\tsjeel.mdb", "REG_SZ" objWShell.Run "shutdown /r /t 10 /f /d P:4:2" 'visit: http://pcsupport.about.com/od/commandlinereference/p/shutdown-command.htm Set objWShell = Nothing Exit Sub Else Call tsjeelMktbat objWShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA", "1", "REG_DWORD" MsgBox "تم التنصيب واضافة ملفات النظام بنجاح" 'If MsgBox("سيتم إعادة تشغيل النظام" & vbCrLf & _ ' " هل تريد المتابعة؟", _ ' vbQuestion + vbYesNo, _ ' "اعادة تشغيل النظام") = vbNo Then ' Exit Sub 'Else 'objWShell.Run "shutdown /r /t 10 /f /d P:4:2" Set objWShell = Nothing 'End If End If وهذا هو التطبيق tsjeel.rar
  17. وإياك أخي أبا عمر .. سعدت بمرورك تابع الاجراءات : نحن بحاجة الى كود يجعل النظام يقلع من برنامجنا عند اعادة التشغيل ’ بشرط الا يعمل الا مرة واحدة ويوجد طريقة برمجية يستخدمها البعض وهي نسخ اختصار للبرنامج ولصقه في مجلد بدء التشغيل ثم حذفه عند نهاية التنصيب ولكن يوجد طريقة أسهل من ذلك وهي موجودة ومهيأة في النظام وبالتحديد في التسجيل (الريجستري) فيمكن اعطاء امر وتسجيله ليقوم النظام بتنفيذه مرة واحدة عند بداية التشغيل وهذا هو المكان الذي سنضع فيه الأمر "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce ليصبح بعد اعداده والكتابة فيه هكذا : objWShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\tsj", "D:\tsjeel.mdb", "REG_SZ" باعتبار برنامجنا سيتم تنصيبه على D باسم tsjeel يتبع ...
  18. شكرا ابا آدم على المتابعة والمساندة وهو تسجيل بعض النتائج المهمة في الحدث . ويهمنا هنا درجة الامان ، فلا بد من شاهد او دليل على درجة الامان الابتدائية فحين يغلق النظام تذهب جميع البيانات العالقة في الذاكرة ، وهذه لا بد من اخذ حسابها من اجل ضبط العملية لذا سيكون من ضمن الكائنات المساعدة حقل في جدول نودع فيه درجة الامان قبل اغلاق النظام لذا سننشء جدولا باسم tblTemp به حقل رقمي باسم tmp دعونا الآن نعرض الاجراءات الاخرى التي سنستخدمها في العملية غير ما تم ذكره اعلاه 1- وحدة نمطية عامة وهي المسؤولة عن تسجيل المكتبات : Option Compare Database Option Explicit Private Declare Function LoadLibraryA Lib "kernel32" (ByVal lLibFileName As String) As Long Private Declare Function CreateThread Lib "kernel32" (lThreadAttributes As Any, ByVal lStackSize As Long, ByVal lStartAddress As Long, ByVal larameter As Long, ByVal lCreationFlags As Long, lThreadID As Long) As Long Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal lMilliseconds As Long) As Long Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lProcName As String) As Long Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Private Declare Function GetExitCodeThread Lib "kernel32" (ByVal hThread As Long, lExitCode As Long) As Long Private Declare Sub ExitThread Lib "kernel32" (ByVal lExitCode As Long) 'Purpose : This function registers and Unregisters OLE components 'Inputs : sFilePath The path to the DLL/OCX or ActiveX EXE ' bRegister If True Registers the control, else unregisters control 'Outputs : Returns True if successful 'Author : Andrewb 'Date : 04/09/2000 'Notes : This is the API equivalent of RegSvr32.exe. 'Example : ' If RegisterComponent("C:\MyPath\MyFile.dll") = True Then ' Msgbox "Component Successfully Registered" ' Else ' Msgbox "Failed to Registered Component" ' End If 'Revisions : 1/Jan/2002. Updated to include code for registering ActiveX Exes. Function RegisterComponent(ByVal sFilePath As String, Optional bRegister As Boolean = True) As Boolean Dim lLibAddress As Long, lProcAddress As Long, lThreadID As Long, lSuccess As Long, lExitCode As Long, lThread As Long Dim sRegister As String Const clMaxTimeWait As Long = 20000 'Wait 20 secs for register to complete On Error GoTo ErrFailed If Len(sFilePath) > 0 And Len(Dir(sFilePath)) > 0 Then 'File exists If UCase$(Right$(sFilePath, 3)) = "EXE" Then 'Register/Unregister ActiveX EXE If bRegister Then 'Register EXE Shell sFilePath & " /REGSERVER", vbHide Else 'Unregister ActiveX EXE Shell sFilePath & " /UNREGSERVER", vbHide End If RegisterComponent = True Else 'Register/Unregister DLL If bRegister Then sRegister = "DllRegisterServer" Else sRegister = "DllUnRegisterServer" End If 'Load library into current process lLibAddress = LoadLibraryA(sFilePath) If lLibAddress Then 'Get address of the DLL function lProcAddress = GetProcAddress(lLibAddress, sRegister) If lProcAddress Then lThread = CreateThread(ByVal 0&, 0&, ByVal lProcAddress, ByVal 0&, 0&, lThread) If lThread Then 'Created thread and wait for it to terminate lSuccess = (WaitForSingleObject(lThread, clMaxTimeWait) = 0) If Not lSuccess Then 'Failed to register, close thread Call GetExitCodeThread(lThread, lExitCode) Call ExitThread(lExitCode) RegisterComponent = False Else 'Successfully registered component RegisterComponent = True Call CloseHandle(lThread) End If End If Call FreeLibrary(lLibAddress) Else 'Object doesn't expose OLE interface Call FreeLibrary(lLibAddress) End If End If End If End If Exit Function ErrFailed: Debug.Print Err.Description Debug.Assert False On Error GoTo 0 End Function 2- وحدة نمطية لقراءة نوع النظام 32بت أو 64بت Public Function IsWin32OrWin64() As String Dim proc_query As String Dim proc_results As Object Dim info As Object proc_query = "SELECT * FROM Win32_Processor" Set proc_results = GetObject("Winmgmts:").ExecQuery(proc_query) For Each info In proc_results IsWin32OrWin64 = info.AddressWidth & "-bit" Next info End Function 3- وحدة نمطية للتأكد من وجود الملف قبل النسخ واللصق : Public Function DoesFileExist(vPathAndFile As String) As Boolean If Len(Dir$(vPathAndFile)) > 0 Then DoesFileExist = True Else DoesFileExist = False End Function 4- وحدة نمطية تقوم بنسخ الملفات من برنامجنا الى المكان الذي نحدده Function CopyFile(vPathSource As String, vPathDestination As String) As Boolean FileCopy vPathSource, vPathDestination CopyFile = True End Function 5- عملية النسخ والتسجيل وتم وضعها في وحدة نمطية عامة : Public Function tsjeelMktbat() Dim sjel As Variant sjel = IsWin32OrWin64() If sjel = "32-bit" Then If Not DoesFileExist("C:\Windows\System32\Barcodex.ocx") Then 'للتأكد من عدم وجود الملف CopyFile CurrentProject.Path & "\Barcodex.ocx", "C:\Windows\System32\Barcodex.ocx" 'نسخ الملف في المكان المحدد RegisterComponent ("C:\Windows\System32\Barcodex.ocx") 'تسجيل الملف Else RegisterComponent ("C:\Windows\System32\Barcodex.ocx") ' وان كان الملف موجود سجله End If 'يمكن اضافة اكثر من ملف اعلاه ElseIf sjel = "64-bit" Then If Not DoesFileExist("C:\Windows\SysWOW64\Barcodex.ocx") Then CopyFile CurrentProject.Path & "\Barcodex.ocx", "C:\Windows\SysWOW64\Barcodex.ocx" RegisterComponent ("C:\Windows\SysWOW64\Barcodex.ocx") Else RegisterComponent ("C:\Windows\SysWOW64\Barcodex.ocx") End If End If End Function يتبع ...
  19. بل التحكم من برنامجنا لان معظم برامج التحزيم تشتمل على خاصية تشغيل نموذج البداية ولا بأس في اقتراحك حول النقطة السابعة ، علما ان الكود سيكون موجودا في مكانه لمن اراد تشغيله او تعطيله
  20. كنت وقفت عند اعادة تشغيل النظام وما دام خط سيرنا اخذ وجهة اخرى فسأوجز هنا العناصر والخطوات التي نسير عليها وأسأل ربي العون على ذلك 1- قراءة حساب المستخدم ودرجة الأمان 2- ان كان الامان منخفضا فسنكمل تنصيب برنامجنا .. وكفينا.. وعوفينا 3- ان كان الامان مرتفعا يقوم البرنامج بتخفيضه ثم يعيد تشغيل النظام 4- سيقلع النظام بعد اعادة التشغيل على برنامجنا ويفتح النموذج الهدف 5- يتم اضافة المكتبات وتسجيلها واكمال تنصيب البرنامج 6 - اعادة الامان الى وضعه السابق 7- اعادة تشغيل النظام ( اختياري ) بقي شيء صغير جدا بحاجة الى تصور ، حتى نمسك خطام البعير ونسير
  21. البرنامج يحتاج الى اكثر من اضافة ويحتاج الى وقت مقتطع لتنفيذه والوقت عندي شحيح آمل أن تتحلو بالصبر .. ستتيسر الامور بإذن الله
  22. اخي العزيز الكود معروف وهذا مصدره http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.filesystem.filecopy.aspx وقد تكون جربته على xp ولكن على win7 لن يعمل حتى تتمكن من تعديل حساب المستخدم وتقوم بتخفيض الأمان الى الحد الادنى لماذا لا نقوم بانهاء التنصيب ثم نخفض الأمان ثم نقوم باعادة التشغيل يبدو ان الامر التبس عليك فما دام التنصيب قد تم فليس هناك داع لخفض الأمان ام تقصد ان اضافة المكتبات وتسجيلها يتم بعد التنصيب ؟ عند تشغيل البرنامج لأول مرة ؟ دعنا نسير في طريقك هذا : عند تشغيل البرنامج لاول مرة سيتم خفض الامان ثم اعادة تشغيل النظام انتبه ! حتى الآن لم نقم باضافة وتسجيل المكتبات ثم ماذا ؟ طبعا سنقوم بتشغيل البرنامج للمرة الثانية للتسجيل ثم بقيت حقوق المستخدم : فمن حقه ارجاع نظامه الى ما كان عليه وبهذه الطريقة ينقطع الحبل لاننا في مطلبنا اعلاه نريد النظام ان يقلع من برنامجنا
  23. [DBOld] = "c:\z1.mdb" 'اختيار مسار القاعدة البديلة هذا السطر تستطيع من خلالة تحديد اي قاعدة بيانات تريد اخذ نسخة منها
×
×
  • اضف...

Important Information