في مرحلة من المراحل ستضطر إلى أن تتعامل بالكود لتبدو برامجك بشكل احترافي هذا أمر .. وأمر آخر لكي تكون قواعد البيانات في يديك كالعجين ..
لذا سنتعلم من بعضنا اليوم عن الحذف بنوعيه .. بلا شروط .. وبالشروط .. وبسم الله الرحمن الرحيم نبدأ
Dim sqlUpdate As String
هنا يقوم الكود بحذف جميع سجلات الجدول المختار دون شرط
sqlUpdate = "Delete tbl1 FROM tbl1"
========================
هنا يقوم الكود بحذف جميع سجلات الجدول المختار التي توافق الشرط
حقل رقم بقيمة محددة في الكود
sqlUpdate = "Delete tbl1 FROM tbl1" sqlUpdate = sqlUpdate & " Where id=333"
حقل رقم بقيمة محددة في مربع نص باسم txtId
sqlUpdate = "Delete tbl1 FROM tbl1" sqlUpdate = sqlUpdate & " Where id=" & Me.txtId
حقل نص بقيمة محددة في الكود
sqlUpdate = "Delete tbl1 FROM tbl1" sqlUpdate = sqlUpdate & " Where id='محمد''
حقل نص بقيمة محددة في مربع نص باسم txtNewName
sqlUpdate = "Delete tbl1 FROM tbl1'" sqlUpdate = sqlUpdate & " Where id='" & Me.txtNewName & "'"
حقل تاريخ بقيمة محددة في الكود
sqlUpdate = "Delete tbl1 FROM tbl1" sqlUpdate = sqlUpdate & " Where id=# 01-12-1423 #"
حقل تاريخ بقيمة محددة في مربع نص باسم txtNewDate
sqlUpdate = "Delete tbl1 FROM tbl1" sqlUpdate = sqlUpdate & " Where id=#" & Me.txtNewDate & "#"
========
تنفيد عبارة sqlUpdate يكون بطريقتين :
1- عن طريق كائن DOCmd وعيب هذه الطريقة أنك لا يمكن أن تتمكن من نجاح التحديث مباشرة .. إلا بعبارة Select أخرى تتبعها بشرط القيمة الجديدة .. فإذا أرجعت عبارة Select سجلات فمعنى هذا نجاح التنفيذ وإلا فلا
DoCmd.SetWarnings False DoCmd.RunSQL sqlUpdate
2- عن طريق ADO ومن خلالها تستطيع معرفة نجاحها أم لا من خلال الطريقة Error.Count للكائن Connection فإذا كان الكائن Error يساوي صفر فمعنى هذا نجاح التنفيذ وإلا فلا
Dim db As New ADODB.Connection db.Open CurrentProject.Connection db.Execute sqlUpdate If db.Errors.Count <> 0 Then MsgBox "Error" Else MsgBox "OK" End If db.Close Set db = Nothing