RE: هل جملة الاستعلام هذه صحيحة ام خاطئة من فضلكم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ - hassan 14 - 29-05-18
السلام عليكم بعد تجربتي مع الفكرة الامور عادية وشغالة وطبقت كل ماقلته لي لكن بعد ارجاع الكتاب اي جعل قيمة معار 0
وبعدة اعادة تجربة اعارة الكتاب المعاد الذي يحمل نفس الرقم تضهر رسالة "لا يوجد اى نتائج عن رقم الكتاب المدخل"
بعد تفكيري في المشكلة اخي elgokr عندما اعير الكتاب في البداية الكود يشتغل بطريقة جيدة المشكلة تضهر بعد اعادة الكتاب نفسه
ومعاودة اعارته يصبح في نفس الجدول كتاب مؤشر عليه وكتاب لا يحملان نفس الرقم وهنا يجب فصل الكتب المرجعة في جدول اخر مارايك...............
كود :
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Try
Dim dt As New DataTable
Dim da As New OleDbDataAdapter
dt.Clear()
da = New OleDbDataAdapter("select * from Table3 where Nlivre = " & Nlivre.Text, con)
da.Fill(dt)
If dt.Rows.Count > 0 Then
If dt.Rows(0).Item("mooar").ToString = True Then
MsgBox("هذا الكتاب في الاعارة", MsgBoxStyle.Exclamation, "تنبيه")
Else
preedt.Rows.Add()
Dim last As Integer = preedt.Rows.Count - 1
preedt.Rows(last).Item("Nlivre") = Nlivre.Text
preedt.Rows(last).Item("Npree") = Npree.Text
preedt.Rows(last).Item("Nometalib") = Nometalib.Text
preedt.Rows(last).Item("Prnometalib") = Prnometalib.Text
preedt.Rows(last).Item("Titerlivre") = Titerlivre.Text
preedt.Rows(last).Item("Classelivre") = Classelivre.Text
preedt.Rows(last).Item("Auterlivre") = Auterlivre.Text
preedt.Rows(last).Item("Ntalib") = Ntalib.Text
preedt.Rows(last).Item("mooar") = Mooar.Checked
preedt.Rows(last).Item("Datepre") = Datepre.Value
preedt.Rows(last).Item("nmbtotard") = Nmbtotard.Text
Dim sav As New OleDbCommandBuilder(preeda)
preeda.Update(preedt)
preedt.AcceptChanges()
MsgBox("تم الاعارة بنجاح", MsgBoxStyle.Information, "تنبيه")
loudpree()
novoupree()
End If
Else
MsgBox("لا يوجد اى نتائج عن رقم الكتاب المدخل", MsgBoxStyle.Exclamation, "تنبيه")
End If
Catch ex As Exception
End Try
End Sub
RE: هل جملة الاستعلام هذه صحيحة ام خاطئة من فضلكم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ - elgokr - 29-05-18
كل الفكرة فقط عند استرجاع الكتاب
وعمل كود التعديل على الكتاب
فى الجزء الخاص بـ
لاتمام التعديل على كتاب قم بعمل فلتر لـ
( رقم الكتاب - وان قيمة mooar = 1 )
اذا كنت تعمل كود استعلام للتحقق من الكتاب المعار
كل الفكرة انه هتعمل نفس كود الاعارة بس تعكس قيمة mooar
بحيث فى الاول كنت بتقول لو القيمة 1 يظهر رسالة بان الكتاب معار
لا هنا وتقتها تعكس و القيمة 0 تظهر رسالة بان الكتب غير معار
ولو القيمة 1 يتم تنفيذ كود التعديل لتغيير قيمة mooar من 1 الى 0
وبكده تكون انهيت المشكلة
تحياتى لك
وتمنياتى لك التوفيق
RE: هل جملة الاستعلام هذه صحيحة ام خاطئة من فضلكم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ - hassan 14 - 29-05-18
اعرف بان الامر طال طبقت كود التعديل وهو يشتغل بصورة جيدة اعير الكتاب وارجعه لكن لمرة واحدة فقط
بعد اعارة الكتاب للمرة الثانية يضهر رسالة المعروفة هذا الرقم غير مدرج ويا للاسف اخي elgokr
RE: هل جملة الاستعلام هذه صحيحة ام خاطئة من فضلكم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ - elgokr - 29-05-18
(29-05-18, 07:42 PM)hassan 14 كتب : اعرف بان الامر طال طبقت كود التعديل وهو يشتغل بصورة جيدة اعير الكتاب وارجعه لكن لمرة واحدة فقط
بعد اعارة الكتاب للمرة الثانية يضهر رسالة المعروفة هذا الرقم غير مدرج ويا للاسف اخي elgokr
هل عند استرجاع اعارة الكتاب تقوم بعمل كود حذف ام تعديل
لان لو حذف فالطبيعي سيظهر هذه الرسالة
ولكن اذا كان تعديل فتاكد انك تقوم بالتعديل فقط على mooar
او ارفق المشروع مجدداً بعد اخر تعديلات واضافاتك عليه
لنظر على شكل كود اعادة الكتاب
تحياتى لك
RE: هل جملة الاستعلام هذه صحيحة ام خاطئة من فضلكم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ - hassan 14 - 29-05-18
قمت بالتعديل على الكود وليس الحذف الكود موجود على فورم rotorliver اي اعادة الكتاب بعد الضغط على الزر يدخل تاريخ الارجاع ويحول حالة المعار من 1 الى0 ويحسب الفرق بين تاريخ
الاعارة وتاريخ الارجاع
RE: هل جملة الاستعلام هذه صحيحة ام خاطئة من فضلكم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ - elgokr - 29-05-18
(29-05-18, 08:03 PM)hassan 14 كتب : قمت بالتعديل على الكود وليس الحذف الكود موجود على فورم rotorliver اي اعادة الكتاب بعد الضغط على الزر يدخل تاريخ الارجاع ويحول حالة المعار من 1 الى0 ويحسب الفرق بين تاريخ
الاعارة وتاريخ الارجاع
فى الجزء الخاص بـ
انت تستخدم قيمته
كود :
DataGridView1(7, DataGridView1.CurrentRow.Index).Value
وهذا غير صحيح
يجب ان يكون القيمة
بناءاً على رقم الكتاب الذى سيكتب عند استرجاعه
واذا كان فكرتك انك تكتب تكتب اسم الكتاب
ومن ثم الضغط على زر اعادة الكتاب فهنا هيكون مشكلة
لان الجدول يوجد به اسم الكتاب مكرر
لذلك قم بالتعامل بـ رقم الكتاب
واستبل القيمة كما تم توضيحه بالاعلى
تحياتى لك
RE: هل جملة الاستعلام هذه صحيحة ام خاطئة من فضلكم؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ - hassan 14 - 15-10-18
(27-05-18, 06:13 AM)elgokr كتب : فى تعليقات سابقة قمت بتنبيه مع التوضيح
اذا كان الاستعلام عن الكتاب مبني فى جدول الكتب فقط
وليس سجل حركة الكتاب
فمثلاً جدول الكتاب مبني على التالى
ID || CodeBook || NameBook || CeckBook
هذا كا مثال فقط
وهو التالى ( رقم التسلسل - كود الكتاب - اسم الكتاب - حقل بنعم أو لا [ للتاكد بانه معار او لا ] )
لما هنعمل الاستعلام
سيفضل الاستعلام يكون على CodeBook
حيث ان كود الكتاب لن يتكرر مع كتاب اخر
بما ان فى احتمالية اسم الكتاب يتكرر كمثال
كتاب ( ما هو الاسلام ) للكاتب : فضيلة الشيخ الدكتور فلان الفلان تاريخ الاصدار 1872
كتاب ( ما هو الاسلام ) للكاتب : الدكتور فلان الفلان تاريخ الاصدار 2002
فالاسم تكرر لكن كلا منهما مختلف عن الاخر
اذا كان الاستعلام عن اسم الكتاب
فمن الطبيعي سيقوم عرض 2 سجل فى الاستعلام
وبما ان الاستعلام مش مرتب من الاحدث للاقدم او العكس فسيتم اخد السجل الاول فى الاستعلام
لذلك يفضل عمل كود للكتاب بحيث ان الكود لا يتم تكراره
وبكدة ناتج الاستعلام 1 مهما تم
طيب لو كان الفكرة من جدولين مثلاً
جدول الكتب و جدول حركة
فـ مثلاً كل جدول به التالى
جدول الكتب
ID || CodeBook || NameBook || NCeckBook
جدول سجل حركة الكتاب
ID || NCeckBook || CodeBook || CheckBook
هنا يكون التالى
عملية الاستعلام مع الربط
بان قيمة CodeBook من جدول الكتب تسوى CodeBook من سجل الحركة
وايضاً NCeckBook من جدول الكتب يساوى NCeckBook من سجل الحركة
من ثم التاكد من قيمة CheckBook من جدول سجل الحركة اذا كان 0 او 1
سيكون القيمة لاستعلام 1 مهما كان لان كل مرة بيتم فيها اعارة الكتاب
يتم تحديث قيمة NCeckBook من جدول الكتاب بيكون مثلاً تاريخ ووقت الاعارة
ولما يتم استرجاعه يتم تحديث القيمة لتاريخ ووقت الاسترجاع
بينما NCeckBook فى جدول السجل يقوم باضافة وليس تحديث
لعمل سجل حركة الكتاب ومعرفة عدد مرات تمت اعارة الكتاب فيه
التعليق هنا لاضاة من الافكار لما تقوم به
وبخصوص الحل النهائي لما يقف معك سيعتمد على قعدة البيانات او المشروع المرفق فى ردك
تحياتى لك
وتمنياتى لك التوفيق
(27-05-18, 06:13 AM)elgokr كتب : فى تعليقات سابقة قمت بتنبيه مع التوضيح
اذا كان الاستعلام عن الكتاب مبني فى جدول الكتب فقط
وليس سجل حركة الكتاب
فمثلاً جدول الكتاب مبني على التالى
ID || CodeBook || NameBook || CeckBook
هذا كا مثال فقط
وهو التالى ( رقم التسلسل - كود الكتاب - اسم الكتاب - حقل بنعم أو لا [ للتاكد بانه معار او لا ] )
لما هنعمل الاستعلام
سيفضل الاستعلام يكون على CodeBook
حيث ان كود الكتاب لن يتكرر مع كتاب اخر
بما ان فى احتمالية اسم الكتاب يتكرر كمثال
كتاب ( ما هو الاسلام ) للكاتب : فضيلة الشيخ الدكتور فلان الفلان تاريخ الاصدار 1872
كتاب ( ما هو الاسلام ) للكاتب : الدكتور فلان الفلان تاريخ الاصدار 2002
فالاسم تكرر لكن كلا منهما مختلف عن الاخر
اذا كان الاستعلام عن اسم الكتاب
فمن الطبيعي سيقوم عرض 2 سجل فى الاستعلام
وبما ان الاستعلام مش مرتب من الاحدث للاقدم او العكس فسيتم اخد السجل الاول فى الاستعلام
لذلك يفضل عمل كود للكتاب بحيث ان الكود لا يتم تكراره
وبكدة ناتج الاستعلام 1 مهما تم
طيب لو كان الفكرة من جدولين مثلاً
جدول الكتب و جدول حركة
فـ مثلاً كل جدول به التالى
جدول الكتب
ID || CodeBook || NameBook || NCeckBook
جدول سجل حركة الكتاب
ID || NCeckBook || CodeBook || CheckBook
هنا يكون التالى
عملية الاستعلام مع الربط
بان قيمة CodeBook من جدول الكتب تسوى CodeBook من سجل الحركة
وايضاً NCeckBook من جدول الكتب يساوى NCeckBook من سجل الحركة
من ثم التاكد من قيمة CheckBook من جدول سجل الحركة اذا كان 0 او 1
سيكون القيمة لاستعلام 1 مهما كان لان كل مرة بيتم فيها اعارة الكتاب
يتم تحديث قيمة NCeckBook من جدول الكتاب بيكون مثلاً تاريخ ووقت الاعارة
ولما يتم استرجاعه يتم تحديث القيمة لتاريخ ووقت الاسترجاع
بينما NCeckBook فى جدول السجل يقوم باضافة وليس تحديث
لعمل سجل حركة الكتاب ومعرفة عدد مرات تمت اعارة الكتاب فيه
التعليق هنا لاضاة من الافكار لما تقوم به
وبخصوص الحل النهائي لما يقف معك سيعتمد على قعدة البيانات او المشروع المرفق فى ردك
تحياتى لك
وتمنياتى لك التوفيق
اتمنى ان تكون بخير بعد ضروف مريت بها ها انا قد عدت اتمنى ان تكونو بخير لقد احترت في شيئ ما المقصود بهذه الكلمة NCeckBook
|