تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تعديل بعض السجلات
#1
لدى قاعدة بيانات بها جدول EMPLOYEE  به حقل للعمر AGE وحقل للمرتب SALARY
ولدى Adodc1 متصل بهذا الجدول 
وأريد تعديل المرتب فى جميع السجلات التى فيها يزيد العمر عن 60 سنة الى 4000 جنيه

فهل من كود باستخدام الFIND  أو  الWHERE  أو غيرها يقوم بذلك ؟
بحيث لا يكون الكود عبارة عن لوب أمر به على جميع السجلات(500 سجل مثلآ)
و فى كل مرة أضع الشرط        If .Fields("AGE") > 60 Then .Fields("SALARY") =4000
ليعدل لى فى النهاية 4 أو 5 سجلات مثلآ

ولكم ألف شكر
الرد }}}
تم الشكر بواسطة:
#2
PHP كود :
مرحبا اسلام
select update Table set 
(Filed=new_valuewhere age >60
بالجملة السابقة تعدل الكل بضغطة زر وحدة اي سجل العمر 
اكبر من 60 يتم تعديل الحقل المطلوب بالقيمة الجديدة
اذا اشكل عليك الامر فقط ضع جملة اتصالك بالجدول الخاصة فيك
والتعديل علينا ان شاء الله 
سبحان الله والحمدلله ولا إله إلا الله والله أكبر
 اللهم اغْفِرْ لِلمؤمنين والمؤمنات والمسلمين والمسلمات الأحياء منهم والأموات
الرد }}}
تم الشكر بواسطة: Ahmed_Mansoor , Ahmed_Mansoor
#3
كتبت هذه الجملة فلم يقبلها الكود أصلآ (اعترض عليها بمجرد كتابتها) وأشار الى كلمة UPDATE
وطبعآ كتبت الجملة فى مثالى هكذا
PHP كود :
select update EMPLOYEE set (SALARY=4000where age 60 

وهذه جملة الاتصال بقاعدة البيانات 
PHP كود :
Adodc1.ConnectionString "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database password=; Data Source=" App.Path "\الموظفين.mdb" 


أما عن الاتصال بالجدول ففى خصائص ال ADODC1 كتبت اسم الجدول فى خاصية الRecordSource
الرد }}}
تم الشكر بواسطة:
#4
ألا توجد أى طريقة لذلك ؟
الرد }}}
تم الشكر بواسطة:
#5
هذا هو الكود الذى أعرفه

كود :
[align=left]With Adodc1.Recordset[/align]
[align=left].MoveFirst[/align]
[align=left]Do Until .EOF[/align]
[align=left]If .Fields("AGE") > 60 Then .Fields("SALARY") = 4000: .Update[/align]
[align=left]If Not .EOF Then .MoveNext[/align]
[align=left]Loop[/align]
[align=left]End With[/align]

فهل من كود أسهل من ذلك بحيث لا يمر على جميع السجلات(500 سجل مثلآ)
و فى كل مرة يقرأ الشرط If .Fields("AGE") > 60 Then .Fields("SALARY") =4000
ليعدل لى فى النهاية 4 أو 5 سجلات مثلآ
ولكم ألف شكر

هذا هو الكود الذى أعرفه

PHP كود :
With Adodc1.Recordset
   
.MoveFirst
   Do Until 
.EOF
       If 
.Fields("AGE") > 60 Then .Fields("SALARY") = 4000: .Update
   If Not 
.EOF Then .MoveNext
   Loop
End With 
  فهل من كود أسهل من ذلك بحيث لا  يمر على جميع السجلات(500 سجل مثلآ)
و فى كل مرة يقرأ الشرط        If .Fields("AGE") > 60 Then .Fields("SALARY") =4000
ليعدل لى فى النهاية 4 أو 5 سجلات مثلآ

ولكم ألف شكر
الرد }}}
تم الشكر بواسطة:
#6
PHP كود :
Private Sub Command1_Click()
Adodc1.RecordSource "select * from EMPLOYEE   where age like '" Text1.Text "'"
 
Adodc1.Recordset.Fields("em").Value Text2.Text
 Adodc1
.Recordset.Update
Me
.Adodc1.Refresh
MsgBox 
"ok"
Form_Load
End Sub 
سبحان الله والحمدلله ولا إله إلا الله والله أكبر
 اللهم اغْفِرْ لِلمؤمنين والمؤمنات والمسلمين والمسلمات الأحياء منهم والأموات
الرد }}}
تم الشكر بواسطة: Ahmed_Mansoor , Ahmed_Mansoor , محمد ئوزبك
#7
ولكنه بهذه الطريقة لن يعرض جميع السجلات فى الADODC
و انما سيعرض فقط السجلات ال 4 أو 5 المعدلة 

المطلوب عرض جميع السجلات مع تعديل المطابق للشرط(كما فى كودى تمامآ ولكن بطريقة سهلة بسيطة)

ولكم ألف شكر
الرد }}}
تم الشكر بواسطة:
#8
أهلا أخي الكريم , إستخدم هذا الكود :

PHP كود :
Dim DB As New ADODB.Connection
DB
.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" App.Path "\db1.mdb;Persist Security Info=False"
DB.Execute "Update EMPLOYEE Set Salary=4000 Where Age>60"
Set DB Nothing
Adodc1
.RecordSource "Select * From EMPLOYEE"
Adodc1.Refresh 
الرد }}}
تم الشكر بواسطة: أبو عمر , اسلام الكبابى
#9
ألف ألف مليووووووووووووون شكر

أنا مش عارف أقول ايه؟

أقول الكلمة بتاعت كل مرة،

وللا خلاص  كلكم عارفين  ايه اللى هيتقال
الرد }}}
تم الشكر بواسطة: Ahmed_Mansoor
#10
شكرا على التعليقات انا استفت من الموضوع









_______________________________________________
التسامح الحق لا يستلزم نسيان الماضي بالكامل..

سينما كلوب
ايجي بست
شاهد فور يو

سيرا اون لاين


مشاهدة فيلم
الرد }}}
تم الشكر بواسطة: elgokr , elgokr



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


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