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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      13

    • Posts

      9935


  2. الـعيدروس

    الـعيدروس

    المشرفين السابقين


    • نقاط

      10

    • Posts

      3277


  3. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      9

    • Posts

      8723


  4. ابو جودي

    ابو جودي

    أوفيسنا


    • نقاط

      9

    • Posts

      7058


Popular Content

Showing content with the highest reputation on 11/02/19 in مشاركات

  1. 4 points
  2. تفضل 🙂 Private Sub TabCtl0_Change() 'page name Me.ss1 = Me.TabCtl0.Pages.Item(TabCtl0.Value).Name 'OR 'page caption Me.ss1 = Me.TabCtl0.Pages.Item(TabCtl0.Value).caption End Sub جعفر
    3 points
  3. السلام عليكم برنامج محاسبة الشركات اهداء لكم برنامج محاسبة الشركات الاصدار الرابع سلوم 0787787573.rar
    2 points
  4. بناءا على طلب العديد من الاصدقاء قمت بعمل دورة مجانية لتعليم برمجة الاكسس لمتابعة الدورة للمبتدئين عبر هذا الرابط
    2 points
  5. السلام عليكم طريقة عمل ترقيم تلقائي لبيانات جدول على الاكسل مرفق ملف العمل وفيديو يشرح الطريقة الارقام اوتو.xlsx
    2 points
  6. السلام عليكم 🙂 اخي عبد الله ، موضوع مميز كصاحبه ، دائما 🙂 هذا صحيح ، وبسبب ان بعض الاعضاء الجدد يفضلون اللجوء الى الخاص ، بينما وُجد المنتدى حتى يستفيد الجميع ، فلما تصل مشاركات الجديد الى 100 مشاركة ، فتلقائيا يستطيع استعمال الرسائل الخاصة 🙂 تفضل ، هذا الموضوع فيه طلبك 🙂 جعفر
    2 points
  7. السلام عليكم هل هذا ماتريد برنامج شركة 1السما للنقل والتوريدات.xlsm
    2 points
  8. شكرا لاستاذنا السيد جمال على الموضوع الجميل والمعلومات الرائعة زادك الله علما ونفع بك
    2 points
  9. 2 points
  10. السلام عليكم خطأ فقط استبدل + بعلامة الفاصله المنقوطة ; واذا كان لديك بالويندوز الفاصلة العاديه استخدمها , معادلة S15 =MOD( SUM( H6;J6;L6;N6;P6;D9;F9;H9;J9;L9;N9;P9;D12;F12;H12;J12;L12;N12);100) معادلة T15 =SUM(I6;K6;M6;O6;Q6;E9;G9;I9;K9;M9;O9;Q9;E12;G12;I12;K12;M12;O12)+INT(SUM(H6;J6;L6;N6;P6;D9;F9;H9;J9;L9;N9;P9;D12;F12;H12;J12;L12;N12)/100)
    2 points
  11. اذا كان الرقم عدد الارقام ثابت استعلام 2 Expr1: Right([Girlid];8) اذا كان غير ثابت استعلام 3 Expr1: Right([Girlid];Len([Girlid])-1) استعلام 3 يكفي في جميع الحالات test2.accdb
    2 points
  12. السلام عليكم, في سنة 2017 قمت بكتابة كلاس بسيط لحماية برنامجي ولضمان برنامجي لا يعمل في غير كومبيوترات في حاله بيعه. مميزات الكلاس: 1- قفل قاعدة البيانات على ( رقم الهارد , البروسيسور , المذربورد , الماك أدريس ) 2- (استحاله) فك النماذج والتقارير في حال عدم تجاوزك لنموذج ( تسجيل الدخول ) ببساطة ستقول يمكنني العثور على باسورد القاعدة داخل الجدول ( الطريقة المعتادة لدينا جميعا في انشاء نموذج تسجيل دخول ). قبل كل شي ليكن لدينا مثلا جدول اسمة ( tbl_Login ) و نموذج اسمه ( frm_Login ) الجدول لتخزين اسم المستخدم وكلمة المرور والنموذج لعمل تسجيل الدخول عند ذهابنا للجدول ( tbl_Login ) ، سوف نحصل على باسورد مشفر من الجدول لو كان الباسورد مثلا ( 313 ) فإنك ستحصل على ( 701D6068 ) 2- عندما نقوم بتسجيل الدخول في النموذج سيقوم البرنامج بأخذ كلمة السر المدخلة ويقوم بتشفيرها ثم يقوم بمطابقتها مع الباسورد الموجود في الجدول اذا كان الباسورد المُدخل يطابق الجدول سيكتب قيمة معينة runtime ويقوم بازالة جميع القيود من النماذج والتقارير. اولا: كلاس الحماية Option Compare Database '----------------------------------------------------- ' Protection Module Coded By Hassanein Hirz Aldeen (SEMO.Pa3x) ' Date 26/11/2017 ' All rights reserved. copyright © 2017 '----------------------------------------------------- Public SEMO As String Function SEMO_GET() SEMO = SEMO SEMO_GET = SEMO End Function Function PR() As Boolean PR = False 'False=Disabled , True=Enabled End Function Function HWND_ID() HWND_ID = "3C3F4825" 'Your HWID End Function Function HWND_MSG() HWND_MSG = "...ليست لديك صلاحيات كافية لإستخدام هذا الاجراء" End Function Function KEY_ENDE() KEY_ENDE = "PA$X" End Function Function HWND_GET() Set root = GetObject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2") Set disks = root.execquery("select * from win32_logicaldisk") For Each disk In disks If disk.volumeserialnumber <> "" Then HWND_GET = disk.volumeserialnumber Exit For End If Next End Function Function HWND_PROTECTION() Set root = GetObject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2") Set disks = root.execquery("select * from win32_logicaldisk") For Each disk In disks If disk.volumeserialnumber <> "" Then HWND_PROTECTION = disk.volumeserialnumber Exit For End If Next If HWND_ID = HWND_PROTECTION Then HWND_PROTECTION = "True" Else HWND_PROTECTION = "False" End If End Function 'Code contained within module named mdlforencryptionanddecryption Public Function XORDecryption(CodeKey As String, DataIn As String) As String Dim arkdata1 As Long Dim strDataOut As String Dim intXOrValue1 As Integer Dim intXOrValue2 As Integer For arkdata1 = 1 To (Len(DataIn) / 2) 'The first value to be XOr-ed comes from the data to be encrypted intXOrValue1 = Val("&H" & (Mid(DataIn, (2 * arkdata1) - 1, 2))) 'The second value comes from the code key intXOrValue2 = Asc(Mid(CodeKey, ((arkdata1 Mod Len(CodeKey)) + 1), 1)) strDataOut = strDataOut + Chr(intXOrValue1 Xor intXOrValue2) Next arkdata1 XORDecryption = strDataOut End Function Public Function XOREncryption(CodeKey As String, DataIn As String) As String Dim arkdata1 As Long Dim strDataOut As String Dim temp As Integer Dim tempstring As String Dim intXOrValue1 As Integer Dim intXOrValue2 As Integer For arkdata1 = 1 To Len(DataIn) 'The first value to be XOr-ed comes from the data to be encrypted intXOrValue1 = Asc(Mid$(DataIn, arkdata1, 1)) 'The second value comes from the code key intXOrValue2 = Asc(Mid$(CodeKey, ((arkdata1 Mod Len(CodeKey)) + 1), 1)) temp = (intXOrValue1 Xor intXOrValue2) tempstring = Hex(temp) If Len(tempstring) = 1 Then tempstring = "0" & tempstring strDataOut = strDataOut + tempstring Next arkdata1 XOREncryption = strDataOut End Function الاستخدام لكل النماذج والتقارير اكتب في حدث Form_Load Option Compare Database Private Sub Form_Load() On Error Resume Next If HWND_PROTECTION = "False" Then MsgBox HWND_MSG, vbCritical, "عملية خاطئة" For i = 0 To Controls.Count - 1 Dim X As Control Set X = Me.Controls.Item(i) X.Visible = False Next DoCmd.Close DoCmd.CloseDatabase DoCmd.Quit End If If Protection.SEMO_GET = "SEMO" = False Then MsgBox HWND_MSG, vbCritical, "عملية خاطئة" For i = 0 To Controls.Count - 1 Dim XS As Control Set XS = Me.Controls.Item(i) XS.Visible = False Next DoCmd.Close DoCmd.CloseDatabase DoCmd.Quit End If End Sub الان عندما تريد اعطاء القاعدة لشخص ما قم باعطاءه اولا ملف الـ VBS هذا '----------------------------------------------------- ' ReCoded By Hassanein Hirz Aldeen (SEMO.Pa3x) ' Date 26/11/2017 ' All rights reserved. copyright © 2017 '----------------------------------------------------- ' Get clipboard text Set objHTML = CreateObject("htmlfile") Set Ws = CreateObject("WScript.Shell") Clipboardtext = objHTML.ParentWindow.ClipboardData.GetData("text") sText = HWND_GET 'Set Clipboard Ws.Run "mshta.exe ""javascript:clipboardData.setData('text','" & Replace(Replace(sText, "\", "\\"), "'", "\'") & "');close();""", 0, True MsgBox "Copied!" Function HWND_GET() Set root = GetObject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2") Set disks = root.execquery("select * from win32_logicaldisk") For Each disk In disks If disk.volumeserialnumber <> "" Then HWND_GET = disk.volumeserialnumber Exit For End If Next End Function وظيفة هذا الملف يقوم باستخراج ( رقم الهارد , البروسيسور , المذربورد , الماك أدريس ) ثم ينسخه بعدما يشغله سيقوم العميل باعطاءك هذا الرقم لكي تقوم انت بدورك بوضعه داخل الكلاس في المنطقة Function HWND_ID() HWND_ID = "Your HWID" End Function استبدل كلمة ( Your HWID ) بالرقم الذي سيعطيه لك العميل. ثم بعد ذلك قم بحفظ القاعدة بصيغة ( ACCDE ) واتحدا اي شخص يفتحها مرة اخرى: لكي تفتح النماذج والتقارير عليك بتخطي نموذج تسجيل الدخول ارفقت لكم قاعدة محمية وقاعدة بدون حماية مع ملف الـ VBS الذي يستخرج ارقام قطع الجهاز ويقوم بنسخها،، اتمنى لكم الفائدة جميعاً اهداء الموضوع الى مُعلمي الرائع @jjafferr حسنين Login_SEMO_Pa3x.rar
    1 point
  13. السلام عليكم 🙂 بالاضافة الى ميزات الاكسس الشخصية ، فيه امكانية مخاطبة البرامج الاخرى بعدة طرق ، احدها عن طريق Command line ، بحيث يمكننا ان نرسل اوامر من الاكسس الى هذا البرنامج الذي يقبل الاوامر من Command line . البرنامج pdftk (في المرفق) احد هذه البرامج : https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ المرفق فيه برنامج اكسس وملف a.pdf و b.pdf ، وبزر من الاكسس ، سيتم دمج الملفين الى ملف ab.pdf ، وفي المرفق ملف الاوامر التي يقبلها برنامج pdftk . البرنامج يستطيع التعامل مع ملفات pdf بعدة طرق ، لذلك وجب قراءة ملف الاوامر 🙂 وهذا هو الكود: Private Sub cmd_combine_Click() 'Merge Two or More PDFs into a New Document 'pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf Dim pdftk_File As String Dim a_FILE As String Dim b_FILE As String Dim ab_FILE As String Dim Command_Line As String pdftk_File = Chr(34) & Application.CurrentProject.Path & "\" & "pdftk" & Chr(34) a_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "a.pdf" & Chr(34) b_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "b.pdf" & Chr(34) ab_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "ab.pdf" & Chr(34) Command_Line = pdftk_File & " " Command_Line = Command_Line & a_FILE & " " Command_Line = Command_Line & b_FILE & " " Command_Line = Command_Line & "cat output" & " " Command_Line = Command_Line & ab_FILE 'Debug.Print Command_Line Shell_n_Wait Command_Line, vbHide End Sub جعفر اعتقد عندي هذا الملف من سنة 2009 --------------------------------------------------------------- تعديل 31-10-2019 : - استخدام الوحدة النمطية Shell_n_Wait والتي تقبل حروف unicode - utf-8 ، من https://github.com/xxdoc/vb6-Shell-Wait/blob/master/Shell %26 Wait v2/modShellWait.bas http://www.vbforums.com/showthread.php?700373-VB6-Shell-amp-Wait&p=4288285&viewfull=1#post4288285 - تم تغليف مسار الملفات بالاشارة " ، وذلك لحل مشكلة وجود مسافات في اسم المسار او الملف ، - تم تفكيك خط الامر الى مكونات اصغر ، لسهولة تغيير اي جزء منه. --------------------------------------------------------------- تعديل 15-01-2023 : يمكننا استعمال الاسم القصير Short FileName للتغلب على مشكلة اللغة العربية في استعمال هذا البرنامج 🙂 يصبح الكود: Private Sub cmd_combine_Click() On Error GoTo err_cmd_combine_Click: 'Merge Two or More PDFs into a New Document 'pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdf Dim pdftk_File As String Dim a_FILE As String Dim b_FILE As String Dim ab_FILE As String Dim Command_Line As String pdftk_File = Chr(34) & Application.CurrentProject.Path & "\" & "pdftk" & Chr(34) 'File 'a_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "a.pdf" & Chr(34) a_FILE = Chr(34) & get8_3FullFileName(1, Application.CurrentProject.Path & "\" & "ملف1" & "\" & "a.pdf") & Chr(34) b_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "b.pdf" & Chr(34) 'Folder 'ab_FILE = Chr(34) & Application.CurrentProject.Path & "\" & "ab.pdf" & Chr(34) ab_FILE = get8_3FullFileName(2, Application.CurrentProject.Path & "\" & "المجلد النهائي") & "\" & "ab.pdf" Kill ab_FILE ab_FILE = Chr(34) & ab_FILE & Chr(34) Command_Line = pdftk_File & " " Command_Line = Command_Line & a_FILE & " " Command_Line = Command_Line & b_FILE & " " Command_Line = Command_Line & "cat output" & " " Command_Line = Command_Line & ab_FILE 'Debug.Print Command_Line Shell_n_Wait Command_Line, vbHide Exit_cmd_combine_Click: Exit Sub err_cmd_combine_Click: If Err.Number = 53 Then 'file not for for deletion Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_cmd_combine_Click End If End Sub . وهذه الدالة التي يتم مناداتها لتغيير المسار الى 8.3 Function get8_3FullFileName(F_or_F As Integer, ByVal sFullFileName As String) As String ' ' Convert the normal path to the old DOS 8.3 path ' this solves the problem of spaces in the path ' and reading Unicode names ' ' F_or_F : File or Folder ' 1= File ' 2= Folder ' Dim FSO As Object: Set FSO = CreateObject("Scripting.FileSystemObject") If F_or_F = 1 Then get8_3FullFileName = FSO.GetFile(sFullFileName).ShortPath Else get8_3FullFileName = FSO.GetFolder(sFullFileName).ShortPath End If Debug.Print "Original File Path: " & sFullFileName Debug.Print "8.3 File Path: " & get8_3FullFileName End Function . والمرفق Combine_PDF_Files_83.zip فيه المثال اعلاه 🙂 Combine_PDF_Files_2.zip pdftk_2.02.zip Combine_PDF_Files_83.zip
    1 point
  14. السلام عليكم 🙂 اللغة العربية هي المطلوبة هنا 🙂 المرفق المضغوط فيه مجلد وبرنامج اكسس ، والبرنامج اللي يعمل لنا QR code الموجود على الرابط التالي: https://sourceforge.net/projects/zint/ ويتم حفظ الصورة هنا Data > QR_images وعلشان كل شيء يشتغل تمام ، رجاء لا تعمل تغيير في مكان الملفات ولا المجلدات ، ولا تغيير اسمائها (طبعا تقدر تعمل اللي تريد ، بس على اساسه يجب تغيير الكود كذلك) وهي النتيجة: وخلونا نشوف من يقدر يقرأ الصورة 🙂 ----------------------------------------------------------------------------- إضافة في يوم الثلاثاء 7 / 5 / 2019 : عملت مثال يعمل على 2003 🙂 ----------------------------------------------------------------------------- إضافة في يوم الجمعة 14 / 6 / 2019 : باركود بطاقة دخول الطائرة (Boarding card) وهي من نوع PDF417 اختار الحقول اللي تريدها تظهر في QR code بإختيار مربع صح/خطأ : . والنتيجة: . و باركود 128 (ويمكن عمل اي نوع من انواع الباركود) . والتقرير (وبعد اذن اخي محمد سلامه ، فقد استعملت الصورة التي استعملها في مثاله 🙂 ) . وبهذه الطريقة نرى اننا لا نحتاج ان نحفظ صورة لكل سجل (واذا اردنا ذلك ، فنعمل تعديل في الكود ليقوم بذلك). وهذا الكود مضافا اليه عمل الباركود العادي : Private Sub Make_QR_Barcode() ' 'https://sourceforge.net/projects/zint/ ' If Len(Me.str_Text & "") = 0 Then Exit Sub Dim App_Name As String Dim Output_File As String Dim Output_Text As String Dim Encoding As String Dim Command_Line As String App_Name = Chr(34) & Application.CurrentProject.Path & "\Data\zint.exe" & Chr(34) Output_Text = Chr(34) & Me.str_Text & Chr(34) 'QR code Output_File = Chr(34) & Application.CurrentProject.Path & "\Data\QR_images\" & "QR_code.png" & Chr(34) Command_Line = App_Name & " -o " & Output_File & " --rotate=0 --eci=24 --scale=2 -w 10 --height=100 --barcode=58 -d " & Output_Text 'Debug.Print Command_Line Shell_n_Wait Command_Line, vbHide 'Barcode 128 Output_File = Chr(34) & Application.CurrentProject.Path & "\Data\QR_images\" & "Barcode.png" & Chr(34) Command_Line = App_Name & " -o " & Output_File & " --rotate=0 -d " & Me.ID 'Debug.Print Command_Line Shell_n_Wait Command_Line, vbHide 'PDF 417 Output_File = Chr(34) & Application.CurrentProject.Path & "\Data\QR_images\" & "PDF_417.png" & Chr(34) Command_Line = App_Name & " -o " & Output_File & " --rotate=0 --eci=24 --binary --barcode=55 --mode=3 -d " & Output_Text 'Debug.Print Command_Line Shell_n_Wait Command_Line, vbHide End Sub ----------------------------------------------------------------------------- إضافة في يوم الجمعة 22 / 6 / 2019 : تم عمل VCard QR ليخزن معلومات الشخص مباشرة في الموبايل 🙂 . وبإستخدام برامج الموبايل والتي تقرأ QR Code ، يمكنك حفظ معلومات VCard QR مباشرة في عناوين الموبايل 🙂 البرنامج zint الموجود في المرفق ، فيه امكانية عمل عدة انواع من QR والباركودات ، ولكن كل نوع من هذه الانواع له صيغة خاصة في عمله ، فمثلا كود VCArd QR هو: Function Add_Items() Dim VCard_Text As String 'clear field VCard_Text = "" VCard_Text = "BEGIN:VCARD" & vbCrLf VCard_Text = VCard_Text & "VERSION:3.0" & vbCrLf VCard_Text = VCard_Text & "N:" & Me.[Family Name] & ";" & Me.[Given Name] & ";" & Me.[Additional Name] & ";" & Me.[Name Prefix] & ";" & vbCrLf VCard_Text = VCard_Text & "FN:" & Me![Name] & vbCrLf VCard_Text = VCard_Text & "ORG:" & Me.[Organization 1] & vbCrLf VCard_Text = VCard_Text & "TEL;TYPE=" & Me.[Phone 1 - Type] & ",VOICE:" & Me.[Phone 1 - Value] & vbCrLf VCard_Text = VCard_Text & "TEL;TYPE=" & Me.[Phone 2 - Type] & ",VOICE:" & Me.[Phone 2 - Value] & vbCrLf VCard_Text = VCard_Text & "TEL;TYPE=" & Me.[Phone 3 - Type] & ",VOICE:" & Me.[Phone 3 - Value] & vbCrLf VCard_Text = VCard_Text & "ADR;:" & ";;" & Me.[Address 1] & ";;;;" & vbCrLf VCard_Text = VCard_Text & "BDAY:" & Me.[Birthday] & vbCrLf VCard_Text = VCard_Text & "EMAIL;TYPE=" & Me.[E-mail 1 - Type] & ":" & Me.[E-mail 1 - Value] & vbCrLf VCard_Text = VCard_Text & "EMAIL;TYPE=" & Me.[E-mail 2 - Type] & ":" & Me.[E-mail 2 - Value] & vbCrLf VCard_Text = VCard_Text & "NOTE:" & Me.Notes & vbCrLf VCard_Text = VCard_Text & "URL:" & Me.[Website 1] & vbCrLf VCard_Text = VCard_Text & "END:VCARD" Add_Items = VCard_Text End Function والذي يختلف عن PDF417 والذي يختلف عن غيره. المرفق في ملفين بصيغة txt والذي فيهما جميع الاوامر التي يمكن استعمالها لعمل مختلف انواع الباركود 🙂 ----------------------------------------------------------------------------- إضافة في يوم السبت 2 / 11 / 2019 : هنا مثال لعمل بطاقة عمل ID.zip ، بأصغر حجم QR code (رجاء ابقاء حجمه ، فقد توصلت الى هذا الحجم والكود بعد محاولات ساعات طويلة) : . وهذا هو QR code . اما تفاصيل عمل البطاقات ، فهذا الرابط فيه تفاصيل كاملة: . جعفر ملاحظة: 1. المرفق في هذه المشاركة هو البرنامج الاخير ، وفيه جميع التعديلات التي في بقية المشاركات. 2. الـ api التي تنتظر إنتهاء الامر ، ثم تنتقل للسطر التالي في الكود اسمها ShellWait ، هذه لا تتعامل مع Unicode / utf-8 / ومنها الحروف العربية بطريقة صحيحة : http://access.mvps.org/access/api/api0004.htm بينما هذه تمام : https://github.com/xxdoc/vb6-Shell-Wait/blob/master/Shell %26 Wait v2/modShellWait.bas zint QR 3.zip ID.zip Shell_n_Wait_2021-12-13.txt.zip
    1 point
  15. السلام عليكم اخواني الكرام قمت بتصميم هذا البرنامج لتصميم وطباعة الباركود فاعطوني رأيكم دام فضلكم اضف الخطوط الموجودة في المرفق الى مجلد الخطوط وشغل البرنامج 1- يمكنك تصميم اللصاقة المناسبة من التقرير 2- يمكن طباعة عدد محدد من اللصاقات ومن اي لصاقة يبدأ الطباعة 3- يمكن اختيار اتجاه الطباعة افقي او عمودي 4- يمكنك تحديد هوامش ورقة a4 حتى تتناسب مع اللصاقة المطلوبة تحياتي للجميع من فضلكم ليس هناك داعى لعمل اقتباس عند الرد فهذا يقوم بدوره بتشتيت المطلع والباحث عن نفس الموضوع مستقبلاً , باركود.rar
    1 point
  16. بعد اذن الاستاذ هذا الكود يطبع جميع الشيتات باستثناء شيت DATA ويمكنك تعديله حسب المدى المطلوب sub test 'كود طباعة جميع الشيتات dim ws as worksheet dim sh as worksheet: set sh = sheets("DATA") ' الشيت المستثنى من الطباعة Dim lr As Long For Each ws In Sheets lr = ws.Range("a" & Rows.Count).End(xlUp).Row If ws.Name = "DATA" Then GoTo 1 ' الشيت داتا سميه ما شئت ولك غيره في السطر الثاني و السادس ws.Range("a1:g" & lr).PrintOut 1: Next ws end sub
    1 point
  17. بعد اذن الاخ علي هذا الكود Option Explicit Sub get_data() Rem ====>> Created By Salim Hasbaya On 2/11/2019 Dim Sh1 As Worksheet, Sh2 As Worksheet Dim tabL1 As Range Dim i%, Ro%, x% Set Sh1 = Sheets("Sheet1") Set Sh2 = Sheets("Sheet2") Set tabL1 = Sh1.Range("A1").CurrentRegion Sh2.Cells(9, 3).Resize(100, 500).ClearContents Ro = tabL1.Rows.Count For i = 3 To 95 Step 3 tabL1.AutoFilter 1, Sh2.Cells(5, i) x = tabL1.SpecialCells(12).Count If x > 4 Then tabL1.Offset(1).Resize(Ro - 1) _ .SpecialCells(12).Offset(, 1).Resize(, 3).Copy _ Sh2.Cells(9, i) End If Next i If Sh1.AutoFilterMode Then Sh1.ShowAllData: tabL1.AutoFilter End If End Sub الملف مرفق tarhil.xlsm
    1 point
  18. بالتوفيق فكرة رائعة جزاكم الله خيرا
    1 point
  19. 1 point
  20. تفضل 🙂 تصحيح فني ، ولا علاقة له بالموضوع: هذه الطريقة خطأ Option Compare Database Dim UserRS As Recordset Option Explicit Public UsN Public UsM والطريقة الصحيحة Option Compare Database Option Explicit Dim UserRS As Recordset Public UsN Public UsM . والخطأ كان في هذا السطر: Set UserRS = DB.OpenRecordset(" SELECT tbl_User.* FROM tbl_User WHERE tbl_User.user_name ='" & UsN & "' AND tbl_User.City='" & UsM & "';", dbOpenDynaset) ولكنك لم تخبر البرنامج ما هو المتغير DB ، لهذا السبب يمكننا تغيير الكود الى التالي: Set UserRS = CurrentDb.OpenRecordset(" SELECT tbl_User.* FROM tbl_User WHERE tbl_User.user_name ='" & UsN & "' AND tbl_User.City='" & UsM & "';", dbOpenDynaset) ويمكن اختصاره الى Set UserRS = CurrentDb.OpenRecordset(" SELECT * FROM tbl_User WHERE user_name ='" & UsN & "' AND City='" & UsM & "';", dbOpenDynaset) . جعفر
    1 point
  21. أحسنت استاذ عبد اللطيف عمل رائع جعله الله فى ميزان حسناتك
    1 point
  22. السلام عليكم بالامكان حسب فهمي لطلبك بكود حدث الصفحة كالتالي ' استبدل مدى الاعمدة حسب مدى بيانات الكنترول لديك Private Const Adrss = "A:Z" Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range(Adrss)) Is Nothing Then With Target .Offset(0, 1).Select If Split(Adrss, ":")(1) = Split(.Address, "$")(1) Then Range(Split(Adrss, ":")(0) & .Row + 1).Select End If End With End If End Sub
    1 point
  23. ولا اى شئ اخى جعفر كلنا هنا اخوان متحابين اخى حسين هل لك ان تدلنى على شرح او موضوع كيف احمى السورس كود الخاص ببرامجى فانا لا امتلك مثل هذه المهارة ؟ والله ما زاد جمالا الا بتعليقك اخى ابو خليل 🌺
    1 point
  24. الخلايا ذات الالوان المتدرجه لم تعمل مع الكود فهمتني اما الخلايا التي بها لون عادي بتعمل بكفاءه لي محاولات بالتعديل على الكود اذا نجحت سأرفقها
    1 point
  25. السلام عليكم رغم ان هذا الموضوع يستحق الاغلاق لاشتماله على اكثر من طلب ولكن اعلم اخي سمير ان تحديد سؤال واحد لكل موضوع يصب في صالحك انت اولا الاعضاء لن ينشطوا لمساعدتك حين يروا هذه المجموعة من الطلبات حاول تفتح موضوعا جديدا باستفسار او طلب واحد
    1 point
  26. سلام عليكم عملت لحضرتك استعلام اتمناه يفي بالغرض حاجه على قد الحال - تحياتى test3.rar
    1 point
  27. مع الاسف الشديد غير صحيح تابع معى الخطوات الاتية Start > Run > wbemtest هذا هو الرقم اما من الاكسس
    1 point
  28. الحمد لله عرفت اعملها بالتجربة مع نفسي.. Between dmax ("[xx]" ;"tableName") and dmax ("[xx]" ;"tableName") - 10
    1 point
  29. السلام عليكم الخلايا التي بها الوان متدرجه لايجدي الكود معها لاكن بخصوص اختلاف ارجاع الالوان كما سابقتها بالامكان تصحيحه بالتعديل على الكود ليصبح كالتالي Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) MyColor = 6 If Not IsError(Sh.[N_Color_Rng]) Then If Not IsError(Sh.[N_Color_Color]) Then If Not IsError(Sh.[N_Color_Old]) Then If Sh.[N_Color_Rng].Interior.ColorIndex = Sh.[N_Color_Old] Then Dim R, G, B R = Ref_Ali(Sh.Names("N_Color_Color").RefersToR1C1, 1) G = Ref_Ali(Sh.Names("N_Color_Color").RefersToR1C1, 2) B = Ref_Ali(Sh.Names("N_Color_Color").RefersToR1C1, 3) Sh.[N_Color_Rng].Interior.Color = RGB(R, G, B) End If End If End If End If Sh.Names.Add "N_Color_Rng", ActiveCell Sh.Names.Add "N_Color_Color", G_Colr(ActiveCell) Sh.Names.Add "N_Color_Old", MyColor ActiveCell.Interior.ColorIndex = MyColor End Sub Function Ref_Ali(a, Inx) Select Case Inx Case 1 aa = Mid(a, InStr(1, a, "(") + 1, InStr(InStr(1, a, "("), a, ",") - InStr(1, a, "(") - 1) Case 2 aa = Split(a, ",")(1) Case 3 aa = Mid(Trim(Split(a, ",")(2)), 1, InStr(1, Trim(Split(a, ",")(2)), ")") - 1) End Select Ref_Ali = aa End Function Function G_Colr(Rng As Range) Dim HEX_A As String Dim Ali_R As String HEX_A = Right("000000" & Hex(Rng.Interior.Color), 6) Ali_R = "RGB (" & CInt("&H" & Right(HEX_A, 2)) & ", " & CInt("&H" & Mid(HEX_A, 3, 2)) & ", " & CInt("&H" & Left(HEX_A, 2)) & ")" G_Colr = Ali_R End Function
    1 point
  30. السلام عليكم 🙂 تفضل 🙂 'FileCopy varFile, destpath Name varFile As destpath جعفر
    1 point
  31. السلام عليكم 🙂 اخي إمام ، قوانين المنتدى تقول ، سؤال واحد لكل موضوع ، وقد تمت الاجابة على سؤالك ، فرجاء عمل موضوع جديد لسؤالك الاخير 🙂 يُغلق. جعفر
    1 point
  32. هههههههههه اعلم انك تمزح يا ابا جودى ولكن انا ادعو لك ولجميع اساتذتنا اللذين لايبخلون علينا بما علمهم الله ربنا يرضيكم ويرضى عنكم اللهم آمين طبتم واهتديتم
    1 point
  33. هههههههه انت صدقت فقط امزح مع اخى وحبيبى والله لا اريد من الدنيا اى شئ الا فقط ان يكتب لى الله فيها السلامة ولا اخرج منها الا وهو عنى راض فيختم لى بالصالحات انا وكل المسلمين ان شاء الله
    1 point
  34. اعتقد يا @ابا جودى ان الاصدار اللى اتعمل بيه الملف اعلى من الاصدار اللى عندك ان شاء الله الاستاذ @عبد اللطيف سلوم يوضح اصدار الاوفيس اللى عنده برضه حتى نعلم ان كانت هذه هى المشكله ام يوجد مشكله اخرى والله اعلى واعلم تقبلوا تحياتى طبتم واهتديتم
    1 point
  35. الف شكر استاذ عبد اللطيف ولي عودة بعد اختبار البرنامج
    1 point
  36. احسب عمرك معرفة عمرك بالسنين و الشهور و الأيام.xlsx
    1 point
  37. جرب هذا الكود Option Explicit Sub HID_COLUMNS() Dim I% Range(Cells(1, 5), Cells(1, 262)).EntireColumn.Hidden = True For I = 13 To 262 Step 8 Cells(1, I).EntireColumn.Hidden = False Next End Sub
    1 point
  38. السلام عليكم تفضل المرفق بيان الحالة1.xlsm
    1 point
  39. السلام عليكم تفضل اخي الكريم بعد اضافة الحقلين المطلوبين طلب العلم لا يصلح مع الحياء فمن حقك الطلب وواجب علي الاجابة وسامحني على التاخير فضغط العمل لا يرحم barcode.accdb
    1 point
  40. وعليكم السلام 🙂 هذا سطر حفظ الملف (انا اعطيت صورة كل نوع من الباركود اسم مختلف) ، واسم الصورة هنا QR_code.png : Output_File = Chr(34) & Application.CurrentProject.Path & "\Data\QR_images\" & "QR_code.png" & Chr(34) اذا اردت حفظ الصورة برقم ID الموظف ، سيكون الكود: Output_File = Chr(34) & Application.CurrentProject.Path & "\Data\QR_images\" & Me.ID & Chr(34) بس مثل ما انا قلت في البداية ، واقعا ما تحتاج الى صورة لكل موظف ، لأنك تحتاج تطبع الهوية والسلام ، فمافي داعي لحفظ الصورة ، وخصوصا اذا عملت تغيير في البيانات ، فالصورة القديمة لن تنفعك ، بينما طباعة هوية جديدة تعطيك جميع البيانات الجديدة 🙂 جعفر
    1 point
  41. السلام عليكم 🙂 كنت بين المطارات ، وشفت باركود خاص على تذاكر دخول الطائرة ، فقلت في نفسي ، هل ممكن نعمله !! اتضح انه من نوع PDF417 ، واذا ببرنامجنا يقوم بعمله كذلك 🙂 واضفتها على البرنامج في اول مشاركة 🙂 جعفر
    1 point
  42. السلام عليكم :) شكرا على ردودكم ، وتمت اضافة مثال متكامل :) جعفر
    1 point
  43. مرحبا استاذ حسنين @SEMO.Pa3x فعلا انت مكسب لنا جميعا اعتقد ان الموضوع احترافي على غيره من مواضيع الحماية في المنتدى ولكن عندي مداخلة هنا : لو دخلت على حقل الباسسوورد في جدول الدخول ثم مسحت الباسوورد القديمة ووضعت رقم جديد وليكن 321 واستخدمته في شاشة الدخول هل سيقبل لان الباسوورد اصبحت متطايقة ؟ تقبل اجمل تحية
    1 point
  44. السلام عليكم ============ اخى الحبيب mas123 بارك الله فيك اسمح لى باستخدام ملفك للتوضيح ولجمال تنسيقاته الاخ ممدوح لى بعض الملاحظات على مرفقك ارجو قبولها "للاستفادة فقط" اولا === تبديل المعادلة فى D6 من =C6+B6 الى =SUM(B6:C6) وذلك لتنفيذ الجمع فى حالة الطالب اذا كان "غ" فى الخليتين B6 و E6 ونفس الملحوظة فى الخلية G6 ونفس الملحوظة فى الخلية H6 وقد عدلها لك الاخ MAS ثانيا ===== فى عمود المتوسط وفى الخلية I6 تحديدا اذا كان الطالب "غ" فى الخلية H6 سيكون الناتج #VALUE! لذا وجب التنويه لتبديل المعادلة فى الخلية I6 من =H6/2 الى =SUM(G6;D6)/2 حتى تعطى القيمة صحيحة وكذلك فى الخلية J6 تبديل المعادلة =I6*0.8 الى =SUM(G6;D6)/2*0.8 كل ذلك للتغلب على الاخطاء الناتجة عن تدخل النصوص فى العمليات الحسابية اما بالنسبة لموضوع ال 30% فهذه فكرة اخرى mas_Book1.rar
    1 point
  45. السلام عليكم حولي الوقت إلى رقم بضربه في 24 ثم يمكنك عمل كل العمليات الحسابية بدون مشاكل . مثال : InTime * 24 تحياتي .
    1 point
×
×
  • اضف...

Important Information