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

نجوم المشاركات

  1. د.كاف يار

    د.كاف يار

    الخبراء


    • نقاط

      13

    • Posts

      1,681


  2. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      8

    • Posts

      9,814


  3. أبو عبدالله الحلوانى
  4. Eng.Qassim

    Eng.Qassim

    الخبراء


    • نقاط

      3

    • Posts

      2,302


Popular Content

Showing content with the highest reputation on 25 ينا, 2022 in all areas

  1. تفضل هذا هو الاسكربت ضعه في فولدر فارغ مع قاعدة بياناتك وقم بتشغيل الاسكربت ووافنا بالنتائج ملاحظات قبل العمل: 1- اضغط كليك يمين علي الاسكربت وقم بعمل Edit وغير هذا السطر ستجده مكررا أكثر من مرة بما يلزم من اسم قاعدة بيناتك TypeHere Accdb File name TypeHere Accde File name 2- احتفظ بنسخة من قاعدة البيانات بعيدا عن فولدر التجربة لان الاسكربت سيقوم بحذفها فور الانتهاء 3- يوجد بالاسكربت مجموعة من الاكود والافكار الهامة كمعرفة مسار الفولدر الحالي للاسكربت وتغير كلمة المرور لقاعدة البيانات - هذا بعد فضل الله نتاج سهر وجهد جهيد ارجو ان ينتفع به كل من مر من هنا 4- ومن مزايا الاسكربت ايضا انه يمكنك تغير امتداد قاعدة البيانات الاصلية مثل .dat أو .dll مثلا ويعمل مع هذه الامتدادات الوهمية بدون مشكلات ( طبعا امتداد وهمي لكي لا يعلم المخربين امثالي اين ملف القاعدة الأصلي ) ووفقا لتعليمات معلمنا أبو خليل بارفاق الشرح مكتوبا خير من وضعه بمرفق هذا هو كود الاسكربت وكذلك هو بالمرفق تمنياتي بالتوفيق dim fso dim mePath Dim wrk Dim dbs Call Createadbe wscript.sleep(15000) Rem Call changPas wscript.sleep(5000) Call DelUnuse rem============================================= Sub Createadbe() rem On Error Resume Next Set fso = CreateObject("Scripting.FileSystemObject") mePath = fso.GetAbsolutePathName(".") if fso.FileExists(mePath & "\TypeHere Accde File name")= True then fso.DeleteFile mePath & "\TypeHere Accde File name" end if If fso.FileExists(mePath & "\TypeHere Accdb File name")= True then With Createobject("Access.Application") .AutomationSecurity = 1 .SysCmd 603, mePath & "\TypeHere Accdb File name", mePath & "\TypeHere Accde File name" .Quit End With else exit sub end if set fso = nothing End sub rem================================================ Rem =>From Here You can change accde file password sub changPas() Set fso = CreateObject("Scripting.FileSystemObject") mePath = fso.GetAbsolutePathName(".") if fso.FileExists(mePath & "\TypeHere Accde File name")= True then With Createobject("Access.Application") set wrk= .DBEngine.Workspaces(0) set dbs= wrk.OpenDatabase(mePath & "\TypeHere Accde File name", True, False) dbs.NewPassword "", "Type Here a strong password" .Quit End With msgbox "the program is ready now!" else msgbox "the program is not found!" end if rem======end and exit==================================== set fso = nothing end sub rem============================================================== rem => here will delete unNeeded files sub DelUnuse() Set fso = CreateObject("Scripting.FileSystemObject") mePath = fso.GetAbsolutePathName(".") with fso If .FileExists(mePath & "\TestHiddenFile.bat") then .DeleteFile(mePath & "\TestHiddenFile.bat") If .FileExists(mePath & "\SysDefines.dll") then .DeleteFile(mePath & "\SysDefines.dll") If .FileExists(mePath & "\Database.accdb") then .DeleteFile(mePath & "\Database.accdb") If .FileExists(mePath & "\Database.mdb") then .DeleteFile(mePath & "\Database.mdb") If .FileExists(mePath & "\TypeHere Accdb File name") then .DeleteFile(mePath & "\TypeHere Accdb File name") If .FileExists(mePath & "\TestFirstRun.vbs") then .DeleteFile(mePath & "\TestFirstRun.vbs") If .FileExists(mePath & "\TestFirstRun.exe") then .DeleteFile(mePath & "\TestFirstRun.exe") End with msgbox "Done!" set fso = nothing End sub rem================================================================================= أرجو ان لا يكون كلامي الأول ازعجك - فكما تعلم الصعايدة كلامهم (دبش) أحبكم في الله TestFirstRun.rar
    3 points
  2. السلام عليكم .. الاخوة الافاضل الموضوع حول فكرة سريعة لحماية البرنامج عند توزيعه وضمان توافقه مع جهاز العميل قد لا يعرفها الكثيرين , كما نعلم ان افضل طريقة لحماية البرنامج عن طريق تحويله الى ACCDE بالطبع لا يوجد حماية مثالية ولكنها الافضل حالياً , ولكن لكى تعمل نسخة ACCDE على جهاز العميل يجب ان تكون نواة اصدار الاوفيس الخاص به مثل الجهاز الذى قام بتحويل القاعدة الاساسية فإذا كان جهاز المصمم X64 يجب ان يكون جهاز العميل كذلك , الفكرة حول تخطى هذه العقبة . أولا اذا كان برنامج يحتوى على وحدات نمطية Modules يجب ان تتبع طريقة استاذنا @jjafferr فى جعل اكوادك تعمل على النواتين X64 & X86 من هنا : ننتقل للخطوة التالية وهى كيف نتأكد ان البرنامج سيعمل عند العميل ( يجب ان تكون نواة اصدار الاوفيس الخاص به مثل الجهاز الذى قام بتحويل القاعدة الاساسية فإذا كان جهاز المصمم X64 يجب ان يكون جهاز العميل كذلك , الفكرة حول تخطى هذه العقبة ) سنستفيد من جهاز العميل نفسه لتحويل القاعدة الى ACCDE وبالتالى ما سيتم اعطاؤه للعميل هى النسخة الAccdb وسيتم تحويلها على جهازه عن طريق قاعدة اخرى "Converter.Accdb" بها كود تحويل وهو كما يلى : Function Amr() Dim sourcedb, targetdb, nametargetdb As String Dim SDest, SFile, SFName As String SDest = CurrentProject.Path SFile = "MyProgram.Accdb" SFName = SDest & "\" & SFile sourcedb = SFName targetdb = SDest & "\" & "Ready.accde" nametargetdb = SDest & "\" & "Amr.accde" Dim accessApplication As Access.Application Set accessApplication = New Access.Application With accessApplication .SysCmd 603, sourcedb, targetdb End With Kill sourcedb Name targetdb As nametargetdb FollowHyperlink nametargetdb DoCmd.Quit End Function سنستفيد من برنامج Winrar لتحزيم البرنامج وتحويله الى EXE (ابحث فى المنتدى ستجد الكثير من المواضيع المتعلقة) وفى اعدادات التحزيم سنحدد القاعدة Converter.Accdb لتفتح بعد الانتهاء من فك الضغط وبالتالى عند الانتهاء من فك الضغط ستفتح القاعدة التى بها كود التحويل لتحويل برنامجك الى Accde , وفى الفورم الرئيسى لبرنامجك ضع هذا الكود لحذف قاعدة التحويل لمحو اثار الجريمة 😂 Public Function KillConverter() Dim SDest, SFile, SDlt As String SDest = CurrentProject.Path SFile = "Converter.Accdb" SDlt = SDest & "\" & SFile If Len(Dir$(SDlt)) > 0 Then Kill SDlt End Function استدعيها عن حدث فتح النموذج الرئيسى On Open KillConverter وبكده حولنا القاعدة الاساسية الى ACCDE ومسحنا قاعدة التحويل , قد يسأل البعض ماذا لو قام العميل بفك الضغط بدلا من تثبيت البرنامج 😅 فى هذه الحالة سيحصل على النسخة ACCDB وتفشل الخطة , فى هذه الحالة يمكن اضافة هذا الكود الى النموذج الرئيسى فى برنامجك Private Sub Form_Open(Cancel As Integer) Dim appPath, AppName, AppExt As String appPath = Application.CurrentDb.Name AppName = Application.CurrentProject.Name AppExt = Mid(AppName, InStrRev(AppName, ".") + 1) If AppExt = "Accdb" Then MsgBox ("لم يكتمل التثبيت , جارى الخروج"), vbCritical DoCmd.Quit Else DoCmd.OpenForm "Main" DoCmd.Close acForm, "FrmStart" End If End Sub وظيفة الكود هو التحقق من امتداد البرنامج ولن يعمل اذا كان ACCDB وبهذا ضمنت انه يمشى بالخطوات المحددة . ملاحظات عامة : يجب ان تكون قاعدة التحويل فى Trusted Location حتى تعمل بدون مشاكل وهذا هو الشئ الوحيد الذى سنطلبه من العميل وهو اضافة مسار ما الى الاماكن الموثوقة وليكن D:\. مرفق البرنامج المراد تحويله + أداة التحويل لتوضيح الفكرة اكثر. دمتم بخير MyProgram.accdb Converter.accdb
    2 points
  3. انشى Module جديد و الصق التالي Function ExportReport(ReportName As String, Index As Variant) Dim fso As Object Dim fldrname As String Dim fldrpath As String Set fso = CreateObject("scripting.filesystemobject") fldrname = "Files" fldrpath = CurrentProject.Path & "\" & fldrname If Not fso.FolderExists(fldrpath) Then fso.createfolder (fldrpath) End If DoCmd.OpenReport ReportName, acViewReport, , "[ID]=" & Index DoCmd.OutputTo acOutputReport, ReportName _ , "PDFFormat(*.pdf)", fldrpath & "\" & _ Index & ".pdf", False, "", , acExportQualityPrint DoCmd.Close acReport, ReportName, acSaveYes End Function و في ازرار الحفظ الصق التالي ضع اسم التقرير + مربع نص ID Call ExportReport("Report Name Her", ID Number Her) سيتم انشاء مجلد لحفظ ملفات pdf ==================== مرفق مثال لذلك ExportReport.zip
    2 points
  4. اعتقد اني عملتها لك في المشاركة السابقة ..بس انت مارضيت على كل..شوف المرفق عملت لك نموذج للبحث منفصل systemJJ.accdb
    2 points
  5. تفضل التعديل يابو الحسن - تم تعديل الخطأ في النسة المالية - تم تعديل الخطأ في تصدير البيانات الدائن و المدين.zip
    2 points
  6. السلام عليكم ورحمة الله استخدمى هذه المعادلة =VLOOKUP(B2;INDIRECT("'"&$C$2&"'!"&"A4:B9");2;0)
    2 points
  7. هذا يعتمد على الاتفاق بينك وبين الزبون ، ولا تنسى انك لما تشتري نسخة الاوفيس (او اي من برامج الكمبيوتر الاخرى) ، فواقعا انت اشتريت حق الانتفاع به على كمبيوتر واحد فقط ، ولا تحصل على كود البرنامج source code 🙂 جعفر
    2 points
  8. وعليكم السلام اخوي عمرو 🙂 فكرة جميلة 🙂 انا تقريبا جميع برامجي مفتوحة المصدر ، لهذا السبب ، هذه المواضيع ليست من تخصصي ، ورحم الله امرئ عرف قدر نفسه 🙂 جعفر
    2 points
  9. Private Sub CommandButton1_Click() ActiveCell.FormulaR1C1 = "10" TextBox1.Text = ActiveCell.FormulaR1C1 ActiveCell.Offset(1, 0).Select End Sub
    1 point
  10. الواضح عندي انه لا يوجد مشكلة لكن يجب عليك اعادة التجربة و التأكد من النسخة التي تعمل عليها لسيت بحاجة للملف احذفه لأنه سيتم انشاء ملف جديد عند التصدير
    1 point
  11. راح يفتح عندك التقرير بعون الله انا افترضت ان الارقام نصوص.. اما اذا كان نوع الحقل رقم فلاتضع علامتي التنصيص If (Me.accode = "0008") And (Me.in12 = "2") And (Me.NV <> Me.nv2) Then DoCmd.OpenReport "h22", acViewReport End If
    1 point
  12. اخي فلسطين 🙂 رجاء عدم توجيه السؤال إلى شخص بعينه لان هذا قد يدفع الآخرين إلى عدم الإجابة، والهدف من المنتدى هو التفاعل من الجميع ، وهذا السؤال يعتبر تكرار ، فاذا اردت مساعدة اضافية ، ضع استفسارك في الموضع الآخر جعفر
    1 point
  13. في الواقع لم اكن اعرف معلومات اعدادات الوورد ، ولكنها تؤيد كلامي من ناحية عدم وجود آلية للتحكم بالتشكيل بسهولة ، وهذا ايضا يعني اني اعرف ظاهر الاكسس ، فقد تكون هناك مكتبة وندوز API تقوم بذلك في الاكسس !! ونعم ، ممكن نأتي باللوورد ككائن في الاكسس ويقوم بالعمل الذي تريده (طبعا بعد ان تعمل اعدادات الوورد ، ولا ادري اذا ممكن التحكم بها برمجيا) ، وتظهر نتائجه ، ولكن هذا سيكلفك سرعة البرنامج ، فسوف يصبح بطيء. ممكن تعمل كود يأخذ جميع حروف/علامات/ارقام الحقل لجميع السجلات في جدولك ، ويحفظها بدون تكرار في جدول آخر ، وتضيف حقل آخر باسم المجموعات (امام كل حروف/علامات/ارقام تكتب اسم لمجموعتهم ، وبعدين تعمل كود آخر يبحث في الحقل (في النموذج) ، ويغير لون هذا الحروف/علامات/ارقام حسب المجموعة التابع لها !! جعفر
    1 point
  14. السلام عليكم أخي الكريم يمكنك كتابة معادلة في الخلية A1 ثم اسحب نزولاً إلى آخر رقم تريده في حال الحذف ستأخذ الخلية الأدنى قيمة الخلية المحذوفة أما في حال الإضافة فأنت بحاجة لسحب المعادلة من جديد بعدد الصفوف المضافة ="*T900."&ROW() والسلام عليكم
    1 point
  15. السلام عليكم 🙂 حسب بحثي وتجاربي ، ما يصير !! لأن التشكيلة ليست حرف مستقل ، وانما جزء من حرف ، فما تقدر تختارها وتلونها !! لاحظ الفرق بين الحرف والتشكيلة ، فالدائرة تحت التشكيلة هي مكان الحرف . يدويا ، في الاكسس اخترت الحرف ج فقط واعطيته اللون الاحمر ، ولكن التشكيلة اخذت نفس اللون كذلك: . وبما ان برنامج الوورد متخصص في الكتابة اكثر من الاكسس ، جربت الطريقة اعلاه ، فكانت بنفس النتيجة ، ثم جربت حرف الجيم ثم وضعت عليه الفتحه ، ثم قمت بإختيار الفتحة وعمدت الى تغيير لونها الى اللون الاحمر ، ولكنها لم تتغير: . نعم تستطيع ان تلون التشكيلة لما تكون بمفردها ، ولكن لن تستطيع ان تدمجهم ، فمافي فائدة : . فبدأت ابحث عن طريقة لعمل التشكيلة الملونه عن طريق لغة HTML ، الشيء الوحيد الذي توصلت اليه ، كانت هذه الصفحة ، ولكنه تطبيق على الجوال . يمكن تقدر تعمل التالي ، وما ادري اصلا اذا يصير: تُنزل نسخة تجريبية من احد برامج تعديل/تغيير الخطوط ، وتتبع خطوات تغيير لون التشكيلات الى اللون الاحمر مثلا ، ثم تتبع خطوات تصدير الخط بهذه المواصفات (كذلك لا اعرف اذا هذا ممكن اصلا) ، وبعدها تستخدم هذا الخط في برنامجك الاكسس ، ومن ثم ازالة التشكيلة بالكود كما في موضوعك السابق. جعفر
    1 point
  16. استاذنا يعجز اللسان عن الوصف جزاكم الله خير الجزاء وجعله فى ميزان حسناتكم .. مستوى عالى من الاحترافية قد لا أصل اليه بعد 100 سنة 😂. قمت بتغيير امتداد القاعدة الخاصة بى الى .DLL وقام الاسكريبت بتحويلها الى Accde ويعمل جيدا فكرة اكثر من رائعة . ملاحظة لحضرتك : يعمل بكفاءة فى كل شئ ما عدا جزئية الباسورد لا تعمل معى .. الملف الناتج مفتوح بدون باسورد وهو فى الاصل كان بدون باسورد . ملاحظات للقارئ : فى هذا الجزء يجب ان يكون اسم قاعدتك كامل + الامتداد الخاص به مثل MyProgram.Accdb و Result.Accde مثلا . TypeHere Accdb File name TypeHere Accde File name
    1 point
  17. أسف تاخرت بالرد لانشغالي مشاركة مع الاساتذة والحبايب بالتوفيق kids.accdb
    1 point
  18. I think this is a different request Your request from the beginning was how to affect on existing shapes
    1 point
  19. السلام عليكم ورحمة الله تم عمل القائمة المنسدلة للمواد بدلا من الصفوف الدراسية حقيقة لم افهم المقصود بهذه العبارة التى ذكرت آخر الورقة "وهنا اريد عرض المراحل الصفية" new-2 (1).xlsm
    1 point
  20. وعليكم السلام تفضل اخي الكريم بالتوفيق برنامج حضانة.accdb
    1 point
  21. السلام عليكم لعل الإصدار المستخدم في الضغط و الفك هو المشكلة، فقد نزلت الملف وهو يعمل لدي ... Test_Khalf.mdb
    1 point
  22. وعليكم السلام تفضل أخي الكريم بحث فى كل الشيتات.xlsm
    1 point
  23. وفيك بارك اخى الحمد لله الذي بنعمته تتم الصالحات
    1 point
  24. وانا كذلك عملت الخطوات التي اخبرتنا عنها ، وما حصلت على رسالة الخطأ !! طبعا هذا مو معناه انه لا توجد عندك مشكلة ، وانما معناه اننا يجب ان نحصل على الخطأ ، علشان نعرف نعطيك الحل 🙂 اذن الان سنضطر ان نعتمد عليك في: 1. اريد صورة شاشة ، قبل ان تنقر على الزر وتاتيك رسالة الخطأ ، 2. اريد صورة شاشة ، بعد ان تنقر على الزر وتاتيك رسالة الخطأ ، 3. اعرض لي الكود خلف زر الخروج. جعفر
    1 point
  25. 1 point
  26. للأسف يابو الحسن في مشكلة عندي في فهم المطلوب حسب طلبك هو الي موجود من قبل
    1 point
  27. تفضل If MsgBox("هل تريد انشاء نسخة احتياطية الآن ؟", vbQuestion + vbYesNo + vbMsgBoxRight, "تأكيد") = vbYes Then Dim MyFile, DstFile As String Dim Syso As Object MyFile = " ضع هنا مسار قاعدة البيانات " DstFile = CurrentProject.Path & "\Backup\Backup-" & Format(Now, "dd-mm-yyyy") & "." & Split(Mid(MyFile, InStrRev(MyFile, "\") + 1), ".")(1) Set Syso = CreateObject("Scripting.FileSystemObject") Syso.copyfile MyFile, DstFile Set Syso = Nothing End if
    1 point
  28. جرب هذا الماكرو قم بانشاء صفحة خاصة لطباعة الاوراق وقم بوضع اسماء الاوراق التي تود طباعتها ابتداء من الصف الثاني في العمود A Sub PrintAllSheets() Dim c As Range Dim s As String On Error GoTo errHandle For Each c In Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row) Worksheets(c.Value).PrintOut Next c Exit Sub errHandle: s = "Error while trying to print sheet '" & c.Value & "'" & vbNewLine & Err.Description MsgBox s, vbCritical, "Error No. " & Err.Number End Sub
    1 point
×
×
  • اضف...

Important Information