تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] الـ Recordset لا تدعم التحديث (Update)
#1
Question 
من دا انفذ هذا الكود
de2.rsCommand1.MoveFirst
While Not de2.rsCommand1.EOF = True
de2.rsCommand1.Fields("no").Value = de2.rsCommand1.AbsolutePosition
de2.rsCommand1.Update
de2.rsCommand1.MoveNext
Wend
يتوقف في السطر الثالث ويعطي رسالة مفادها هذا الريكوردسيت لايدعم التحديث .وهذا ممكن بسبب التحديد من البروفايدر او نوع القفل (locktype)
طبعا ('no') مأخوذ من هذا الكود
de2.rsCommand1.Open "SELECT ' ' as [no], (contract_information.contract_id), (contract_information.contract_name),(contract_information.work_case),(contract_information.contract_company_name),(contract_information.contract_chief),(contract_information.contract_warning),(contract_information.date_warning),(progress_work.percent),(contract_information.notes)" & _
",contract_information.contract_chief " & _
" FROM (contract_information), (progress_work) " & _
" Where (contract_information.contract_id = progress_work.contract_id) and (contract_information.work_case='ãÓÊãÑ' or contract_information.work_case='ãÊæÞÝ') "
الرد }}}
تم الشكر بواسطة:
#2
مثلاً المتغير أو الكوماند المسئول عن فتح الجدول عندك اسمه = RS
تضع هذا السطر قبل فتح الجدول

RS.cursorlocation = adclient
الرد }}}
تم الشكر بواسطة: بشار الذيب
#3
السلام عليكم...

أولاً الحقل no حقل وهمي (أي تم إنشاؤه بجملة SELECT و ليس حفلاً فعلياً في الجدول) و بالتالي لا يمكن تحديثه.

ثانياً: السبب في أن الـ Recordset لا تدعم التحديث (Update) هو أنها تجمع أكثر من جدول واحد. في هذه الحالة لا يمكن التحديث إلا إذا كانت جميع الحقول في جموع الجداول ذات العلاقة مشمولة في جملة SELECT.

*ملاحظات:
1. لا داعي لاستعمال كل تلك الأقواس (...) حول أسماء الحقول و الجداول. فقط استعمل الأقواس المربعة [...] إذا كان اسم الحقل أو الجدول يحتوي على فراغات أو يشبه كلمة محجوزة لمحرك قواعد البيانات.
2. عملية الترقيم باستعمال حلقة - حتى و إن نجحت - ليست أمراً عملياً و خاصة إذا كان عدد السجلات كبيراً.

سلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}
تم الشكر بواسطة: بشار الذيب
#4
اخواني (حريف برمجة) و (ناجي إبراهيم) بارك الله بكم وجزاكم كل خير ما قصرتو كفيتو و وفيتو
الرد }}}
تم الشكر بواسطة:



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


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