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

Amr Ashraf

الخبراء
  • Posts

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

  • تاريخ اخر زياره

  • Days Won

    10

كل منشورات العضو Amr Ashraf

  1. السلام عليكم ,, تم حل الاستفسار الثانى عن طريق الكود Private Sub Copy_Click() Dim lngSelected As Long, lngRows As Long, lngColumn As Long Dim myArray(1 To 9) For lngSelected = 0 To Me.ListBox1.ListCount - 1 If Me.ListBox1.Selected(lngSelected) Then lngRows = lngRows + 1 For lngColumn = 1 To 2 myArray(lngColumn) = Me.ListBox1.List(lngSelected, lngColumn - 1) Next lngColumn Worksheets("يومية الانتاج").Range("C" & Rows.Count).End(xlUp).Offset(1).Resize(, 2) = myArray End If Next lngSelected MsgBox "Done" Me.Process.Value = True Me.TextBox1.SetFocus Me.TextBox1.Value = "" End Sub شكرا للأخ @حسونة حسين
  2. جزاك الله خير أخى الكريم @حسونة حسين.. فى انتظار أحد الأخوة يفيدنا فى الاستفسار الثانى
  3. بارك الله فيك , هو المطلوب ولكن ينقصه رؤوس الاعمدة فقط .
  4. مشكور اخى الكريم على المشاركة , هل يمكنك ارفاق كود كمثال للمطلوب ؟ جزاكم الله خير
  5. السلام عليكم ,, كل عام وحضراتكم بخير عندي استفسارين فى الاكسيل بما انه ليس من مناطق قوتى 😅 واتمنى سعة الصدر . الملف المرفق به 2 شيت (Data,يومية الانتاج) وبه يوزر فورم المطلوب منه البحث بجزء من الكلمة فى شيت Data فى نطاق محدد متغير بناء على اختيار RadioButton فإذا كان الهدف من البحث هو ايجاد اسم عامل فيتم البحث فى نطاق اسمه "EmpData" فى شيت Data واذا كان الهدف ايجاد اسم مرحلة فيتم البحث فى النطاق "Process" , ثم اظهار نتيجة البحث فى Listbox فى اليوزر فورم السابق الاشارة اليه. قمت بعمل الكود التالى : Private Sub TextBox1_Change() Dim searchData As Range Dim cell As Range Dim i As Long 'Determine which search data to use based on radio buttons Select Case True Case Process.Value = True Set searchData = ThisWorkbook.Worksheets("Data").Range("Data") Case Emp.Value = True Set searchData = ThisWorkbook.Worksheets("Data").Range("EmpData") Case Else 'No radio button is selected Exit Sub End Select 'Clear the ListBox1 ListBox1.Clear 'Find matching values and add them to ListBox1 For Each cell In searchData If InStr(1, cell.Value, TextBox1.Value, vbTextCompare) > 0 Then ListBox1.AddItem cell.Value End If Next cell 'Select the first item in the ListBox1 If ListBox1.ListCount > 0 Then ListBox1.Selected(0) = True End If End Sub الكود يبحث بنجاح ولكن يظهر عمود واحد فقط فى نتيجة البحث على عكس المطلوب وهو اظهار عدد اعمدة متغيرة طبقاً للنطاق الذى يتم البحث فيه . مثال للتوضيح : فى الصورة المرفقة قمت بالبحث عن عامل يسمى حسن , النتيجة كانت كالتالى : قام بعرض عمود واحد وبه الاسم المطلوب , ولكن المطلوب عرضه هو السطر كامل الذى يحتوى على حسن وبه 5 اعمدة , وبالتالى النتيجة المرجوة ينبغي ان تكون كالتالي : المطلوب عرض النتيجة بهذا الشكل فى Listbox . وتختلف الاعمدة فى حالة البحث عن المرحلة فتكون بالشكل التالي : الاستفسار الثاني : آلية العمل كما رسمتها انى سأقوم بالبحث عن اسم العامل واختياره من القائمة بضغطتين وبذلك يتم نقل "كود العامل" و "اسم العامل" من النتيجة المختارة من القائمة الى السطر الحالي فى الشيت الآخر وهو شيت يومية الانتاج , ثم يتم اليحث عن مرحلة وأقوم باختيار المطلوبة فيتم نقل "كود المرحلة" و "اسم المرحلة" و "سعر المرحلة" الى الاعمدة المناسبة فى نفس السطر وبالتالى تكون النتيجة المطلوبة بعد عمليتين البحث كالتالي : ملحوظة : يمكننى عمل الموضوع فى الاكسيس فى 3 دقائق ولكني ابحث منذ 3 ساعات لرغبتى فى عمله على الاكسيل .😅 اعذروني على الموضوع الطويل , جزاكم الله خير🥰 Search.xlsm
  6. السلام عليكم ,, مبارك عليكم أخي موسى وتستاهلها , أعانكم الله
  7. بعد اعادة التجربة الكود دائما بيقرأ الدولة United States وخدعنى لأن بالفعل اللغة عندى English - United States 😄 تعديل : عرفت سبب المشكلة الكود بيجيب اللغة الخاصة بالأوفيس وليس الويندوز ولذلك عند تغيير لغة الويندوز لم تظهر التغييرات وظلت United States كما هى . الحل الخاص بى باستخدام الاكسيس لم ينفع فى هذه الحالة ولذلك أحد الاخوة ان شاء الله سيقدم الحل . فى حالة عدم وجود الحل بالاكسيس يمكننى برمجة اداة صغيرة لانجاز المطلوب . بالتوفيق
  8. انا جربت على اللغة اللى عندى بالكود التالى 1033 : Private Sub Form_Open(Cancel As Integer) Dim lngCode As Long lngCode = Application.LanguageSettings.LanguageID(msoLanguageIDUI) If lngCode = 1033 Then DoCmd.OpenForm "form2" Else MsgBox "íÑÌì ÊÛíÑ ÇááÛå Çáì :" & vbNewLine & GetTxt(4105) & vbNewLine & " ÇááÛÉ ÇáÍÇáíÉ åì :" & vbNewLine & GetTxt(lngCode), vbDefaultButton1, "ÊäÈíÉ" End If End Sub وكانت النتيجة كالتالى : تم فتح النموذج رقم 2 كما طلبت انت .
  9. شغال عندى كويس المرفق .. ممكن احد الاخوة يجربه ويفيدنا بالنتيجة ؟
  10. الحمدلله على سلامتك استاذنا الغالى نورت المنتدى
  11. استاذنا الفاضل ابو خليل بارك الله فى عمرك , نعم كما فهمت يحدد المستخدم الوحدة أياً كانت كبرى او صغرى او متوسطة ويقوم البرنامج بترجمتها الى عدد الوحدات الصغرى وتسجيلها فى الجدول بالوحدة الصغرى , وعند استدعاء الرصيد بالاعتماد على جدول الحركات يكون بالوحدة الصغرى وفى التقرير يكون من 3 أعمدة وحدة صغرى , وحدة متوسطة , وحدة كبرى او اياً كانت المسميات .. وبهذا قصدت انه فى هذه الحالة الموضوع اسهل من طريقة الاستاذ صاحب الموضوع . ومن ناحية الباركود فكرة حضرتك افضل وبالفعل هتوفر خطوة تحديد الوحدة عند عمل الفاتورة وانا كان قصدى اوفر عليه تعدد الباركود ايضاً توفير خطوة ولكن فكرتك افضل من الناحية العملية , اعذرنى لم اطبق على الباركود من قبل ومنكم نتعلم حفظكم الله
  12. تفضل التعديل . الاكواد ممكن جعلها افضل من ذلك ولكن انا بعملها وانا فاتح عين واحدة هنام 😆 ولذلك فلنكتفى بها هكذا للوقت الحالى واذا اردت تحسينها يمكننا ذلك فى اى وقت . Language 2.accdb
  13. السلام عليكم .. رأيك سليم 100% دائما يفضل استخدام الوحدة الاصغر كمقياس لرصيد المخزن وبما ان عملى كمسئول تخطيط ومتابعة عامة جزء منه الرقابة على المخازن فكان الحل العملى للمخازن بعد تجارب هو ترصيد الوحدات الاصغر وعرض باقى الوحدات فى التقارير فقط عن طريق معادلات تعتمد على رصيد القطعة وتحويلها الى عبوات مثلا الكرتونة الداخلية للصنف (تحتوى على 10 قطع ) و الكرتونة الخارجية للصنف (تحتوى على 20 كرتونة داخلية أى 200 قطعة من الصنف) . وبالتالى نصيحتى لصاحب الموضوع @hougar هوا ان يكون الرصيد بالقطعة او الوحدة الواحدة فقط .. وفى جدول الاصناف قم بزيادة عمود لعدد الوحدات فى الكرتونة مثلا وعدد الوحدات فى الحبة وعددها فى اى وسيلة قياس اخرى الخ ... وبالتالى عند الاستعلام عن الرصيد قم بتحويل الرصيد فى استعلاماتك كما تريد وبالتالى سيكون الباركود الخاص بالكرتونة هو نفس الباركود الخاص بالصنف ويتم ذكر الرصيد من كل وحدة بالاعتماد على رصيد الوحدة الصغرى .. وبهذا ستتجنب الكثير من التعقيد وزيادة العمل للمستخدم .. هذا رأيى فقط .. بالتوفيق
  14. السلام عليكم ,, لمعرفة ذلك يجب عليك استخراج كود اللغة او ما يسمى بLCID عن طريق الكود التالى : Application.LanguageSettings.LanguageID(msoLanguageIDUI) الخطوة التالية هو معرفة اللغة صاحبة الكود وذلك عن طريق احضارها من النت ولكن ماذا اذا كان الجهاز غير متصل بالنت ؟ فقمت باختصار الامر وعمل جدول باكواد اللغات ويتم احضارها من الجدول وعرضها فى رسالة , النتيجة : مرفق قاعدة البيانات . بالتوفيق Language.accdb
  15. لو قاعدة البيانات واحدة بين الجهازين ممكن يومياً يحدث التاريخ من الجهاز الرئيسى وحفظه فى جدول مشترك والجهاز التانى يحضره بأى طريقة من الجدول المشترك ده . بالنسبة للوقت هتبقى صعب شوية لأنك هتحتاج حدث On Timer فى الجهاز الاول يحدث الوقت فى الجدول كل دقيقة ولو الجهاز ده اتقفل الوقت فى الجدول مش هيكون مظبوط وبالتالى لو ممكن تستغنى عن جزئية الوقت والاكتفاء بجزئية التاريخ يبقى افضل . أو فيه حل اصعب شوية وهو احضار الوقت والتاريخ من الانترنت مباشرة دون الحاجة الى الجهاز الاول لحفظ الوقت والتاريخ المظبوطين بس طبعا محتاجة نت على الاجهزة وثانيا وقت عشان تتنفذ الطريقة دى وتتجرب . بالتوفيق
  16. على سبيل التجربة جرب ملف الاكسيس ده بدلاً من السابق ووافنى بالنتيجة . datex.rar
  17. كده المشكلة فى جهازك .. جرب ترجع تنسيق التاريخ فى كود الاكسيس dd-mm-yyyy وفيه حاجة غريبة تانية المفروض انتا تنسيقك dd-mm-yyyy فى الاعدادات ولكن الاداة لن تقبل الا mm-dd-yy ايه السبب مش عارف بس هنجرب ان شاء الله بعد عودتى من العمل.
  18. @محمد احمد لطفى عملتهالك دلوقتى عشان مش ضامن وقتى بكرة 🙂 مرفق ملفك الاكسيس مع بعض التعديلات : تم الاستغناء عن التنسيق المعين للتاريخ mm/dd/yyyy واستبدال الطريقة بحيث تعتمد الاداة على تنسيق التاريخ للجهاز نفسه وبالتالى اذا اردت تغيير التاريخ اكتبه بنفس الصيغة الخاصة بالجهاز المستخدم وكذلك الوقت وتم الابقاء على دالة استبدال "ص" و "م" الى "AM" و "PM" تجنباً للاخطاء ولكن اعتقد اذا تخلصنا منها ايضا لن تسبب مشاكل طالما انك تستخدم صيغة الوقت والتاريخ الخاصة بالجهاز . ومرفق الاداة المستخدمة ولن تطلب صلاحيات المدير للجهاز وتمت التجربة وتعمل بنجاح بحمد الله . جرب ووافنى بالنتيجة . Amr Ashraf Date-Time Changer.zip
  19. السلام عليكم ,, واضح انك ملقيتش الحل لذلك بكرة ان شاء الله اصمملك الاداة اللى تغير الوقت والتاريخ ونجرب ..
  20. والاداة دى كانت بتشتغل من غير صلاحيات الادمن ازاى ؟ اظن انها كانت بالفعل محددة انها دايما تشتغل كمسئول بدون تدخل منك , ممكن اذا تيسر لى الوقت ان شاء الله احاول اعملك اداة شبيهة بدون مشكلة تبديل الشهر مكان اليوم .. فى اقرب وقت بإذن الله خلال الايام القادمة اذا لم يفيدك احد الاساتذة
  21. أها فهمت الفكرة .. يعنى الطريقة موجودة ولكن الفكرة عدم اظهار المتصفح .. للأسف لم اجرب تكامل الواتس كثيراً وسأتابع الموضوع لأستفيد معك 😊 . ملحوظة : الاستاذ سيمو باكس اعتقد كان صمم اداة دوت نت للمساعدة فى موضوع ارسال الواتس ابحث فى المنتدى اذا لم تشاهدها من قبل . بالنوفيق
×
×
  • اضف...

Important Information