اخوانى الأعزاء
ما معنى الأمر refresh
سيقول أحدكم هذا الأمر للتنشيط
اذآ فما المقصود بالتنشيط؟
ما الفرق بين كل من
Data1.MoveFirst
Data1.Refresh
كلاهما يوجه قاعدة البيانات الى أول سجل
</SPAN></SPAN>
ولكم ألف شكر
اخوانى الأعزاء
ما معنى الأمر refresh
سيقول أحدكم هذا الأمر للتنشيط
اذآ فما المقصود بالتنشيط؟
ما الفرق بين كل من
Data1.MoveFirst
Data1.Refresh
كلاهما يوجه قاعدة البيانات الى أول سجل
</SPAN></SPAN>
ولكم ألف شكر
بســم الله الـرحمــن الرحيــم
السلام عليكــم ورحمـة الله وبركاتــة ،،
الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين
شكراً لك اخي الكريم
Repaints a form or control and refreshes any values, or refreshes a project's visual display. There are two versions of the syntax.
اقتباساخوانى الأعزاءما معنى الأمر refresh
سيقول أحدكم هذا الأمر للتنشيط
اذآ فما المقصود بالتنشيط؟
ما الفرق بين كل من
Data1.MoveFirst
Data1.Refresh
كلاهما يوجه قاعدة البيانات الى أول سجل
ولكم ألف شكر
الأخ الغالي ، تحية طيبة وبعد ،
هناك فرق كبير بين الأمرين MoveFirst و Refresh !!!
الأمر Refresh ليس الغرض منه الإنتقال الي السجل الأول كما تتخيل ، بل المقصود منه هو إجراء تحديث للسجلات المرفقة بكائن الـ Data1 !!!
وللتوضيح أكثر ، عملية الـ Refresh تقوم بإعادة جلب السجلات والبيانات بجدول البيانات من جديد ، حيث نفترض أن قاعدة البيانات مرتبطة بشبكة حواسب مكونة من ثلاثة أجهزة كعلي سبيل المثال ، وكل جهاز به برنامجك ، وكل مستخدم فاتح نافذة ترتبط بنفس الجدول ، هناك مستخدم يحذف سجل ، وآخر يدرج سجل ، وآخر يعدل سجل ، ولكن كل مستخدم لا يري أي تعديلات قام بها الطرف اللآخر إلا بعد إجراء تعديل Refresh علي عنصر الـ Data1 حتي تجلب آخر تعديلات تمت علي هذا الجدول سواء من طرفي أو من الطرف الآخر .
حاول تعمل أي برنامج مرتبط بقاعدة بيانات بواسطة DataControl مثلاً وأربط مع جدول محدد ثم نفذ البرنامج ... أثناء عملية التنفيذ أذهب الي قاعدة البيانات ومن ثم غير أي قيمة بالجدول المرتبط ببرنامجك مثلاً جدول ( الموظف ) من حذف سجل أو إدراج سجل أو تعديل سجل ، ومن ثم أذهب الي نافذة برنامجك وحاول تنتقل بين السجلات ستجد القيم القديمة كما هي ... ولكن إذا فعلت Refresh علي الـ Data Control سيعيد جلب السجلات من جديد والتحديثات التي تمت علي الجدول المرتبط .
لذلك دائماً من المفضل جلب سجل سجل من قاعدة البيانات وفي حالة الإنتقال الي السجل التالي يتم جلبة من جديد ( وهذا رأيي الشخصي ) .
بالتوفيق
لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي
ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك
أنت وتصرفاتك
ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه
اشد آلام ... فصمتي أنا عنوان
جزاك الله خيرآ أخي العزيز
ولك ألف شكر
ولكن نفترض أن قاعدة البيانات غيرمرتبطة الا بجهاز واحد به برنامجى
وأن المستخدم ليس بامكانه أن يذهب الي قاعدة البيانات ليغير أي قيمة بالجدول من حذف أو إدراج أو
تعديل سجل(أى لا يستطيع الا أن يذهب الي برنامجى ويتنتقل بين السجلات ليغير أي قيمة بالجدول
من حذف أو إدراج أوتعديل سجل)
فهل لا يوجد استخدام لهذا الأمر؟
أتمنى منك المزيد من الأمثلة حتى أفهم جيدآ متى أستخدم هذا الأمر
ولك ألف شكر
بســم الله الـرحمــن الرحيــم
السلام عليكــم ورحمـة الله وبركاتــة ،،
الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين
شكراً لك اخي الكريم
الأخ الغالي ، طالما أنت ضامن ضمان كامل بأن قاعدة البيانات ستفتح مرة واحدة بواسطة برنامجك الشخصي ، وأن قاعدة البيانات محمية من عبث المستخدم العادي في هذه الحالة ليس أمر Refresh له فائدة ، وفائدتة الرئيسية كما ذكرتة لك وهو إجراء تحديث للبيانات والسجلات في حالة إرتباط القاعدة بالشبكة أو إستخدام أكثر من مستخدم للقاعدة ( مع العلم أن إستخدام هذه الطريقة غير جيدة خصوصاً في حالة إستخدام بيانات كبيبرة كما ذكرت لك من قبل ونصيحة أخوية أبتعد تماماً عن هذا الأسلوب ) !!!
شكراً
تم تعديل هذه المشاركة بواسطة MMA_EG_Cairo في 17 مارس 2008 في 20:15
لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي
ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك
أنت وتصرفاتك
ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه
اشد آلام ... فصمتي أنا عنوان
طيب اخي انا استخدم Adodc
وعند حذف سجل لازم اضغط الزر مرتين ثم ينحذف السجل وتختفي البيانات في الحقول
وهذا هو الكود هل هو صحيح ارجو التعديل والف الف شكر لك
Adodc1.Recordset.Delete
Adodc1.Refresh
كلمات اتعبت الملائكة في كتابة الأجر فذهبوا وشكوا إلى ربهم .... ماذا يفعلون
فقال لهم سبحانه وتعالى اطووها بصحائفها وضعوها تحت عرشي فتبقى حسناتها إلى يوم القيامة الله اكبر
(( اللهم لك الحمد كما ينبغي لجلال وجهك وعظيم سلطانك))
اقتباسطيب اخي انا استخدم Adodcوعند حذف سجل لازم اضغط الزر مرتين ثم ينحذف السجل وتختفي البيانات في الحقول
وهذا هو الكود هل هو صحيح ارجو التعديل والف الف شكر لك
Adodc1.Recordset.Delete
Adodc1.Refresh
بص يا أخي المفروض تمنح قاعدة البيانات فرصة حتي تنفذ عملية الحذف أو تحدث البيانات من جديد !!!
علي سبيل المثال تعرض رسالة للمستخدم بأن عملية الحذف إنتهت كما يلي :
Adodc1.Recordset.Delete Adodc1.Refresh
بالإضافة الي ذلك أن أفضل شيء هو ما يلي :
Adodc1.Recordset.Delete If(Adodc1.Recordset.RecordCount = 0)Then Adodc1.Refresh Else Adodc1.MoveFirst End If
شكراً
لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي
ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك
أنت وتصرفاتك
ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه
اشد آلام ... فصمتي أنا عنوان
الف الف شكر
كلمات اتعبت الملائكة في كتابة الأجر فذهبوا وشكوا إلى ربهم .... ماذا يفعلون
فقال لهم سبحانه وتعالى اطووها بصحائفها وضعوها تحت عرشي فتبقى حسناتها إلى يوم القيامة الله اكبر
(( اللهم لك الحمد كما ينبغي لجلال وجهك وعظيم سلطانك))
اقتباسبالإضافة الي ذلك أن أفضل شيء هو ما يلي :كودAdodc1.Recordset.Delete
If(Adodc1.Recordset.RecordCount = 0)Then
Adodc1.Refresh
Else
Adodc1.MoveFirst
End If
لعلك تقصد يا أخى الكود التالى
NREC=Adodc1.Recordset.RecordCount Adodc1.Recordset.Delete If(Adodc1.Recordset.RecordCount = NREC-1)Then Adodc1.Refresh Else Adodc1.MoveFirst End If
شكراً
بســم الله الـرحمــن الرحيــم
السلام عليكــم ورحمـة الله وبركاتــة ،،
الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين
شكراً لك اخي الكريم
آسف على خطأ الكتابة الذى حدث
لعلك تقصد يا أخى الكود التالى
NREC = Adodc1.Recordset.RecordCount Adodc1.Recordset.Delete If (Adodc1.Recordset.RecordCount = NREC - 1) Then Adodc1.Refresh Else Adodc1.MoveFirst End If
وشكرآ
آآآآآآآآآآآآآآآآآآآآآآآآآآسف
لعلك تقصد يا أخى الكود التالى
NREC = Adodc1.Recordset.RecordCount
Adodc1.Recordset.Delete
If (Adodc1.Recordset.RecordCount = NREC - 1) Then
Adodc1.Refresh
Else
Adodc1.MoveFirst
End If
بســم الله الـرحمــن الرحيــم
السلام عليكــم ورحمـة الله وبركاتــة ،،
الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين
شكراً لك اخي الكريم