السلام عليكم
مثلا لدي حقل الاسم( فيه اسماء معينة ومكررة )اريد ان اعرف كم مرة تكرر الاسم احمد مثلا.
مع الشكر الجزيل
السلام عليكم
مثلا لدي حقل الاسم( فيه اسماء معينة ومكررة )اريد ان اعرف كم مرة تكرر الاسم احمد مثلا.
مع الشكر الجزيل
اخي العزيز هل المطلوب أن تحدد عدد تكرار اسم محدد في صندوق النص Text Box
اخي العزيز.
نعم..لنفرض انني وضعت الاسم في تكست بوكس واريد ان اعرف عدد مرات تكراره في الحقل name مثلا
مع خالص الشكر
بسم الله الرحمن الرحيم
آسف للتأخر
ضع ثلاثة صناديق نص Text Box
ضع زر أمر Command Button
ضع الكود الاتي تحت زر الأمر
For a = 1 To Len(Text2) M = Mid(Text2, a, Len(Text1)) If M = Text1 Then x = x + 1 End If Next Text3 = x
في الـ text1 أكتب الاسم الذي تريد معرفة عدد مرات تكراره
في الـ text2 أكتب الاسم الطويل
في الـ text3 تعرض لك النتيجة
آمل أن يكون هذا هو المطلوب أخي العزيز
أخوك
ياريت مثال اخ منصور
تحياتى.....
اخي العزيز : الرد السابق لي هو عبارة عن مثال جاهز فقط انقله للـ VB بعد وضع الازرار وصناديق النص
(light)
مرحباً..
أولاً وقبل كل شئ.. الحل فى الأعلى أفضل لأنه أقل أستهلاكاً للذاكرة..
فقط وضعت هذه الطريقة لأنها تعطى أمثلة جيدة لأستخدام الدلة InStr وبعض الطرق البرمجية الأخرى
لذلك فأرجو من الجميع قرأتها من باب العلم بالشئ.. :)
تفضل :
Dim sString As String Dim sWanted As String Dim sArray() As String Dim iCounter As Integer Dim iPos As Integer Dim Found As Integer sString = "ArabTeam2000 is an Arabian Site In Arabic Made For Arabian Programmers and Users.." sWanted = "Arab" sArray = Split(sString) For iCounter = LBound(sArray) To UBound(sArray) iPos = InStr(1, sArray(iCounter), sWanted) If iPos Then Found = Found + 1 Do Until iPos = 0 iPos = InStr(iPos + Len(sWanted), sArray(iCounter), sWanted) If iPos Then Found = Found + 1 End If Loop End If Next iCounter MsgBox Found
حسناً سوف أقوم بشرح بسيط..
أقوم من خلال الدلة Split بتقسيم الجملة الى كلمات ووضع الناتج فى مصفوفة نصية
بحيث sArray(1) تحتوى على أول كلمة بينما sArray(2) تحتوى على ثانى كلمة... وهكذا
هناك دالة اسمها InStr وهى تقوم باختبار وجود نص معين فى نص أخر.. يعنى مثلاً وجود كلمة " العرب " فى " المؤتمر العربى السادس عشر"
بالطبع الدالة لا تعتبر أن الأول كلمة واحدة فقط.. وأن الثانى جملة بل بالنسبة للدالة فالأول متغير نصى والثانى كذلك..
لكنها وفى نفس الوقت لا تحدد لك عدد مرات التواجد.. :confused:
لذلك فأنا أقوم بعمل متغير يقوم بالتنقل فى الجملة وكلما وجد الكلمة قام بزيادة المتغير Found عدد 1
الدالتان LBound و UBound المستخدمتان فى الحلقة For وظيفتهما إيجاد بداية ونهاية المصفوفة.. (مما يحدد عدد الكلمات الموجودة فى االجملة)
__________________________________________________
كلمة أخيرة أعتقد أنى لن أستطيع الكتابة فى المنتدى حتى يوم 24 القادم بسبب بدء الامتحانات.. لذلك إذا كان فيه اسفسارات بخصوص الكود فأرجو أن توجهها للأخوة وإن شاء الله يساعدوك..
فى النهاية أرجو منك أن تدعو لى بالتوفيق فى الامتحانات.. وآسف جداً إذا كان في أى تقصير
__________________________________________________
Chaos
اخي العزيز منصور
اشكرك على الرد الذي افادني..ولكني في الحقيقة لا اقصد النص الموجود في تكست وانما الموجود في حقل معين في قاعدة بيانات..مثلا لدي حقل الاسم فيه عدة اسماء مختلفة ومكررة..كيف اجد عدد مرات تكرار الاسم احمد مثلا..
مع خالص الشكر
انا سألتك :
اخي العزيز هل المطلوب أن تحدد عدد تكرار اسم محدد في صندوق النص Text Boxاخي العزيز.
فقلت :
نعم..لنفرض انني وضعت الاسم في تكست بوكس واريد ان اعرف عدد مرات تكراره في الحقل name مثلا
مع خالص الشكر
لكن على العموم ... من الطبيعي انك تستعرض كل حقل من قاعدة البيانات في text box .. فقم بتنفيذ الكود السابق على الـ Text Box
اخي العزيز...
انا اسف فعلا لانني لم اوضح جيدا..ولكن اذا عملت ما ذكرت لي فلن استطيع ايجاد عدد تكرار الاسم في الحقل لان التكست سوف يعرض لي
سجل واحد فقط وهذا يتطلب ان يعرض التكست كل السجلات واقصد هنا حقل الاسم طبعا في كل السجلا ومن خلاله يقوم بايجاد تكرار الاسم..وبالحقيقة لا اعرف كيف افعل ذلك فارجو المساعدة..وارجو يا اخي ان توضح لي كيف اجد تكرار الاسم في الحقل اذا كنت اعمل على الاكسيس.
ولك مني خالص الشكر والتقدير
السلام عليكم:
إليك العبارة:
strSQL="SELECT COUNT(fieldName) WHERE fieldName='أحمد'"
اخي الفاضل
الف شكر لك هذا ما كنت اطلبه وشكر لكافة الاخوة الذين شاركونا.
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…