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

خطاء في كود تحديث جدول من استعلام

مغلقمُجاب
بدأه همام في 13 سبتمبر 2013 · 5 رد · 1,269 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة في المنتدى لدي جدول

ClassCompare

اريد تحديث عمود  Mou

من استعلام جمع

 

حسب الكود

    Dim db As Database, rst1 As Recordset, rst2 As Recordset
    Set db = CurrentDb
    Set rst1 = db.OpenRecordset("SELECT TImployees.SchID, TImployees.WID, Count(TImployees.Identity) AS WCount FROM TImployees GROUP BY TImployees.SchID, TImployees.WID, TImployees.EmpStatus HAVING (((TImployees.WID)=1) AND ((TImployees.EmpStatus)='1000'));")
    Set rst2 = db.OpenRecordset("ClassCompare")
       

    rst2.Index = "SCh_Code"
    rst2.Seek "=", rst1!SchID
    
    
    
  
    rst2.MoveFirst
    Do While Not rst2.EOF
    If Not rst2.NoMatch Then
    rst2.Edit
    rst2![Mou] = rst1![WCount]
    rst2.Update
    End If
    rst2.MoveNext
    Loop
    rst2.Close

امل توضيح الخطاء

Test.rar

#2

تفضل اخي الكريم

 

عند استخدام صيغة  Seek في الكود يجب ان يكون لديك حقل مفهرس وهو  SCh_Code  في الجدول  ClassCompare

 

لذا سنقوم بإستبدال  هذا السطر في الكود

 

rst2.Index = "SCh_Code"

 

 

بهذا السطر بإعتبار اننا قمنا بتغيير الحقل SCh_Code  الى حقل مفهرس

 

rst2.Index = "PrimaryKey"
 
الآن الكود سوف يعمل معك بشكل صحيح وسيتم تحديث الحقل  Mo في الجدول ClassCompare

 

 

za-Test-UP.rar

 

 

بالتوفيق

#3

اشكرك اختي زهره كم انت سباقة لكل خير

 

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

 

 

0uUf6.jpg

 

 

ما رايك؟

 

وهل من طريقة من غير تحويل حقل SCh_Code الى فهرس

تم تعديل هذه المشاركة بواسطة همام في 14 سبتمبر 2013 في 03:34

#4 أفضل إجابة

تفضل اخي الكريم

 

الملف بعد التعديل بناء على طلبك

 

 

za-Test-END.rar

 

 

 

بالتوفيق

1
#5

اشكر جهودك اختي زهرة ولا يحرمك الاجر

 

ولكن؟؟

 

bNa3F.jpg

#6

اخي الفاضل : همام

 

وعليكم السلام ورحمة الله وبركاته

 

وجزاك الله كل خير

 

اذا كان لدينا جدول عادي او استعلام عادي مبني على الجدول فإننا نستخدم الكود البرمجي بشكل طبيعي بدون انشاء اي استعلام به معايير

 

محدده او انشاء جدول مبني على استعلام به معايير .

 

ولهذا تجد ان قاعدة البيانات تستجيب لإستعلام التحديث بدون اي مشكله او اخطاء .

 

اما اذا كان لدينا عدة معايير في الإستعلام ونريد تحديث بيانات جدول آخر بناء على هذه المعايير فإن الكود البرمجي لا يسمح لنا بذلك لأنه يجب

 

عند التحديث ان يكون الإستعلام خالي من اي معايير .

 

ولهذا نضظر الى انشاء جدول مؤقت مبني على استعلام المعايير ثم بعد نقوم بتحديث السجلات ثم نقوم بحذف الجدول المؤقت لعدم الحاجة له

 

واستعدادا لتحديث بيانات جديده بناء على المعايير التي سوف نحددها بعد ذلك في الإستعلام 

 

لذا فإن استعلام انشاء جدول مؤقت مبني على عدة معايير هي افضل طريقة .

 

 

بالتوفيق

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

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