الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التحديث بالكود

مغلق
بدأه أحمد الحربي في 25 أبريل 2004 · 5 رد · 2,256 مشاهدة · في قسم أرشيف الاكواد والمكتبات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

في مرحلة من المراحل ستضطر إلى أن تتعامل بالكود لتبدو برامجك بشكل احترافي هذا أمر .. وأمر آخر لكي تكون قواعد البيانات في يديك كالعجين ..

لذا سنتعلم من بعضنا اليوم عن التحديث بنوعيه .. بلا شروط .. وبالشروط .. وبسم الله الرحمن الرحيم نبدأ

Dim sqlUpdate As String

هنا يقوم الكود بتحديث الحقل في جميع سجلات الجدول المختار بالقيمة الجديدة دون شرط

حقل رقم بقيمة محددة في الكود

sqlUpdate = "UpDate tbl1 SET Id=333"

حقل رقم بقيمة محددة في مربع نص باسم txtNO

sqlUpdate = "UpDate tbl1 SET Id=" & Me.txtNO

حقل نص بقيمة محددة في الكود

sqlUpdate = "UpDate tbl1 SET Id='أحمد'''

حقل نص بقيمة محددة في مربع نص باسم txtName

sqlUpdate = "UpDate tbl1 SET Id='" & Me.txtName & "'"

حقل تاريخ بقيمة محددة في الكود

sqlUpdate = "UpDate tbl1 SET Id=# 01-12-1424 #"

حقل تاريخ بقيمة محددة في مربع نص باسم txtDate

sqlUpdate = "UpDate tbl1 SET Id=#" & Me.txtDate & "#"

========================

هنا يقوم الكود بتحديث الحقل في جميع سجلات الجدول المختار بالقيمة الجديدة بالشرط

حقل رقم بقيمة محددة في الكود

sqlUpdate = "UpDate tbl1 SET Id=555"
sqlUpdate = sqlUpdate & " Where id=333"

حقل رقم بقيمة محددة في مربع نص باسم txtId

sqlUpdate = "UpDate tbl1 SET Id=" & Me.txtNO
sqlUpdate = sqlUpdate & " Where id=" & Me.txtId

حقل نص بقيمة محددة في الكود

sqlUpdate = "UpDate tbl1 SET Id='أحمد'"
sqlUpdate = sqlUpdate & " Where id='محمد''

حقل نص بقيمة محددة في مربع نص باسم txtNewName

sqlUpdate = "UpDate tbl1 SET Id='" & Me.txtName & "'"
sqlUpdate = sqlUpdate & " Where id='" & Me.txtNewName & "'"

حقل تاريخ بقيمة محددة في الكود

sqlUpdate = "UpDate tbl1 SET Id=# 01-12-1424 #"
sqlUpdate = sqlUpdate & " Where id=# 01-12-1423 #"

حقل تاريخ بقيمة محددة في مربع نص باسم txtNewDate

sqlUpdate = "UpDate tbl1 SET Id=#" & Me.txtDate & "#"
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
#2

تسلم أخوي على مثل هالمواضيع المهمة .

#3

حقل رقم بقيمة محددة في مربع نص باسم txtNO

CODE

sqlUpdate = "UpDate tbl1 SET Id=" & Me.txtNO

حقل نص بقيمة محددة في الكود

CODE

sqlUpdate = "UpDate tbl1 SET Id='أحمد'''

حقل نص بقيمة محددة في مربع نص باسم txtName

CODE

sqlUpdate = "UpDate tbl1 SET Id='" & Me.txtName & "'"

أستاذ أحمد جزاك الله خيرا عن هذه المعلومات, أريد أن أسأل في هذا المجال كيف أجعل البرنامج عندما أشغله أول مرة يطلب مني اٍدخال قيمة معينة كاسم شركة مثلا لاستعماله كعنوان للتقارير مثلا , و يخزن هذه القيمة و لا يطلبه مرة أخرى؟

#4

أخي biskra ..

الفكرة كالتالي :

- أشأ جدولاً مثلاً باسم (tbl1) وبه حقلان :

1- اسم الشركة (نص)

2- مشاهد (نعم/لا) مثلاً باسم NoShow .. (صح) يعني سيشاهد النموذج عند كل تشغيل للبرنامج .. (خطأ) لن يشاهد .. والقيمة الافتراضية له (نعم)

- أنشأ نموذجاً مثلاً باسم (frmShow) مصدر بياناته هذا الجدول .. وضع به الحقلين

- في الشاشة الافتتاحية للبرنامج وفي حدث (عند الفتح) قم عن طريق الكود بفحص حالة الحقل(مشاهد) السابق فإذا لم يكن به إشارة (صح) لا يقوم الكود بفتح النموذج وإلا اجعل الكود يقوم بفتح النموذج ..

- ثم إذا فتح النموذج فيستطيع المستخدم تعبئة حقل اسم الشركة .. وإزالة علامة(صح) من خانة (مشاهد) لكي لا تعرض له الشاشة مرة أخرى

- فإذا قام المستخدم بإزالة علامة (صح) نقوم في حدث (قبل التحديث للنموذج) ومن خلال الكود بتحديث الحقل في الجدول من القيمة True إلى False

هذه الفكرة وبالكود كالتالي :

في حدث (عند الفتح) للشاشة الرئيسية للبرنامج نضع الكود التالي :

Dim ShowYesNO As String
ShowYesNO = DLookup("[NoShow]", "tbl1")
If ShowYesNO = True Then
    DoCmd.openForm "frmShow"
End If

وفي حدث (قبل التحديث) للنموذج الذي أنشأناه frmShow

Dim sqlUpdate As String

If Me.Noshow = True  Then Exit Sub

sqlUpdate = "Update tbl1 SET Noshow =" & False
DoCmd.SetWarnings False
DoCmd.RunSQL sqlUpdate

تم تعديل هذه المشاركة بواسطة أحمد الحربي في 30 أبريل 2004 في 19:27

#5

مشكور أستاذ أحمد على الشرح, فعلا جربت الكود و كانت النتيجة ممتازة, سوف أجرب الآن المثال على تقرير .

#6

اٍعتمادا على الشرح المفصل من طرف الأستاذ أحمد الحربي قمت بتصميم مثال تطبيقي للكود,أضعه في المنتدى لكي يستفيد منه الأعضاء, مع الملاحظة أن اٍسم الشركة تكون نتيجته في التقرير "رأس التقرير" و ذلك عن طريق اٍنشاء مربع نص غير منضم و كتبت الكود التالي في مصدر بياناته:

=DLookUp(" [اسم الشركة] ";"tbl1")

مثال على ادخال اِسم الشركة عند تشغيل البرنامج أول مرة.rar

هذا الموضوع مغلق.

مواضيع مشابهة