ريان أحمد قام بنشر سبتمبر 19, 2011 مشاركة قام بنشر سبتمبر 19, 2011 السلام عليكم إستعملت خاصية البحث في المنتدى للحصول على موضوع حويل البيانات من جدول إلى فورم والتعديل عليها وذلك لتوفير الجهد والوقت على أساتذتنا الكرام فوجدت الموضوع لكن لم أفهم الكود ولا أجزاؤه الرجاء إفهامي في الكود لكي أطبقه على برنامجي إستراد بيانات من جدول إلى فورم.rar رابط هذا التعليق شارك More sharing options...
ريان أحمد قام بنشر سبتمبر 20, 2011 الكاتب مشاركة قام بنشر سبتمبر 20, 2011 للرفع رابط هذا التعليق شارك More sharing options...
محمد يحياوي قام بنشر سبتمبر 20, 2011 مشاركة قام بنشر سبتمبر 20, 2011 الاخ الحبيب "طاهر" الملف يعمل جيدا رابط هذا التعليق شارك More sharing options...
ريان أحمد قام بنشر سبتمبر 20, 2011 الكاتب مشاركة قام بنشر سبتمبر 20, 2011 أستاذي يحياوي الملف يعمل جيد نعم المشكل ليس في الملف المشكل أنني عندما دخلت إلى الكود الخاص بالفورم لم أفهم أجزاؤه أي كيف أختار الخلايا المعنية لإضهارها في الفورم وكيف أختار الخلية المسؤولة على البحث وهكذا أي ما هو الجزؤ المعني على ذلك في الكود رابط هذا التعليق شارك More sharing options...
محمد يحياوي قام بنشر سبتمبر 20, 2011 مشاركة قام بنشر سبتمبر 20, 2011 الاخ الكريم "طاهر" لقد قمت بتعديل الكود بما يتناسب مع المرفق و يمكنك مقارنة الملفين لفهم فحوى الكود اما عن الخلايا المسؤولة عن البحث فهو المدى "CODE" و مربوط بالكمبوبكس عن طريق خصائص هذا العنصر يمكننا مناقشة هذه الامور عند اطلاعك على الملف \'إستراد بيانات من جدول إلى فورم_3.rar رابط هذا التعليق شارك More sharing options...
عبدالله المجرب قام بنشر سبتمبر 20, 2011 مشاركة قام بنشر سبتمبر 20, 2011 المشكل أنني عندما دخلت إلى الكود الخاص بالفورم لم أفهم أجزاؤه اخي طاهر سنبداء معاً شرح الكود جزء جزء وسننتقل من الجزء الى الاخر بعد فهم الجزء الاول إتفقنا الجزء الاول Private Sub ComboBox1_Change() Application.ScreenUpdating = False Sheets("Sheet1").Select For i = 2 To Sheets("Sheet1").ER If ComboBox1.Text <> Sheets("Sheet1").Cells(i, "A").Text Then TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" Else TextBox2.Text = Sheets("Sheet1").Cells(i, "B").Text TextBox3.Text = Sheets("Sheet1").Cells(i, "C").Text TextBox4.Text = Sheets("Sheet1").Cells(i, "D").Text Sheets("Sheet1").Select Sheets("Sheet1").Cells(i, "A").Select Exit For End If Next Application.ScreenUpdating = True End Sub أولاً هذا بخصوص التغير في ال ComboBox1 Private Sub ComboBox1_Change() 2. لمنع اهتزاز الشاشة Application.ScreenUpdating = False 3. إختيار ورقة العمل وهنا اسمها Sheet1 Sheets("Sheet1").Select 4. المتغير (وهنا يتم اعتماد تغير الصفوف ) ويبتدي من 2 وينتهي ب ER وER معرف لعد الصفوف المستخدمة في العمود A وستجده في كود Sheet1 For i = 2 To Sheets("Sheet1").ER 5. الشرط ويعني اذا كانت قيمة ComboBox1 لا تساوي اي قيمة في صفوف العمود A If ComboBox1.Text <> Sheets("Sheet1").Cells(i, "A").Text Then وينقسم الى حالتين أ. إذا تحقق الشرط يقوم بمسح القيم من TextBox3 و TextBox4 TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" ب. إذا لم يتحقق الشرط Else ينفذ التالي TextBox2.Text = Sheets("Sheet1").Cells(i, "B").Text TextBox3.Text = Sheets("Sheet1").Cells(i, "C").Text TextBox4.Text = Sheets("Sheet1").Cells(i, "D").Text Sheets("Sheet1").Select Sheets("Sheet1").Cells(i, "A").Select قيمة TextBox2 تساوي قيمة الخلية الموجوة في العمود B والصف (i) المتغير وهكذا بالنسبة TextBox3 والعمود C و TextBox4 و العمود D ثم إخيار ورقة العمل Sheet1 ثم اختيار الخلية (i, "A") 6. الخروج من For وانهاء الشرط وإعادة اهتزاز الشاشة Exit For End If Next Application.ScreenUpdating = True End Sub بإنتظار ردك على الشرح ابواحمد 2 رابط هذا التعليق شارك More sharing options...
ياسر الحافظ قام بنشر سبتمبر 20, 2011 مشاركة قام بنشر سبتمبر 20, 2011 الاخ / الاستاذ يحيــــــــــــــــاوي الاخ / الاستاذ " ابو احمد " عبد الله المجرب تسلم الايادي .... وجزاكم الله كل الخير ابو احمد : الشرح رائـــــــــــــــــــــــــــــــع وفقكم الله ابو الحارث رابط هذا التعليق شارك More sharing options...
حامد يونس قام بنشر سبتمبر 20, 2011 مشاركة قام بنشر سبتمبر 20, 2011 شكرا جزيلا الى الاساتذة الكرام الاستاذ يحياوي و الاستاذ ابو احمد على هذا الشرح الرائع رابط هذا التعليق شارك More sharing options...
ريان أحمد قام بنشر سبتمبر 20, 2011 الكاتب مشاركة قام بنشر سبتمبر 20, 2011 الشرح واضح 100 ب100 نشكرك جزيل الشكر إلا في الجزء---- ثم إخيار ورقة العمل Sheet1 ثم اختيار الخلية (i, "A")----- ماذا تقصد بحرف i وهل كل مرة تختار الحرف i وواصل الشرح على بركة الله رابط هذا التعليق شارك More sharing options...
احمد حمور-ابوعبدالله قام بنشر سبتمبر 20, 2011 مشاركة قام بنشر سبتمبر 20, 2011 اخي الحبيب ابو احمد اسمح لي بداية ان اشكرك على شرحك الجميل والقيم ولو انني انا يمكن اول واحد حملت المرفق ليلة امس وفكرت اكثر من نصف ساعه عن كيفية توصيل المعلومه للسائل هل يريد شرح مبسط ام شرح معمق ولم افهم وقتها ماهية فهم اخي طاهر عن الاكواد وكيف سأوصلها له . فتوقفت لارى ردود الاعضاء لعلي افهم غرض السائل بالضبط ولكن جاء حبيبنا اخي ابو احمد وماقصر وقام بالواجب وزياده ================================================================== اما بالنسبه لاستفسار اخي طاهر عن ما يلي: الشرح واضح 100 ب100 نشكرك جزيل الشكر إلا في الجزء---- ثم إخيار ورقة العمل Sheet1 ثم اختيار الخلية (i, "A")----- ماذا تقصد بحرف i وهل كل مرة تختار الحرف كما قال اخي ابو احمد حرف i هو اسم متغير اخترناه ليقوم بالوظيفه التاليه: For i = 2 To Sheets("Sheet1").ER اولا طبعا يمكن اختيار بدل هذا الحرف اي شئ تحبه مثل ان تضع For taher = 2 To Sheets("Sheet1").ER اذا هنا خلصنا من مفهوم الحرف الذي يشغلك اما بالنسبه للرقم 2 فهنا يعني اننا سنبدأ في البحث من السطر الثاني يعني لو حطيت رقم 3 ممكن هذا ولكن سيتجاهل البحث من السطر الثاني وسيبدأ من السطر الثالث وهكذا ......... وهنا ايضا خلصنا من الرقم 2 Sheets("Sheet1") طبعا هنا السطر موضح نفسه بنفسه .ER اما ER هنا فهنا عرفها صاحب الكود بما هو موجود في حدث SHEET1 ER = Range("A1").CurrentRegion.Rows.Count وهي مسؤوله عن عدد الصفوف من A1 الى A2 والى A3 وهكذا ........... باختصار صاحب الكود اراد ان يتوه بعض الشئ ولكن يمكنك ان تضعه في نفس سطر الكود ليصبح كمايلي For i = 2 To Sheets("Sheet1").Range("A1").CurrentRegion.Rows.Count وسيعمل معك بنفس المبدأ وبالرجوع الى سؤالك اخي طاهر سترى انه لو حذفت هذا السطر Sheets("Sheet1").Cells(i, "A").Select سيعمل الكود معك بالشكل الطبيعي دون اخطاء ولكن بشرط مهم ان تكتفي فقط بعملية البحث دون اجراء اي تعديل لان الكود في حال بقاؤه سيحدد الخليه التي بحثت عنها ومنها سيأتي تنفيذ كود التعديل اما ان حذفته سيبحث عن الخليه المطلوبه وسيجدها ولكن لن يحددها فلن تتم وقتها عملية التعديل انا اعلم تماما ان شرحي ربما لن يكون بقوة شرح اخونا ابواحمد ولكنا نحاول ان نجتهد بعض الشئ 1 رابط هذا التعليق شارك More sharing options...
ريان أحمد قام بنشر سبتمبر 21, 2011 الكاتب مشاركة قام بنشر سبتمبر 21, 2011 شكرا أستاذي على التوضيح الرجاء من الأستاذ عبد الله إكمال الشرح وجزاك الله كل خير مسبقا رابط هذا التعليق شارك More sharing options...
عبدالله المجرب قام بنشر سبتمبر 21, 2011 مشاركة قام بنشر سبتمبر 21, 2011 السلام عليكم الجزء الثاني Private Sub CommandButton2_Click() Application.ScreenUpdating = False On Error Resume Next If ComboBox1 = "" Then MsgBox "YOU HAVE TO CHOSE ITEME CODE FROM LIST FIRST", vbExclamation, "WRONG STEP" ComboBox1.DropDown ElseIf TextBox2 = "" Or TextBox3 = "" Or TextBox4 = "" Then MsgBox "YOU SHOULD FILL ALL FIELDS", vbExclamation, "EMPTY FIELDS" Else Beep If MsgBox("YOU ASKED TO MODIFY :" & vbNewLine & "" & vbNewLine & "CODE : " & ComboBox1 _ & vbNewLine & "" & vbNewLine & "NAME : " & TextBox2 & vbNewLine & "" & vbNewLine & "PRICE : " & TextBox3 & vbNewLine & "" & vbNewLine & "QU : " & TextBox4 & vbNewLine & "" _ & vbNewLine & "YOU WANT TO CONTINUE ?", vbYesNo + vbQuestion, "ENTRY CONFIRMATION") = vbYes Then Sheets("Sheet1").Select ActiveCell.Offset(0, 1).Value = TextBox2.Text ActiveCell.Offset(0, 2).Value = TextBox3.Text ActiveCell.Offset(0, 3).Value = TextBox4.Text Me.TextBox2.Text = "" Me.TextBox3.Text = "" Me.TextBox4.Text = "" Me.ComboBox1.Text = "" Me.Hide MsgBox "DATA HAS BEEN MODIFIED SUCCESSFULLY", vbInformation, "DONE" End If End If Application.ScreenUpdating = True End Sub 1. حدث الضغط على الزر وايقاف اهتزاز الشاشة والانتقال الى التالي عند الخطاء Private Sub CommandButton2_Click() Application.ScreenUpdating = False On Error Resume Next 2. شرط خلو ComboBox1 من البيانات (تظهر رسالة ) ويتم انزال القائمة المنسدلة If ComboBox1 = "" Then MsgBox "YOU HAVE TO CHOSE ITEME CODE FROM LIST FIRST", vbExclamation, "WRONG STEP" ComboBox1.DropDown 3. تنبيه خلو التيكست بوكس من القيم تظهر رسالة تنبيه ElseIf TextBox2 = "" Or TextBox3 = "" Or TextBox4 = "" Then MsgBox "YOU SHOULD FILL ALL FIELDS", vbExclamation, "EMPTY FIELDS" 4. في حالة عدم تحقق شرط خلو من البيانات تظهر رسالة من عدة أسطر وفيها خيار YES & NO Else Beep If MsgBox("YOU ASKED TO MODIFY :" & vbNewLine & "" & vbNewLine & "CODE : " & ComboBox1 _ & vbNewLine & "" & vbNewLine & "NAME : " & TextBox2 & vbNewLine & "" & vbNewLine & "PRICE : " & TextBox3 & vbNewLine & "" & vbNewLine & "QU : " & TextBox4 & vbNewLine & "" _ & vbNewLine & "YOU WANT TO CONTINUE ?", vbYesNo + vbQuestion, "ENTRY CONFIRMATION") = vbYes Then 5. عند إختيار YES وضع قيمة TextBox2 في نفس صف الخلية النشطة والعمود الاول بعدها و قيمة TextBox3 في نفس صف الخلية النشطة والعمود الثاني بعدها و قيمة TextBox4 في نفس صف الخلية النشطة والعمود الثالت بعدها Sheets("Sheet1").Select ActiveCell.Offset(0, 1).Value = TextBox2.Text ActiveCell.Offset(0, 2).Value = TextBox3.Text ActiveCell.Offset(0, 3).Value = TextBox4.Text ثم مسح قيم الموحودة في مربعات النص Me.TextBox2.Text = "" Me.TextBox3.Text = "" Me.TextBox4.Text = "" Me.ComboBox1.Text = "" وإخفاء الفورم وظهور رسالة تنبيهية بإتمام التعديل Me.Hide MsgBox "DATA HAS BEEN MODIFIED SUCCESSFULLY", vbInformation, "DONE" ان شاء الله اكون وفقت في الشرح ابواحمد 1 رابط هذا التعليق شارك More sharing options...
ياسر الحافظ قام بنشر سبتمبر 21, 2011 مشاركة قام بنشر سبتمبر 21, 2011 الاعزاء : الاستاذ " ابو عبد الله " احمـــــــــــــد حمور الاستاذ " ابو احمد " عبد الله المجــــــــــــــرب كل الشكر ..... رائع رائع وفقكم الله ابو الحارث رابط هذا التعليق شارك More sharing options...
ريان أحمد قام بنشر سبتمبر 22, 2011 الكاتب مشاركة قام بنشر سبتمبر 22, 2011 شرح واضح وضوح الشمس بارك الله فيك يا أستاذي ومزيدا من التألق وبارك الله فيك ولقد فهمت الكود 100 ب100 رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
من فضلك سجل دخول لتتمكن من التعليق
ستتمكن من اضافه تعليقات بعد التسجيل
سجل دخولك الان