لدى قاعدة بيانات بها جدول EMPLOYEE به حقل للعمر AGE وحقل للمرتب SALARY
ولدى Adodc1 متصل بهذا الجدول
وأريد تعديل المرتب فى جميع السجلات التى فيها يزيد العمر عن 60 سنة الى 4000 جنيه
فهل من كود باستخدام الFIND أو الWHERE أو غيرها يقوم بذلك ؟
بحيث لا يكون الكود عبارة عن لوب أمر به على جميع السجلات(500 سجل مثلآ)
و فى كل مرة أضع الشرط If .Fields("AGE") > 60 Then .Fields("SALARY") =4000
ليعدل لى فى النهاية 4 أو 5 سجلات مثلآ
ولكم ألف شكر
PHP كود :
مرحبا اسلام
select update Table set (Filed=new_value) where age >60
بالجملة السابقة تعدل الكل بضغطة زر وحدة اي سجل العمر
اكبر من 60 يتم تعديل الحقل المطلوب بالقيمة الجديدة
اذا اشكل عليك الامر فقط ضع جملة اتصالك بالجدول الخاصة فيك
والتعديل علينا ان شاء الله
كتبت هذه الجملة فلم يقبلها الكود أصلآ (اعترض عليها بمجرد كتابتها) وأشار الى كلمة UPDATE
وطبعآ كتبت الجملة فى مثالى هكذا
PHP كود :
select update EMPLOYEE set (SALARY=4000) where age > 60
وهذه جملة الاتصال بقاعدة البيانات
PHP كود :
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database password=; Data Source=" & App.Path & "\الموظفين.mdb"
أما عن الاتصال بالجدول ففى خصائص ال ADODC1 كتبت اسم الجدول فى خاصية الRecordSource
هذا هو الكود الذى أعرفه
كود :
[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 سجلات مثلآ
ولكم ألف شكر
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
ولكنه بهذه الطريقة لن يعرض جميع السجلات فى الADODC
و انما سيعرض فقط السجلات ال 4 أو 5 المعدلة
المطلوب عرض جميع السجلات مع تعديل المطابق للشرط(كما فى كودى تمامآ ولكن بطريقة سهلة بسيطة)
ولكم ألف شكر
أهلا أخي الكريم , إستخدم هذا الكود :
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
ألف ألف مليووووووووووووون شكر
أنا مش عارف أقول ايه؟
أقول الكلمة بتاعت كل مرة،
وللا خلاص كلكم عارفين ايه اللى هيتقال