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

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

  1. kanory

    kanory

    الخبراء


    • نقاط

      17

    • Posts

      2,256


  2. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      8

    • Posts

      12,194


  3. kha9009lid

    kha9009lid

    الخبراء


    • نقاط

      7

    • Posts

      1,347


  4. Ali Mohamed Ali

    Ali Mohamed Ali

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


    • نقاط

      6

    • Posts

      11,630


Popular Content

Showing content with the highest reputation on 23 ينا, 2021 in all areas

  1. بعد اذن الأستاذ خيماوى ولإثراء الموضوع يمكن ذلك بهذه المعادلة المعرفة MYVLOOKUP فعليك بفتح مديول جديد ووضع هذا الكود به وبالطبع فمعادلة الأستاذ خيماوى تعمل بكفاءة ولكن يظهر هذا الخطأ معك لأنك لم تستخدمة نسخة 365 من الأوفيس فهذه المعادلة موجودة بهذه النسخة فقط Function MYVLOOKUP(lookupval, lookuprange As Range, indexcol As Long) Dim r As Range Dim result As String result = "" For Each r In lookuprange If r = lookupval Then result = result & " " & r.Offset(0, indexcol - 1) End If Next r MYVLOOKUP = result End Function وعليك بوضع هذه المعادلة بداية من الخلية J7 سحباً للأسفل =MYVLOOKUP($I7,$D$6:$E$190,2) ورقة عمل Microsoft Excel جديد __.xlsm
    4 points
  2. وفيك بارك .... الحمد لله رب العالمين ...
    4 points
  3. نعم صحيح اخي .... ما ما حبيت اغير في البرنامج ..... المفروض ما نعتمد على التسلسل الموجود في الجدول .... نعمل مربع نص خاص و نجعله غي منضم ومصدرة =1 بارك الله فيك لا حظ المرفق الجديد للفائدة حتى تكتمل الفكرة تقرير.rar
    4 points
  4. السلام عليكم ورحمة الله تعالى وبركاته اليوم اقدم لكم مرفق ليس ميكروسوفت اكسس انما .exe وذلك لتسجيل مكتبات DLL هذا بالنسبة للمرفق ارفقت المكتبة الخاصة بالمرفق يمكنك اضافتها الى برنامج الاكسس الخاص بك لتسجيل المكتبات الخاصة بك المكتبة الذى ارفقتها بها ثلاث دوال GetPathBySedo وهى الدالة الخاصة باختيار ملف المراد تسجيله InstallService وهى الدالة الخاصة بتسجيل المكتبة UnInstallService وهى الدالة الخاصة بالغاء تسجيل المكتبة بعد اضافة المكتبة فى قاعدة البيانات الخاصة بك فى محرر اكود الاكسس تستطيع استدعاء الدوال عن طريق الاتى دالة تسجيل المكتبة + دالة جلب المسار يمكنك الاستغناء عن دالة استدعاء المسار اذا كان مسار المكتبة المراد تسجيلها محدد Dim dll As New Dll_Add_Remove.ClsTest dll.InstallService (dll.GetPathBySedo) دالة الغاء تسجيل المكتبة Dim dll As New Dll_Add_Remove.ClsTest dll.UnInstallService (dll.GetPathBySedo) برنامج تسجيل المكتبات.rar
    3 points
  5. استخدم هذا الكود في الزر لديك .... واعلمنا بالنتيجة ...... Dim i, j As Integer Dim rs As DAO.Recordset Set rs = CurrentDb.OpenRecordset("mytable") For j = 1 To WebBrowser3.Document.getElementsByTagName("table").Item(0).rows.Length - 1 rs.AddNew rs!t1 = WebBrowser3.Document.getElementsByTagName("table").Item(0).rows(j).cells(1).innerText rs!t2 = WebBrowser3.Document.getElementsByTagName("table").Item(0).rows(j).cells(2).innerText rs.Update Next MsgBox "تم الاستيراد بنجاح"
    3 points
  6. هذه طريقة اخرى قد يكون طبلك ..... تقرير.rar
    3 points
  7. الحل عندك في اكسس في خصائص الحقل / بيانات / قناع الإدخال الحرف الوصف 0 رقم (0 حتى 9، إدخال مطلوب، غير مسموح بعلامتي الجمع [+] والطرح [-]). 9 رقم أو مسافة (إدخال غير مطلوب، غير مسموح بعلامتي الجمع والطرح). # رقم أو مسافة (إدخال غير مطلوب، تحول المواضع الفارغة إلى مسافات، يسمح بعلامتي الجمع والطرح). L حرف هجائي (أ إلى ي، إدخال مطلوب). ? حرف هجائي (أ إلى ي، إدخال اختياري). A حرف أو رقم (إدخال مطلوب). a حرف أو رقم (إدخال اختياري). & أي حرف أو مسافة (إدخال مطلوب). C أي حرف أو مسافة (إدخال اختياري). . , : ; - / حرف نائب لعلامة عشرية وفواصل الآلف، التاريخ، والوقت. (يعتمد استخدام الحرف الحقيقي على الإعدادات الإقليمية في لوحة التحكم Microsoft Windows.) < يجعل كافة الأحرف التالية تتحول إلى أحرف صغيرة. > يجعل كافة الأحرف التالية تتحول إلى أحرف كبيرة. ! تجعل قناع الإدخال يعرض من اليمين إلى اليسار بدلاً من أن يعرض من اليسار إلى اليمين. يتم تعبئة الأحرف التي تكتب في القناع دائماً من اليسار إلى اليمين. يمكنك تضمين علامة التعجب في أي مكان في قناع الإدخال. \ يجعل الحرف التالي يعرض كحرف نصي. ويستخدم لعرض أي حرف من الأحرف المعروضة في هذا الجدول كحرف نصي (على سبيل المثال، يعرض \ A كـ A فقط). Password ُينتج عن إعداد خاصية قناع_الإدخال إلى الكلمة Password إنشاء مربع نص لإدخال كلمة المرور. يخزن كل حرف يكتب في مربع النص كحرف ولكن يعرض كعلامة نجمية (*).
    2 points
  8. السلام عليكم ورحمة الله وبركاته تفضل اخوي العزيز المعادلة الاولى =TEXTJOIN("; ",1,REPT($E$6:$E$19,($D$6:$D$19=I6)+0)) المعادلة الثانية =TEXTJOIN("; ",1,IF($D$6:$D$19=I7,$E$6:$E$19,"")) ورقة عمل Microsoft Excel جديد __.xlsx
    2 points
  9. اخي الفاضل صاحب البرنامج وضع كلمة مرور على الاكواد مما يعني عدم رغبته في التعديل على برنامجه ومع ان هذه الحماية يمكن كسرها ولكن احتراما للحقوق وتماشيا مع سياسة الموقع فان الاجراء الصحيح الاتصال بالمبرمج وطلب التعديل منه مع اطيب تحياتي
    2 points
  10. نقاشنا في ليه انا مصمم او انت مصمم غير مجدي اطلعت على المرفق ويؤسفني اني اقول ان غالب الازرار وما خلفها من نماذج هو عمل غير صحيح ( الزام مالا يلزم) ويجب تعرف اخي العزيز اني اعمل معك برنامج مبيعات نموذجي على اسس علمية .. لك ولمن يأتي بعدك مراعيا فيه : 1- التكامل 2- المرونة (بحيث يصلح لأي مشروع مبيعات) 3- تسهيل عمل المستخدم ( اختصار كثير من عمليات الادخال ) 4- امكانية التطوير 5- التجانس في بيئة العمل فيما يتعلق في الشاشات وتصميم العرض ، لان التباين في الألوان والأحجام ومواضع الأزرار يتعب العين والنفس . في الاسواق الآن عموما نوعان من انظمة المبيعات : 1- النوع الاول وهو مثل برنامجنا هذا يعتمد على ادخالات المستخدم ويستخدم فيه لوحة المفاتيح والفأرة ويتم ادخال بعض البيانات والمبالغ المالية يدويا ، والمبرمج الحاذق يعمل على اختصار هذه الادخالات قدر الامكان وجعلها آلية يقوم بها البرنامج . فمثلا في شاشة الحركات يتم اختيار : (العميل والصنف والعدد والمبلغ المدفوع) فقط ، ربما يوجد ملاحظات مثلا عند سداد آجل او مصاريف ونحوها فتكتب في البيان وهذه الاخيرة قلية ونادرة 2- النوع الثاني وهو يعتمد على شاشتين منفصلتين للبيع والشراء يستخدم فيهما قارىء الباركود يسجل فيه من خلال القارىء بيانات الصنف وسعره اما المبالغ المالية المدفوعة فليس لها مكان في هذا النظام . واخيرا اخي الحبيب الأمر اليك .. فاعمل ما يرتاح اليه قلبك .
    2 points
  11. طريقة جميلة اخي @kanory لكن في حالة خذف سجل سيكون هناك خطأ في عدد السجلات في الصفحة والافضل من رأيي ان يكون الكود يعتمد على حقل غير متضم للترقيم في التقرير انظر للصفحة الاولى بعد حذف 5 سجلات اصبحت الصفحة الاولى 15 سجل
    2 points
  12. واياك .... الحمد لله رب العالمين ....
    2 points
  13. انت عامل نموذج فردي ، فطبيعي يتغير السجل اللي انت عليه فقط ، بينما لو عملته في استعلام تحديث (كما عملتها لك في النموذج المرفق) ، تشغل الاستعلام ولما ينتهي من التحديث ، افتح النموذج وسترى كل شيء جاهز. أسطر2.accdb
    1 point
  14. تفضل هذا الماكرو صفحة RESULT من هذا الملف Option Explicit Sub GET_DATA() Sheets("RESULT").Range("B3").CurrentRegion.Clear With Sheets("DATA SOURCE") .AutoFilterMode = False .Range("B3").CurrentRegion.AutoFilter 7, Criteria1:="=" & "*/*" .Range("B3").CurrentRegion.SpecialCells(12).Copy Sheets("RESULT").Range("B3").PasteSpecial (8) Sheets("RESULT").Range("B3").PasteSpecial .AutoFilterMode = False End With End Sub الملف مرفق (اضغط الزر Run فقط) Dates.xlsm
    1 point
  15. @biskraشكراً لك هذا هو مثل المطلوب لقد جربته عندى وماشي الحال وشكرا لك مره اخرى ولكل الزملاء المحترمين
    1 point
  16. بل هي اجابة شافية شاملة لطلبك ولجميع ما يشابهها في مستقبل حياتك مادمت تعمل على أكسس كان الأولى بك ان تقول : كيف اتعامل مع هذه الرموز لتحقيق طلبي ؟ انصحك بالقراءة عن قناع الإدخال في أكسس
    1 point
  17. كل الشكر للجميع و للإستاذ Ali Mohamed Ali على المساعدة وحل المشكلة بنجاح
    1 point
  18. السلام عليكم , هذا البرنامج موجود في صفحة احد الاخوة على يوتيوب وهو مجاني ومتاح للجميع ( جزى الله صاحبه خير الجزاء) يحتاج تعديل بسيط , المطلوب كشف (عام) للموردين والعملاء والصندوق, لان البرنامج يعطي كشف حساب لعميل او مورد واحد فقط , نحتاج كشف حساب لجميع العملاء او لجميع الموردين , يعني عندما تبحث عن حساب لا يلزمك البرنامج بادخال اسم العميل او المورد المحاسب.rar
    1 point
  19. المشكلة ان المبرمج وضع حماية على برنامجة وكسرها يعتبر تعدي على الحقوق وهناك فرق بين استخدام البرنامج بشكل مجاني وتعديله اعتذر منك اخي الكريم
    1 point
  20. السلام عليكم ورحمة الله وبركاته غير من xlPasteValues الى xlPasteFormats
    1 point
  21. وهذا النوع يستخدم في مجال بيع التجزئة ولا يتطلب جدول للعملاء لكون المبيعات نقدية والمبلغ المدفوع يسجل تلقائي بمجرد تنفيذ او حفظ ( طباعة الفاتورة ). هذا النوع اكثر انتشارا حاليا ومن تجربة متابع من البداية واتمنى استكمال الموضوع لما فيه فائدة ودروس قيمة
    1 point
  22. تفضل أخي الكريم معادلات في العمود A+إضافة صفحات في حال...., Sub test() Application.ScreenUpdating = False ThisWorkbook.Sheets.Add(After:=Sheets(Sheets.Count)).Name = "Temp" For Each sh In Worksheets If sh.Name <> "Main" And sh.Name <> "Temp" Then With Sheets("Main") lr = .Cells(Rows.Count, 16).End(xlUp).Row + 1 .Range("$A$2:$AQ$" & lr).AutoFilter Field:=16, Criteria1:=sh.Name Set rang = .Range("$A$2:$AQ$" & lr).SpecialCells(xlCellTypeVisible) rang.Copy Sheets("TEmp").Range("A1") .Cells.AutoFilter With Sheets("Temp") a = .Cells(1, 1).CurrentRegion .Cells(1, 1).CurrentRegion.ClearContents a = Application.Index(a, Evaluate("row(2:" & UBound(a) & ")"), Array(26, 30, "", 13)) End With With sh 1 lastrow = .Cells(.Rows.Count, 1).End(xlUp).Row If lastrow / 41 < UBound(a) / 30 Then Rows("1:41").Copy Range("A" & lastrow + 2).Insert Shift:=xlDown Application.CutCopyMode = False GoTo 1 End If For I = 8 To lastrow Step 41 Range("B" & I).Resize(30, 4).ClearContents Next I x = 1 For Each myArea In .Columns(2).Resize(, 5).SpecialCells(4, 1).Areas n = myArea.Rows.Count If n = 30 Then myArea.Resize(n, 4).Value = Application.IfError(Application.Index(a, Evaluate("row(" & x & ":" & _ x + n - 1 & ")"), Evaluate("column(" & [a1].Resize(, 4).Address & ")")), "") x = x + n End If Next End With End With End If Next Sheets("Main").Select Application.DisplayAlerts = flase Sheets("Temp").Delete Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
    1 point
  23. السلام عليكم جرب ووافنا بالنتيجه Private Sub btn_search_Click() Set db = CurrentDb Set rs = db.OpenRecordset("select * from tbl_company ") Dim ser As String Me.txt_search.SetFocus ser = "*" & Me.txt_search.Text & "*" If IsNull(Trim(Me.txt_search.Value)) Then MsgBox "ادخل اسم الشركة للبحث عنها ", vbCritical, "البحث" Me.txt_search.SetFocus Exit Sub ElseIf IsNull(DLookup("[company_name]", "tbl_company", "company_name like '" & ser & "'")) Then MsgBox "هذه الشركة غير موجودة", 16, "بحث" ElseIf Not (Me.txt_search.Text = "") Then Me.sub_company.Form.Filter = "company_name like '" & ser & "'" Me.sub_company.Form.FilterOn = True Else Me.sub_company.Form.FilterOn = False Me.sub_company.Form.Refresh Me.txt_search = Null End If rs.Close Set rs = Nothing Set db = Nothing End Sub بالتوفيق
    1 point
  24. احسنت استاذي الفاضل وبارك الله فيك ومن باب اثراء الموضوع احيانا يحتاج المستخدم لتحديد عدد معين من السجلات في التقرير بعد استلام البرنامج ومن الطبيعي انه لا يستطيع التعديل على الكود لذا اقوم بعمل حقل رقمي في النموذج قيمته الافتراضية 20 او 18 او اي عدد مناسب وفي امر فتح التقرير استخدم بارامتر OpenArgs لتحميل قيمة الحقل الرقمي عندها يستطيع المستخدم تغيير عدد السجلات في الصفحة وفقا لحاجة العمل
    1 point
  25. حمل قاعدة البيانات المرفقة او حمل البرنامج من الرابط التالي https://www.mediafire.com/file/5zluqkxukwi6rda/age.accdb/file age.accdb
    1 point
  26. أحسنت استاذ السيد جعله الله فى ميزان حسناتك
    1 point
  27. يتم اطلاع العميل نعم يطلع على كل شيء من نموذج عرض العمليات ، بحيث يكون غير قابل للتعديل ، او حتى عرض تقرير بذلك بدون طباعة على كل حال الآن رجعنا الى منطقة الصفر اللي هي انك تريد تنفذ فكرتك اللي انت مقتنع بيها . وسبق نبهتك لهذه النقطة :
    1 point
  28. بارك الله بك أستاذ kanory تمت الإجابة و لك الشكر ....
    1 point
  29. حياك احمد ..... ممكن ولكن لو زوتنا بمرفق كمثال للعمل عليه
    1 point
  30. نعم كما تفضلت اخي احمد سوف يتم اختصار بعض الجداول اما الحركات فهي في جدول واحد ولكن يبدوا ان اخونا لم تعجبه فكرة استبعاد عمودي دائن/مدين لا نعلم فقد يضطر للانسحاب كعملية تكتيكية للدفاع عنهما
    1 point
  31. السلام عليكم ورحمة الله وبركاته اثراء الموضوع .. عن طريق المعادلة .. يوجد معادلتين .. في الشيت .. TAKSIM_TO COL.xlsm
    1 point
  32. ليست المرة الاولى التي اذكر بأنه ليس من الضرورة ادراج بيانات كبيرة (اكثر من 5000 صف) لأن الماكرو الذي يعمل على خلية واحدة يستطيع العمل على الوف الالوف منها Sub Row_to_column() Dim Ro%, I%, m%, K% With Sheets("MAIN") Ro = .Cells(Rows.Count, 1).End(3).Row .Range("C2", Range("E1").End(4)).ClearContents m = 2 For I = 2 To Ro Step 3 For K = 0 To 2 .Cells(m, 3).Offset(, K) = _ .Cells(I, 1).Offset(K) Next K m = m + 1 Next I End With End Sub الملف مرفق TAKSIM_TO COL.xlsm
    1 point
  33. بالفعل تقديم جميل يبرز طاقة الاكسس في العرض ، والباقي يعتمد على خيال المبرمج 🙂 جعفر
    1 point
  34. تفضل بعد اذن الأستاذ ابراهيم طبعاً ... فكان عليك تعيين زر لحسن عمل الكود , تفضل نسخة من المصنف1 1.xlsm
    1 point
  35. السلام عليكم ورحمة الله وبركاته احدث تاريخ لكل مخزن .. NEW 2021.xlsx
    1 point
  36. تبدأ من أول وجديد يجب ان تكون خطواتك علمية مدروسة خطوة خطوة وفقرة فقرة وتستمع بكل خطوة ، ولا يصلح العمل العشوائي اولا : تصميم الجداول بحاجة الى اعادة ضبط فني وعملي اليك بعض الملاحظات التي يجب العمل بها ، علما ان هذه الملاحظات عامة لا تخصك انت فقط تسمية الجدول : يجب ان تكون التسمية دليل على المحتوى ويفضل ان تبدأ التسمية بالبادئة tbl للجدول وللاستعلام qry وللنموذج frm وللتقرير rep فجدول الاصناف يمكن تسميته هكذا : tblItems أو tblAsnaf لاحظ حرف الكابتل عند بداية كلمة جديدة ، الحرف الكبير يساعد على قراءة الاسم بسهولة مثلا : tblAnnualBonuses tblAlshtrakatAlmonthya يمنع منعا باتا ترك مسافات بين الكلمات في التسمية الحذر من تسمية الكائنات والعناصر في قاعدة البيانات بكلمات محجوزة في اكسس وهذا رابط مساعد انظر الصورة ادناه حيث وقعت في المحذور في تسمية الحقلين عزيزي : هذه مقدمة ردا على تساؤلك الاخير فإن اعجبك سوف نستمر خطوة خطوة ونعمل تطبيق على كل خطوة
    1 point
  37. جزاكم الله خيرا اخوانى واساتذتى د حسنين ممكن نطمع فى شرح لهذه النقطه فى موضوع مستقل منك
    1 point
  38. سلسلة تعليم بور كويري الجزء التاسع كيفية تقسيم عمود إلى عدة اعمدة في البور كويري Split by Delimiter IN POWER QUERY
    1 point
  39. السلام عليكم ورحمة الله كود للبحث بالرقم القومى و تلوين الاسم Sub SearchData() Dim ws As Worksheet, Sh As Worksheet Dim lr As Long, i As Long Dim data Set Sh = Sheets("البحث") data = Sh.Range("C7").Value Application.ScreenUpdating = False For Each ws In Worksheets If ws.Name <> "البحث" Then lr = ws.Range("A" & Rows.Count).End(3).Row i = 8 Do While i <= lr If ws.Cells(i, 1) = data Then Sh.Range("C8").Value = ws.Cells(i, 2).Value Sh.Range("C9").Value = ws.Cells(i, 3).Value Sh.Range("C10").Value = ws.Cells(i, 4).Value Sh.Range("C11").Value = ws.Cells(i, 5).Value ws.Cells(i, 1).Interior.ColorIndex = 10 End If i = i + 1 Loop End If Next Application.ScreenUpdating = True End Sub
    1 point
  40. جزاك الله خيرا غير هذا السطر ws.Range("g2:g" & lr1).Copy wb.Worksheets(1).Range("g" & lr2) بهذا ws.Range("g2:g" & lr1).Copy wb.Worksheets(1).Range("g2")
    1 point
  41. 1 point
  42. و هذه المصفوفة من ملفات المساعدة لبرنامج SPSS تساعد فى تعريف انواع المتغيرات فى البرنامج بسهولة
    1 point
×
×
  • اضف...

Important Information