تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[vb6.0] كود منع تكرار و حساب عدد
#1
السلام عليكم




 لدي جدول (قاعدة بيانات اكسس ) مقسم الى خمسة اعمدة (اربعة للارقام والخامس للون) ومربوطة مباشرتا بلتيكست في النموذج ولدي استفار حول



1 منع تكرار اي رقم داخل هذة الاعمدة الاربعة ( اي يعني عند ادخال رقم في العامود الاول لايقبل اذا كان داخل سابقا في اي عامود اخر او بنفس العامود)

2 حساب عدد مرات تكرار في عامود اللون ( اي حساب عدد مرات الاحمر وعدد مرات الاصفر ) وطباعته على تيكست

مع فائق الشكر والتقدير
الرد }}}}
تم الشكر بواسطة:
#2
أهلا أخي الكريم ، إذا كنت تستخدم أداة الـ Adodc في الإتصال بقاعدة البيانات وربطها بالتكستات ثم تريد الفحص عن التكرار إن وجد فيفضل أن تدرج أداة Adodc جديده وتكون خاصه بالإستعلامات فقط وأداة الـ Adodc الأولى دعها للربط بالتكستات وعمليات الإضافه والتعديل والحذف وغيرها ، قم بربط أداة الـ Adodc الثانيه بقاعدة البيانات كما ربطت الأداة الأولى ثم ضع كود الإستعلام وفحص ما إذا كان الرقم الجديد موجود في أي من الأعمده الأربعه في بداية كود زر الحفظ لنفترض أن إسم الجدول Table1 وأسماء الحقول الأربعه الخاصه بالأرقام هي Col1,Col2,Col3,Col4 وإسم حقل الألوان هو Col5 وأن الرقم الجديد الذي تريد فحصه موجود في الـText1 إذا ستكون جملة الإستعلام الخاصه بالفحص كالتالي :

PHP كود :
Adodc2.RecordSource "Select * From Tabl1 Where Col1=" Val(Trim$(Text1.Text)) & " or Col2=" Val(Trim$(Text1.Text)) & " or Col3=" Val(Trim$(Text1.Text)) & " or Col4=" Val(Trim$(Text1.Text))
Adodc2.Refresh
IF Adodc2.RecordSet.RecordCount 0 Then
    MsgBox 
"الرقم المدخل موجود مكرر"
End IF 

وبالنسبه لكود حساب تكرار الألوان قم بإدراج 3 تكستات تكست لكل لون مثلا Text7 للون الأحمر وText8 للون الأخضر وText9 للون الأزرق وضع كود الإستعلام هذا في زر جديد :

PHP كود :
Adodc2.RecordSource "Selec (Select Count(Col5) From Table1 Where Col5="أحمر") as cRed,(Select Count(Col5) From Table1 Where Col5="أخضر") as cgreen,(Select Count(Col5) From Table1 Where Col5="أزرق") as cBlue From Table1"
Adodc2.Refresh
IF Adodc2.RecordSet.RecordCount 0 Then
    Text7
.Text Adodc2.RecordSet!cRed
    Text8
.Text Adodc2.RecordSet!cGreen
    Text9
.Text Adodc2.RecordSet!cBlue
Else
 
    Text7.Text "0"
 
    Text8.Text "0"
 
    Text9.Text "0"
End IF 
الرد }}}}
تم الشكر بواسطة: عبد العزيز البسكري
#3
اشتاذنا الغالي لقد تم تجربة الكود والنتيجة
في الكود الاول المشكلة يظهر لي الارقام كلها موجودة استخدمت الكود

Data2.RecordSource = "Select * From Table1 Where t1=" & (Text4.Text) & " or t2=" & (Text4.Text) & " or t3=" & (Text4.Text) & " or t4=" & (Text4.Text )
If Data2.Recordset.RecordCount > 1 Then و If Data2.Recordset.RecordCount > 0 Then
MsgBox "ÇáÑÞã ÇáãÏÎá ãæÌæÏ ãßÑÑ"
End If

وال;ود الثاني بعترض على اسماء الالون بالون الازرق في الكود اعلاه (expected :end of statement)
ولاحظت اعتقد ان حرف نقص من الكود اعلاة ام اني خطا من كلمة Selec
Adodc2.RecordSource = "Selec (Select Count(Col5) From Table1 Where Col5=
الرد }}}}
تم الشكر بواسطة:
#4
أهلا أخي الكريم , أعتقد لو ترفق مثال يتم التعديل عليه يكون أفضل .
الرد }}}}
تم الشكر بواسطة:
#5
استاذنا الغالي هذة المثال والكود داخل الحدث   KeyPress
لاني استخدم الباركود
 Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then


الملفات المرفقة
.rar   مثال.rar (الحجم : 5.88 ك ب / التحميلات : 12)
الرد }}}}
تم الشكر بواسطة: princeofislam
#6
أهلا أخي الكريم , تم التعديل على المثال , بصراحة ليست عندي الخبره الكافيه في التعامل مع أداة الـ DataControl حاولت عدة محاولات إلى أن أعتقد أنها ضبطت لذلك أنصحك بإستخدام أداة الـ ADODC أفضل بكثير , ويوجد في المنتدى أمثله كثيره عنها .


الملفات المرفقة
.rar   مثال_1.rar (الحجم : 9.65 ك ب / التحميلات : 18)
الرد }}}}
تم الشكر بواسطة: ahmedabdelaliem , princeofislam
#7
مشكور استاذنا العزي وتعبتك معي تم بنجاح عملية التحقق بنجاح انا ليس لدي اي مشكلة في تغير الاداة واعرف ازاي اتعامل مع كل الادوات .......... باقي لي مشكلة الاستعلام عن عدد الالوان مش راضي يعترض على اسم الون Col5="أزرق"



كود :
Private Sub Text3_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then

Data2.RecordSource = "Select جهاز5,جهاز2,جهاز3,جهاز4 From Table1 Where جهاز2='" & Trim$(Text3.Text) & "' or جهاز3='" & Trim$(Text3.Text) & "' or جهاز4='" & Trim$(Text3.Text) & "' or جهاز5='" & Trim$(Text3.Text) & "'"
Data2.Refresh

If Data2.Recordset.RecordCount > 0 Then

MsgBox "الرقم المدخل موجود مكرر"

Data1.Recordset.CancelUpdate

Exit Sub

End If


Text4.SetFocus
End If
End Sub
الرد }}}}
تم الشكر بواسطة:
#8
أهلا أخي الكريم , ممكن صار الخطأ لأنه لايوجد كلمة "أزرق" في الجدول لأنك في قاعدة البيانات في الجدول مخون الألوان بالأسماء الإنجليزيه , شاهد التعديل .


الملفات المرفقة
.rar   مثال_2.rar (الحجم : 9.89 ك ب / التحميلات : 19)
الرد }}}}
تم الشكر بواسطة: عبد العزيز البسكري , princeofislam
#9
والله مش عارف ارد الجميل كيف لكن اقولك تسلم من كل قلبي على تعبك معي الف الف شكر والخطا كان انو انو الكلمة بين " " مش ' ' تحياتي لك استاذ
الرد }}}}
تم الشكر بواسطة: Ahmed_Mansoor
#10
أهلا أخي الكريم , حياك الله , شكرا لك.
الرد }}}}
تم الشكر بواسطة: ahmedabdelaliem , princeofislam


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [ تمّ الحل ] : حساب الفرق بين تاريخين عبد العزيز البسكري 6 220 24-09-16, 12:31 AM
آخر رد: Amir_alzubidy
  [سؤال] حساب مواقيت الصلاة بالفيجوال بيسك 6 بوعيسى 7 336 29-06-16, 02:00 AM
آخر رد: بوعيسى
  حساب مجاميع الحركات المالية هل يمكن مع فيجوال بيسك ؟ princeofislam 13 715 10-04-16, 10:01 AM
آخر رد: Ahmed_Mansoor
  كشف حساب الموردين ahmedabdelaliem 16 958 01-03-16, 10:42 AM
آخر رد: mhareek
  طريقة حساب العمليات الحسابية المكتوبة في التيكست بوكس tighrmte 6 483 20-02-16, 12:17 AM
آخر رد: tighrmte
  حساب عدد حرف معين في جملة محمد ئوزبك 5 261 23-01-16, 09:59 PM
آخر رد: محمد ئوزبك
  حل مشكلة تكرار hisoma 0 231 16-12-15, 08:03 AM
آخر رد: hisoma
  [سؤال] حساب المساحه المستخدمه وتمثيلها mera 4 551 13-05-15, 11:29 AM
آخر رد: mera
Question [vb6.0] كيف يتم إظهار التقرير بشرط إدخال رقم حساب العميل ضمن الاستعلام المجود في البرنامج ؟؟ Microformt 2 622 24-09-14, 06:06 PM
آخر رد: Microformt
Question [vb6.0] كيف اجعل الكود يقوم بقراءة جميع أرقام الحسابات بدون تكرار وحفظها في مصفوفة من جدولين Microformt 0 507 30-08-14, 09:06 AM
آخر رد: Microformt

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم