-
Posts
946 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
10
Amr Ashraf last won the day on أغسطس 1 2022
Amr Ashraf had the most liked content!
السمعه بالموقع
440 Excellentعن العضو Amr Ashraf
- تاريخ الميلاد 15 ينا, 1992
البيانات الشخصية
-
Gender (Ar)
ذكر
-
Job Title
Senior Planner
-
البلد
Egypt
-
الإهتمامات
Programming
اخر الزوار
3,860 زياره للملف الشخصي
-
كيف يمكن اضافة نتائج بحث الى Listbox فى UserForm
Amr Ashraf replied to Amr Ashraf's topic in منتدى الاكسيل Excel
السلام عليكم ,, تم حل الاستفسار الثانى عن طريق الكود 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 شكرا للأخ @حسونة حسين -
كيف يمكن اضافة نتائج بحث الى Listbox فى UserForm
Amr Ashraf replied to Amr Ashraf's topic in منتدى الاكسيل Excel
جزاك الله خير أخى الكريم @حسونة حسين.. فى انتظار أحد الأخوة يفيدنا فى الاستفسار الثانى -
كيف يمكن اضافة نتائج بحث الى Listbox فى UserForm
Amr Ashraf replied to Amr Ashraf's topic in منتدى الاكسيل Excel
بارك الله فيك , هو المطلوب ولكن ينقصه رؤوس الاعمدة فقط . -
كيف يمكن اضافة نتائج بحث الى Listbox فى UserForm
Amr Ashraf replied to Amr Ashraf's topic in منتدى الاكسيل Excel
مشكور اخى الكريم على المشاركة , هل يمكنك ارفاق كود كمثال للمطلوب ؟ جزاكم الله خير -
السلام عليكم ,, كل عام وحضراتكم بخير عندي استفسارين فى الاكسيل بما انه ليس من مناطق قوتى 😅 واتمنى سعة الصدر . الملف المرفق به 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
-
خبير جديد تم اضافته لفريق عمل الموقع ، الاخ موسى @Moosak
Amr Ashraf replied to jjafferr's topic in قسم الأكسيس Access
السلام عليكم ,, مبارك عليكم أخي موسى وتستاهلها , أعانكم الله -
بالتوفيق أستاذى الكريم
-
شاركوني في تهنىة انفسنا بخبير جديد ،أخونا ابو احمد AbuuAhmed
Amr Ashraf replied to jjafferr's topic in قسم الأكسيس Access
الف مبروك بالتوفيق -
بعد اعادة التجربة الكود دائما بيقرأ الدولة United States وخدعنى لأن بالفعل اللغة عندى English - United States 😄 تعديل : عرفت سبب المشكلة الكود بيجيب اللغة الخاصة بالأوفيس وليس الويندوز ولذلك عند تغيير لغة الويندوز لم تظهر التغييرات وظلت United States كما هى . الحل الخاص بى باستخدام الاكسيس لم ينفع فى هذه الحالة ولذلك أحد الاخوة ان شاء الله سيقدم الحل . فى حالة عدم وجود الحل بالاكسيس يمكننى برمجة اداة صغيرة لانجاز المطلوب . بالتوفيق
-
انا جربت على اللغة اللى عندى بالكود التالى 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 كما طلبت انت .
-
شغال عندى كويس المرفق .. ممكن احد الاخوة يجربه ويفيدنا بالنتيجة ؟
-
الحمدلله على سلامتك استاذنا الغالى نورت المنتدى
-
استاذنا الفاضل ابو خليل بارك الله فى عمرك , نعم كما فهمت يحدد المستخدم الوحدة أياً كانت كبرى او صغرى او متوسطة ويقوم البرنامج بترجمتها الى عدد الوحدات الصغرى وتسجيلها فى الجدول بالوحدة الصغرى , وعند استدعاء الرصيد بالاعتماد على جدول الحركات يكون بالوحدة الصغرى وفى التقرير يكون من 3 أعمدة وحدة صغرى , وحدة متوسطة , وحدة كبرى او اياً كانت المسميات .. وبهذا قصدت انه فى هذه الحالة الموضوع اسهل من طريقة الاستاذ صاحب الموضوع . ومن ناحية الباركود فكرة حضرتك افضل وبالفعل هتوفر خطوة تحديد الوحدة عند عمل الفاتورة وانا كان قصدى اوفر عليه تعدد الباركود ايضاً توفير خطوة ولكن فكرتك افضل من الناحية العملية , اعذرنى لم اطبق على الباركود من قبل ومنكم نتعلم حفظكم الله
-
تفضل التعديل . الاكواد ممكن جعلها افضل من ذلك ولكن انا بعملها وانا فاتح عين واحدة هنام 😆 ولذلك فلنكتفى بها هكذا للوقت الحالى واذا اردت تحسينها يمكننا ذلك فى اى وقت . Language 2.accdb
-
السلام عليكم .. رأيك سليم 100% دائما يفضل استخدام الوحدة الاصغر كمقياس لرصيد المخزن وبما ان عملى كمسئول تخطيط ومتابعة عامة جزء منه الرقابة على المخازن فكان الحل العملى للمخازن بعد تجارب هو ترصيد الوحدات الاصغر وعرض باقى الوحدات فى التقارير فقط عن طريق معادلات تعتمد على رصيد القطعة وتحويلها الى عبوات مثلا الكرتونة الداخلية للصنف (تحتوى على 10 قطع ) و الكرتونة الخارجية للصنف (تحتوى على 20 كرتونة داخلية أى 200 قطعة من الصنف) . وبالتالى نصيحتى لصاحب الموضوع @hougar هوا ان يكون الرصيد بالقطعة او الوحدة الواحدة فقط .. وفى جدول الاصناف قم بزيادة عمود لعدد الوحدات فى الكرتونة مثلا وعدد الوحدات فى الحبة وعددها فى اى وسيلة قياس اخرى الخ ... وبالتالى عند الاستعلام عن الرصيد قم بتحويل الرصيد فى استعلاماتك كما تريد وبالتالى سيكون الباركود الخاص بالكرتونة هو نفس الباركود الخاص بالصنف ويتم ذكر الرصيد من كل وحدة بالاعتماد على رصيد الوحدة الصغرى .. وبهذا ستتجنب الكثير من التعقيد وزيادة العمل للمستخدم .. هذا رأيى فقط .. بالتوفيق