تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
خطا في الترقيم
#1
السلام عليكم.اخواني كيف اصلح هذا الخطا .لما تكون قاعدة البيانات فارغة تماما ما بها اي سجل يظهر الرسالة هذي

و لما اضيف الرقم 1 يدوي لقاعدة البيانات الترقيم يسير عادي.المشكلة الا المرة الاولى لما تكون قاعدة البيانات فارغة.بارك الله اخواني


الملفات المرفقة
.rar   WindowsApplication1.rar (الحجم : 120.93 ك ب / التحميلات : 10)
الرد
تم الشكر بواسطة:
#2
اخي محمد خيري
قم بتغيير حقل SerialNo في قاعدة البيانات من رقم الى ترقيم تلقائي ثم قم بحذف اجراء Call serialno_generate من حدث اللود الخاصة بالفورم 2 ، بهذه الطريقة انت لست بحاجة الى توليد رقم للحقل 
 وسوف تحل المشكلة ان شاء الله
الرد
#3
ما ضبطت اخي larbihamri كيف ما ذكرت.شكرا على كل حال
الرد
تم الشكر بواسطة: elgokr
#4
السّلام عليكم و رحمة الله و بركاته
إضافة لما قدّمه أخي العربي .. يمكن أن تقوم باستدعاء الكود التالي بحدث الفورم لود ..
كود :
   Public Sub Test_Max_Record()
       Call SNoNavigation()
       Dim InfoCommand As New OleDbCommand(" SELECT MAX(SerialNo) FROM Table1  ", OleCn)
       If OleCn.State = ConnectionState.Closed Then OleCn.Open()
       If InfoCommand.ExecuteScalar Is DBNull.Value Then
           txtSerialNo.Text = 1
       Else
           txtSerialNo.Text = InfoCommand.ExecuteScalar + 1
       End If
   End Sub

تحياتي
الرد
تم الشكر بواسطة: محمد خيري , elgokr
#5
شكرا اخي عبد العزيز البسكري.ما عرفت اشغلو.هل يمكن اعدل فقط على الكود بملفي بارك الله فيك
الرد
تم الشكر بواسطة: elgokr
#6
انتظر اذن أخي الكريم .. الدواء الشافي من استاذنا   elgokr
تحياتي
الرد
تم الشكر بواسطة: elgokr , ابراهيم ايبو , محمد خيري
#7
(29-10-18, 06:21 PM)عبد العزيز البسكري كتب : انتظر اذن أخي الكريم .. الدواء الشافي من استاذنا   elgokr
تحياتي


هذه شهادة اعتز بها اخى وحبيبى عبدالعزيز البسكري
ولا اعلم ماذا اقول بعد كلامك هذا

بخصوص مشكلة الاخ محمد خيري
فتلك الرسالة تظهر بسبب عدم وجود اى بيانات بقاعدة بيانات
حيث انه يستخدم السطر التالى
كود :
a = Dst.Tables("Table1").Rows(i)("SerialNo").ToString + 1

لو وضعنا انفسنا مكان البرنامج لقراءة الكود
عند جزء
كود :
Rows(i)

والتى تعنى مثلاً
كود :
Rows(-1)

بنائاً على الكود فى المشروع
السؤال هنا تفتكر هو من الاساس هل الجدول يحتوى على اى من Rows طبعاً لا طيب
لذلك تظهر تلك الرسالة بان قيمة -1 غير صالحة هل تعتقد ان بداية العد فى Rows يبداء بـ -1
طيب حتى الان وضحنا سبب المشكلة كيف الان يمكن معالجة الامر 

هنا ناتى على الاسطر التالية من الكود فى المشروع
كود :
           i = Dst.Tables("Table1").rows.count - 1
           a = Dst.Tables("Table1").Rows(i)("SerialNo").ToString + 1
           txtSerialNo.Text = a

وفقط نستبدلها بالاسطر التالية
كود :
           If Dst.Tables("Table1").rows.count > 0 Then
' فى حالة ان الجدول يحتوى على بيانات سيقوم بتنفيذ هذا الكود
               i = Dst.Tables("Table1").rows.count - 1
               a = Dst.Tables("Table1").Rows(i)("SerialNo").ToString + 1
           Else
' فى حالة ان الجدول فارغ سيقوم بتنفيذ هذا الكود
               i = 0
               a = i + 1
           End If
           txtSerialNo.Text = a

طيب ايه اللى انا عملته وليه شرط التحقق
هنا انا بقول فى شرط التحقق اذا كان الجدول بقاعدة البيانات لا تحتوى على اى بيانات اى انها فارغة
قم بجعل القيم لكل من i و a ارقام افتراضية غير قابلة للمعادلة الحسابة اى قيمة ثابتة وهو 0 و +1 على قيمة 0
طيب وفى حالة ان الجدول اصبح يحتوى على بيانات فهنا سيقوم بتنفيذ الكود الذى كان سابقاً يقوم بعرض رسالة خطاء
لكن فى هذه المرة لم يعرضها لان اصبح الجدول تحتوى على بيانات فعلية وبدون اى مشكلة
اتمنى ان يكون الشرح مبسط وموضح به سبب المشكلة وان الامور بسيطة لحلها
تحياتى للجميع
وتمنياتى لكم التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

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


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
#8
كما قال اخي عبد العزيز
تدخلاتك دواء استاذ elgokr
الرد
تم الشكر بواسطة: elgokr , elgokr
#9
الله ينور لك كل الطرق استاذ elgokr هذا المطلوب كلو تمام الله يبارك فيك ان شاء الله
الرد
تم الشكر بواسطة: elgokr
#10
أو يمكنك أن تجرب هذا الكود أسهل و أبسط من كل هذا :

كود :
Dim Dst = New DataSet
   Dim OleCn As New OleDbConnection
   Dim myDA As OleDbDataAdapter
   Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Try
           SNoNavigation()
           txtName.Focus()
           Me.KeyPreview = True
       Catch ex As Exception
           MsgBox(ex.Message(), MsgBoxStyle.Critical, "خطأ")
       End Try
   End Sub
   Private Sub SNoNavigation()
       Try
           OleCn.ConnectionString = "Provider=Microsoft.Jet.oledb.4.0; Data Source=" & My.Application.Info.DirectoryPath.ToString() & "\DATABASEDDF.mdb;Persist Security Info=False"
           If OleCn.State = ConnectionState.Closed Then OleCn.Open()
           myDA = New OleDbDataAdapter("Select IIF(Max(SerialNo) Is NULL,1,Max(SerialNo)+1) From Table1", OleCn)
           myDA.Fill(Dst, "Table1")
           txtSerialNo.Text = Dst.Tables("Table1").Rows(0)(0).ToString()
       Catch ex As Exception
           MsgBox(ex.Message(), MsgBoxStyle.Critical, "خطأ بالترقيم")
       End Try
   End Sub

سبحان الله وبحمده و الحمد لله ولا اله الا الله والله اكبر
الرد


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيف يمكنني إعداد ترقيم تلقائي ويتجدد الترقيم في كل سنة mram3242 11 560 30-10-18, 01:34 AM
آخر رد: DOX.1
  إظهار الترقيم السنوي بالداتاغريد العيدروس 2 156 05-09-18, 10:37 PM
آخر رد: العيدروس
  الترقيم التلقائي توقف عن العمل في Datagridview Hazem1 3 236 25-08-18, 09:29 AM
آخر رد: elgokr
  [VB.NET] الترقيم التلقائي لDataGridView كريم جودي 4 259 19-08-18, 01:30 PM
آخر رد: elgokr
  مشكلة في الترقيم التلقائي DataGridView wweecw 5 369 13-06-18, 04:10 PM
آخر رد: larbihamri
  [سؤال] مشكلة الترقيم بجدول إكسس مرتبط بالفيجوال بيسك سمير الجبالي 7 346 11-05-18, 10:46 PM
آخر رد: elgokr
  تغيير وضعية الترقيم حافظ حافظ 5 295 18-04-18, 12:22 AM
آخر رد: حريف برمجة
  مشكلة الترقيم التلقائي في sql server hglogtd 6 742 01-03-18, 01:15 AM
آخر رد: hglogtd
  [VB.NET] جلب اكبر قيمة بعمود الترقيم التلقائي محمد اسماعيل 4 330 22-02-18, 12:28 PM
آخر رد: وائل القطاوي
  [VB.NET] الترقيم التلقائي محمد اسماعيل 6 473 25-01-18, 01:53 AM
آخر رد: محمد اسماعيل

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


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