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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      9

    • Posts

      9,814


  2. أبو عبدالله الحلوانى
  3. حسونة حسين

    حسونة حسين

    أوفيسنا


    • نقاط

      6

    • Posts

      1,047


  4. Moosak

    Moosak

    أوفيسنا


    • نقاط

      6

    • Posts

      1,997


Popular Content

Showing content with the highest reputation on 21 ماي, 2022 in all areas

  1. السلام عليكم ورحمة الله وبركاته وددت أن أساهم بالمنتدي - مع قلت ذات اليد - اقصد العلم - - ببعض الأفكار البسيطة والخفيفة لعل أحدا يفيد منها بشىء فتصيبني منه دعوة بظهر الغيب - فيرد عليه ملك "آمين ولك بمثل" ستكون ان شاء الله وقدر متفرقة علي قدر سعة الوقت والله المستعان. فكرة اليوم: كما هو بالعنوان تمرير بيانات من التقرير الي النموذج - او من نموج الي نوذج آخر احيانا تدعو الحاجة الي حساب بعض الأرقام بالتقرير او بالاستعلام دون النموذج - ونحتاج الي هذه الأرقام المحسوبة لنستخدمها بنموذج آخر لاستعمالها بعمليات حسابية أخري أو حتي عرضها فقط من هنا كانت الفكرة: أولا- ننشئ هذا الاجراء العام - والذي ستتلخص مهمته في ثلاث أمور 1- التحقق من كون الفورم المرر اليه البيانات علي قيد الحياه -يعني مفتوح ام لا- 2- استقبال البيانات من التقرير أو النموذج 3- تمريرها الي النموذج الأخر. وهذا هو: Public Sub GetInfoRep(Frm As String, T1rp As Variant, T2rp As Variant, _ T1Fm As String, T2Fm As String) 'Frm Form name 'T1rp Text1 on report 'T2rp Text2 on report 'T1Fm Text1 on Form 'T2Fm Text2 on Form '================================ 'Test if form is open before pass data to it If CurrentProject.AllForms(Frm).IsLoaded = True Then Forms(Frm).Controls(T1Fm) = T1rp Forms(Frm).Controls(T2Fm) = T2rp End If End Sub ثم نستدعيه عند اغلاق التقرير او النموذج هكذا GetInfoRep "Form1", Me.TxDays, Me.TxSalary, "Text2", "text4" والنتيجة: تشاهدونها بالمرفق ودمتم passDataToForm.rar
    4 points
  2. 4 points
  3. ماشاء الله اخي الحلواني عمل جميل بارك الله فيكم اسمحلي من باب اثراء الموضوع باضافة طريقتين لنقل قيمة حقل او مجموعة حقول من نموذج الى اخر الطريقة الاولى من خلال تحميل قيمة حقل او عدة حقول دفعة واحد في زر امر فتح من خلال OpenArgs مع مراعات الفصل بين الحقول عند تحميل اكثر من حقل باستخدام &"|"& ليكون الامر DoCmd.OpenForm "frm_item", , , , acFormAdd, , KNUM & "|" & KTEXT knum و ktext هي الحقول المطلوب تحميل قيمتها ثم في النموذج المستهدف نستخدم الامر Dim k As Variant k = Split(Me.OpenArgs, "|") Me.KNUM.Value = k(0) Me.KTEXT.Value = k(1) الطريقة الثانية باستخدام TempVars وايضا نستخدم &"|"& للفصل بين الحقول المطلوبه لنتمكن من فصلها في النموذج المستهدف Dim x As TempVars Dim w As Variant w = Val([TxDays]) & "|" & Val([TxSalary]) TempVars("x") = w وفي النموذج المستهدف نضع الامر Dim a As Variant a = Split(TempVars!x, "|") Me.Text2 = a(0) Me.Text4 = a(1) طرق بسيطة من زمن الطيبين ولا ترتقي لعملكم ولكن احببت ان اشاركم استاذي تحياتي
    3 points
  4. وعليكم السلام ورحمة الله وبركاته عدل السطر ThisWorkbook.SaveCopyAs "work2 " الى ThisWorkbook.SaveCopyAs work2 بمعنى ازل علامتى التنصيص ""
    3 points
  5. ما ذا تعني هذه ..... هل وجدت الحل أم ماذا ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ على العموم تفضل جرب الشيفرة هذه ...... x = NumX xx = Expr1 r = DCount("[numx]", "XtremQ", "[numx]='" & x & "'" & " and [expr1]=" & xx) If r > 0 Then If MsgBox(" هل تريد تكرار حفظ السجل ؟ ", vbYesNo, " تنبيه ") = vbNo Then Me.Undo Exit Sub Dim RS As Object Set RS = Me.Recordset.Clone RS.FindFirst "[numx]='" & x & "'" & " and [expr1]=" & xx If Not RS.EOF Then Me.Bookmark = RS.Bookmark End If End If
    2 points
  6. وعليكم السلام 🙂 في احد برامجي ، نقرأ من الباركود الاحادي ، و QR ، و الجوازات والهويات MRZ ، كلها من حقل واحد ، وكما ترى فعدد الحقول كثيرة في النموذج ، وكلما يكون التركيز على حقل ، يصبح لونه اخضر (حتى يعرف المستخدم المؤشر موجود على اي حقل) ، ولكن ، على حدث "عند فقد التركيز" لكل حقل و زر في في النموذج ، يكون الكود لإعادة التركيز على الحقل الاول ، حقل ادخال الباركود . ولا توجد طريقة خاصة لمعرفة اذا كان ادخال المعلومة كان باليد او بالباركود ، إلا بحساب الوقت الذي اخذه ادخال المعلومة ، لذا أنصحك اتباع الطريقة اعلاه 🙂 جعفر
    2 points
  7. تفضل اخى الحسام هذا الموقع به شرح لكيفيه جلب البيانات عن طريق السيلنيوم سوف يفيدك في طلبك
    2 points
  8. اخي استخدم دالتي المسثحدثة VLOOK_Pic1 التي تم نشرها في 2009-وهذا تطبيق لها علي ملفك نموذج.rar وهذا رايط موضوع دالـة ( VLOOK_Pic1 ) لعـرض الصـور من أى نـوع و أى حجـم
    2 points
  9. السلام عليكم ورحمة الله استخدم الكود التالى Sub MinMax() Dim arr() On Error Resume Next ReDim Preserve arr(200) For Each c In Range("I2:I200") If c.Value >= 1000 And c.Value <= 3000 Then arr(p) = c.Value p = p + 1 End If Next X = WorksheetFunction.Max(arr) Y = WorksheetFunction.Min(arr) Sheet2.TextBox1.Value = X Sheet2.TextBox2.Value = Y End Sub
    2 points
  10. هذا هو الذى اعمل عليه حاليا لقد جربت هذا الكود لكنه فشل معي مش عارف اذاى اذيف المتغيرات داخل كود ال SQL Dim Ls1 As String Dim Ls2 As String Ls1 = Me.List1 Ls2 = Me.List2 strSQL1 = "INSERT INTO Ls2 ( num, age, school, adress ) " & vbCrLf & _ "SELECT Ls1.num, Ls1.age, Ls1.school, Ls1.adress " & vbCrLf & _ "FROM Ls1 " & vbCrLf & _ "WHERE (((Ls1.id)=[Forms]![form]![Ê]));" strSQL2 = "DELETE Ls1.id, Ls1.num, Ls1.age, Ls1.school, Ls1.adress " & vbCrLf & _ "FROM Ls1 " & vbCrLf & _ "WHERE (((Ls1.id)=[Forms]![form]![Ê]));" DoCmd.OpenQuery strSQL1 DoCmd.OpenQuery strSQL2 MsgBox Buttons:=vbInformation, Prompt:="Done", Title:="Notes"
    2 points
  11. بعد إذنك أستاذي @عمر ضاحى لدي فكرة تغنيك عن عمل الكثير من الاستعلامات 🙂 هو موديول واحد فيه جملة SQL وتجعل أسماء الجداول عبارة عن متغير كل مرة يتغير حسب الاسم اللي في القائمة المنسدلة . وبعدها يشغل جملة ال SQL حسب المعطيات 🙂 طبعا هذا مع توافق أن جميع أسماء الحقول متشابهة في الجداول الثلاثة ..
    2 points
  12. بعد البحث وجدت لك هذا الكود أخي @alsihran يحضر لك بقية الأصوات 🙂 'API Declaration Private Declare PtrSafe Function MessageBeep& Lib "user32" (ByVal wType As Long) 'Enumeration of the beep types Public Enum BeepTypes MB_OK = &H0& MB_ICONASTERISK = &H40& MB_ICONEXCLAMATION = &H30& MB_ICONHAND = &H10& End Enum Public Function BeepType(lSound As BeepTypes) As Long ' Function to return BeepType = MessageBeep(lSound) End Function Sub TestTheBeep() ' Play the beep BeepType MB_ICONHAND ' BeepType MB_ICONEXCLAMATION ' BeepType MB_ICONASTERISK ' BeepType MB_OK End Sub الدالة الأخيرة تختبر لك الأصوات الأخرى TestTheBeep()
    2 points
  13. افتح التقرير في عرض التصميم وزد طول جزء التفاصيل أو جزء الذيل أو جزء الرأس حسب طبيعة عرض البيانات لديك، بحيث يساوي مساحة صفحة فارغة عند الطباعة وبهذا الشكل تحصل علي صفحة فارغة وصفحة ملأي
    2 points
  14. نعم اخي الكود يكيف نفسة حسب مساحة الجدول أيا كانت انسخ Module1 and Module2 الي ملفك علي شرط توجية الازار الي نفس الماكروهات وأيضا الشرط الاهم هو ان أسماء زري المعاينة قبل الطباعة و الطباعة أسمائهم علي التوالي Bt_2 and Bt_3 وان تكون الازرار من عناصر تحكم النموذج وليس من عاصر تحكم Activex او غير أسمائهم حسب ما تصنع الازرار في الكود التالي مع ملاجظة عناويين خلايا من يوم الي يوم في الكود هذه الاسطر التي يجب ان تصحح خسب ما تفعل From_Day = Range("N5") To_Day = Range("O5") و If Application.Caller = "Bt_2" Then و If Application.Caller = "Bt_3" Then في الكود التالي Sub Print_Preview_And_Print() ' From_Day = Range("N5") To_Day = Range("O5") ScreenOff For Num_Day = From_Day To To_Day If Application.Caller = "Bt_2" Then Call Hide_Rows(Num_Day) ActiveSheet.PrintPreview End If If Application.Caller = "Bt_3" Then Call Hide_Rows(Num_Day) ActiveSheet.PrintOut End If Next ActiveSheet.Cells.EntireRow.Hidden = False ScreenOn ' End Sub
    2 points
  15. السلام عليكم في هذا الموضوع شد انتباهي استخدام like مع علامة النجمة في معيار دالة Dlookup وهو استخدام غير مألوف لاسباب نبينها في ثنايا المشاركة بداية علامة النجمة تستخدم بديلا عن الاحراف او الارقام الغير معروفة في الحقل ونستخدمها عندما نرغب في البحث او الفلترة بجزء من قيمة الحقل ومن المعروف ان هذه الدالة ترجع قيمة حقل واحد استنادا إلى المعلومات المحددة في المعايير فاذا وجدت القيمة في اكثر من حقل ترجع القيمة الاولى وبالتالي لو ان لدينا عدة اصناف لها الارقام التالية 100055556600 100055556601 100055556611 100155556600 100055556500 فعند كتابة جزء من قيمة الحقل مثلا 10005 او 0555566 او 5555 الخ هنا ستعود الدالة بقيمة اول حقل طابق الجزء من المعيار لذا يجب تحديد معايير فريدة تضمن أن تكون قيمة الحقل التي يتم إرجاعها صحيحة والا فقد نحصل على القيمة غير المرغوبة واعتقد ان السبب لهذ الاستخدام ⬇️ ومن وجهة نظر مبرمج سابق ان الاجدى ان يكون لكل منتج رقم باركود يمثل رقم فريد وبالتالي يمكن استخدام الدالة بمعايير تحقق الهدف الذي وضعت له وحتى لو كانت هناك علاقة بين هذه المنتجات فتوجد حلول اخرى اذا اردنا العمل وفق قواعد صحيحة ولكن هذا امر اخر الموضوع يمثل وجهة نظر غير ملزمة ولا يقصد منه النقد والله الموفق
    2 points
  16. Private Sub CommandButton1_Click() ActiveCell.Value = dpFrom.Value(1) ActiveCell.Offset(1).Value = dpFrom.Value(2) End Sub
    2 points
  17. السلام عليكم ورحمة الله وبركاته سبق وان عملت امثلة وبرامج مصغرة ومختصرة للمبيعات والمشتريات ، ويمكن من خلال البحث في المنتدى تجدونها .وهذا العمل يختلف نوعا ما عن ما سبق . يسعدني ان ارفق اخر تطوير لعمليات البيع والشراء والمخازن ومنهجي الدائم في جميع مشاريعي هو استخدام الجدول الواحد في هذا العمل المرفق تم تحقيق التالي : 1- العمل المرفق هو زبدة النظام وان شئت نسميه المحرك الأساسي ، ويمكن ان يبنى عليه جميع التقارير التي تخطر على البال بلا استثناء 2- يشتمل على عمليات البيع وعمليات الشراء واختيار المخزن المناسب 3- يشتمل على عمليات المرتجع من المبيع او المشتريات على فرضية ان مرتجع البيع هو في الحقيقة شراء والعكس صحيح 4- امكانية البيع والشراء بالنقد والآجل 5- احتساب الضريبة في المبيعات . فقط 6- عملية تسجيل الاصناف بطريقة احترافية 7- استخراج ارصدة الاصناف حسب المخازن عند كل حركة 8- سهولة في الاستخدام ( جميع عملياتك بنقرة واحدة ) 9- المخرجات لم اعملها وانما تركتها لكم .. علما انه يمكن استخراج : - ارصدة المواد - الدائن والمدين والأرباح - الكاش والآجل للجميع او حسب كل عميل وأشياء اخرى يمكن استخراجها ستكتشفونها عند فحص وتجربة المثال اتمنى ان تجدوا فيه الفائدة .. ولا تنسوني من دعوة صالحة بظهر الغيب buyAsale1.rar
    1 point
  18. AutoFilter with 34 Dynamic Filter Criteria اتوفلتر ب 34 دينامك شرط كما لم تراه من قبل !!!_XlDynamicFilterCriteria.xlsb
    1 point
  19. السلام عليكم ورحمة الله وبركاته اسعد الله الجميع بالخير والسعادة اقدم لكم هذا العمل المتواضع حسب الامكانيات وهو عبارة عن حاسبة العمر مضاف لها محول التاريخ وتقبلو فائق التحية الحاسبة مع محول التاريخ.xlsm
    1 point
  20. وعليكم السلام 🙂 تستطيع استعمال التسمية بطريقتين: 1. . و 2. . ثم تختار : . جعفر
    1 point
  21. ممكن شرح مفصل للمطلوب لو تسمح فقد قمت بتنزيل المرفق ولم افهم شىء
    1 point
  22. وعليكم السلام 🙂 هذا الرابط فيه مجموعة من المواضيع تخص طلبك جعفر
    1 point
  23. شكرا أخي العزيز @أبو عبدالله الحلوانى 🙂 نفعنا الله بك ، وزادك الله من واسع فضله وفتح لك أبواب الخيرات والبركات والأرزاق . 🤲
    1 point
  24. الان يعمل حسب الشرط الذي تختاره اوقفت التنسيقات لشيت اكسل لانها توقف البرنامج عندي ..يمكنك اعادتها T2Q - Copy.accdb
    1 point
  25. نعم ، وبجميع الاشياء اللي قلتها ، ولكن عن طريق الاستعلام جدا جدا اسهل , ويستطيع الجميع الاستفادة منها 🙂 اليك بعض روابط استيراد ملفات الاكسل الى الاكسس عن طريق SQL الكود : . . . . . . جعفر
    1 point
  26. الكود اتظبط جزاك الله خيرا استاذ hassona229
    1 point
  27. صمت الحكماء وسمت العلماء ☝️ قالت العرب "الصمت حكمة وقليل فاعله" وانا ايضا سالتزم الصمت ليس عن حكمة او علم وانما لأمر ما جدع قصير أنفه عجبتُ حتى غمّني السكوتُ ... صِرْتُ كأنّي حائرٌ مبهوتُ كذا قضى اللَّهُ فكيف أصنَعُ ... الصمتُ إن ضاق الكلامُ أوسعُ مع الاعتذار للجميع 🌹
    1 point
  28. السلام عليكم 🙂 استعمل هذا الاستعلام كقالب ، والذي يمكن مشاهدته في وضع SQL فقط : SELECT T1.* FROM [Excel 8.0;HDR=YES;IMEX=1;Database=C:\temp\ABC.xls].[Sheet1$A1:DA65536] AS T1; . اذهب الى مجلد ملف الاكسل ، وانسخ المسار مع اسم الملف ، ثم ضع المسار مكان المسار في الاستعلام السابق ، فيصبح الاستعلام السابق هكذا : SELECT T1.* FROM [Excel 8.0;HDR=YES;IMEX=1;Database=D:\Documents\Downloads\MyBackup\تخصصات المدرسين.xls].[Sheet1$A1:DA65536] AS T1; . الآن شاهد الاستعلام في وضع تصميم : . فيصبح . احذف الحقل الموجود *.T1 ، وانزل الحقلين ، فيصبح الاستعلام . ثم قم بتبديل الاستعلام ، الى استعلام الحاقي . فتختار الجدول الذي تريد ان تلحق البيانات فيه . ثم تختار اسماء الحقول التي تريد ان تلحق بيانات حقول الاكسل بها . . والآن لى مشكلتك ، وهي ، انت اضفت اسماء حقول ملف اكسل ، ولكنها لا توجد في ملف الاكسل !! لما يعطيك الاستعلام اسم الحقل مثل: Expr1 ، فهذا معناه ان اسم الحقل ، مثلا [حالة الكتاب] و السلسلة غير موجودين في قائمة ملف الاكسل اعلاه !! لذا يجب عليك ان تحذف جميع هذه الحقول ، تتأكد ان القائمة تضم اسماء الحقول : . وقد قام اخي @rockjone33 بتصليح هذا الاستعلام في مرفقه 🙂 جعفر ** تم عمل تغيير على هذه المشاركة ، بسبب هذه المشاركة.
    1 point
  29. استاذنا ومعملنا الكبير / @أبو عبدالله الحلوانى مبدع دائما كثيرا نحتاج مثل هذا العمل فى كثير من الامور جزاك الله كل خير ـ وبارك الله فيك وجعله فى ميزان الحسنات ورحم الله والديك لى ملوحظة صغيرة جدا جدا على هذا العمل الجميل وهو : عند فتح التقرير تظهر رسالة بان عرض التقرير كبير فيلزم تصغيره ـ هذا للمبتدئين مثل حالى لا تزعجهم هذه الرسالة فتح الله عليك وبارك فى علمك ورزقك
    1 point
  30. تفضل أخي الفاضل لأنه يصعب الاشتغال على التخمين حاولت أعملك المثال ده إذا كان هو المطلوب ممكن نكملوا مع بعض ان شاء الله 1) الورقة 1 يتم جلب صورة المنتج وبياناته من الجدول الرئيسي في شيت 2 بالمعادلات من خلال إختيار رقم الكود من القائمة المنسدلة . المثال الثاني: 2) الورقة 2 يتم جلب صورة المنتج بمجرد كتابة رقم الكود في العمود A في الجول الرئيسي https://www.mediafire.com/file/p5rbjkfkg8cfjq8/نموذج+2.rar/file
    1 point
  31. نعم كلامك صحيح ، اذا اردنا ان نرى جميع الجداول ، ولا نرى جداول النظام ، ولكن ، طريقتي في تسمية الجداول هي: للجداول المرتبطة بالشبكة: tbl_abc للجداول المحلية: loc_tbl_abc للجداول المؤقته: tmp_tbl_abc و نادرا ان اسمي احد الجداول باسم جدول النظام مثل Msys_abc (في الواقع اني ابداً لم اعمل هذا النوع من الجداول) ، فلا اريد ان يكون هناك مستخدم شاطر يعرف يبحث في الانترنت ويعرف كيف يظهر هذه الجداول ، ويحرق الاخضر واليابس !! فالكود كان معمول حتى يستخرج تسميات/اسماء حقول الجداول التي تبدأ بـ _tbl ، ولم اغير فيه🙂 جعفر
    1 point
  32. أحسنت استاذ عمر بارك الله فيك وجزاك الله خير الثواب بالتأكيد موضوع هام ومفيد للجميع
    1 point
  33. تفضل أخي @hougar جرب هذا : DLookUp("[Barcode]","[products]","[Barcode] Like '*"& Me.srchb &"*'")
    1 point
  34. الكود يعمل وحسب ماطلبت مطابقة / وفلترة/ ترحيل المكرر بين القائمتين مع الصف ( بشرط ان تكون القائمة في العمود A هي الاساس) الى ورقة اخرى اما اذا كنت تقصد ان لايكون اللصق في اخر صف فارغ جرب المرفق في ورقة3 111112.xlsm
    1 point
  35. هذا معناه ان الكود لا يستطيع رؤية مسار التخزين في السيرفر ، فنصيحتي هي عمل مجلد داخل السيرفر ، ولنسمية Temp مثلا ، فيصبح مسار السيرفر: \\192.168.20.1\Temp\123.mdb . وللعلم ، فامر Xcopy هو: Xcopy "Source" "Destination" يعني في الكود حقك المصدر هو \\192.168.20.1\123.mdb ومكان التخزين هو C:\Users\" & Environ("Username") & "\Desktop\123.mdb" Call Shell("xcopy /y \\192.168.20.1\123.mdb C:\Users\" & Environ("Username") & "\Desktop\123.mdb", 1) . ان شاء الله ما تكون قالبهم جعفر
    1 point
  36. السلام عليكم ورحمة الله وبركاته احبتي الكرام الرجاء كود ترحيل بيانات مشروط بشكل عمودي ومرفق الملف وشاكرا لجهودكم .. ولكن هذا ما اعتدناه بمنتداكم الكريم. ترحيل عمودي مشروط.rar
    1 point
×
×
  • اضف...

Important Information