تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] استعادة الترقيم التلقائي
#1
السلام عليكم

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

 
PHP كود :
Dim cmd As New OleDb.OleDbCommand(""con)

 
       con.Open()
 
       cmd.CommandText "ALTER TABLE Table1 DROP CONSTRAINT PrimaryKey"
 
       cmd.ExecuteNonQuery()
 
       cmd.CommandText "ALTER TABLE Table1 DROP COLUMN ID "
 
       cmd.ExecuteNonQuery()
 
       cmd.CommandText "ALTER TABLE Table1 ADD COLUMN ID COUNTER CONSTRAINT [PrimaryKey] Primary key "
 
       cmd.ExecuteNonQuery()
 
       cmd.CommandText "ALTER TABLE Table1 ALTER COLUMN ID COUNTER CONSTRAINT"
 
       cmd.ExecuteNonQuery()
 
       con.Close()
 
       DataSet1.Clear()
 
       DataAdapter1.Fill(DataSet1"Table1")
 
       count()
 
       DataGridView1.AllowUserToAddRows False
        MsgBox
("تم بنجاح استعادة تسلسل السجلات"64 524288"نجاح"
الرد }}}
تم الشكر بواسطة:
#2
احذف العملية الأخير ل cmd.CommandText

PHP كود :
       Dim cmd As New OleDb.OleDbCommand(""con)

 
       con.Open()
 
       cmd.CommandText "ALTER TABLE Table1 DROP CONSTRAINT PrimaryKey"
 
       cmd.ExecuteNonQuery()
 
       cmd.CommandText "ALTER TABLE Table1 DROP COLUMN ID "
 
       cmd.ExecuteNonQuery()
 
       cmd.CommandText "ALTER TABLE Table1 ADD COLUMN ID COUNTER CONSTRAINT [PrimaryKey] Primary key "
 
       cmd.ExecuteNonQuery()
 
       con.Close()
 
       DataSet1.Clear()
 
       DataAdapter1.Fill(DataSet1"Table1")
 
       count()
 
       DataGridView1.AllowUserToAddRows False
        MsgBox
("تم بنجاح استعادة تسلسل السجلات"64 524288"نجاح"

لكن هذا الأسلوب غير صحيح
فلا يصح استخدام عمود الترقيم التلقائي من أجل عرض تسلسل السجلات
الرد }}}
تم الشكر بواسطة:
#3
(12-12-17, 03:55 PM)طالب برمجة كتب : احذف العملية الأخير ل cmd.CommandText

PHP كود :
       Dim cmd As New OleDb.OleDbCommand(""con)

 
       con.Open()
 
       cmd.CommandText "ALTER TABLE Table1 DROP CONSTRAINT PrimaryKey"
 
       cmd.ExecuteNonQuery()
 
       cmd.CommandText "ALTER TABLE Table1 DROP COLUMN ID "
 
       cmd.ExecuteNonQuery()
 
       cmd.CommandText "ALTER TABLE Table1 ADD COLUMN ID COUNTER CONSTRAINT [PrimaryKey] Primary key "
 
       cmd.ExecuteNonQuery()
 
       con.Close()
 
       DataSet1.Clear()
 
       DataAdapter1.Fill(DataSet1"Table1")
 
       count()
 
       DataGridView1.AllowUserToAddRows False
        MsgBox
("تم بنجاح استعادة تسلسل السجلات"64 524288"نجاح"

لكن هذا الأسلوب غير صحيح
فلا يصح استخدام عمود الترقيم التلقائي من أجل عرض تسلسل السجلات
الف شكر علي ردك

انا حاولت بحذف اخر جزء مثل ما فعلت   وحاولت بطريقة اخري بانشاء عمود الترقيم مرة اخري ونفس المشكلة ولكن لم يعمل معي عشان كدة طرحت الموضوع
طيب اية هية الطريقة الصحيحة  لان الكود السابق لم يظبط معي
الرد }}}
تم الشكر بواسطة:
#4
الطريقة الصحيحة أن تستخدم طريقة أخرى لعرض تسلسل رقمي للسجلات بالكود لDataGridView أو إجراء مخصص لذلك داخل التقارير

لو عندك مثال تريد وضع عرض تسلسل رقمي للسجلات ضعه للتطبيق عليه.
الرد }}}
تم الشكر بواسطة: عبد العزيز البسكري
#5
(12-12-17, 08:55 PM)طالب برمجة كتب : الطريقة الصحيحة أن تستخدم طريقة أخرى لعرض تسلسل رقمي للسجلات بالكود لDataGridView أو إجراء مخصص لذلك داخل التقارير

لو عندك مثال تريد وضع عرض تسلسل رقمي للسجلات ضعه للتطبيق عليه.

السّلام عليكم و رحمة الله و بركاته
أخي الكريم " طالب برمجة "
هل من الممكن فضل و كرم و إحسان منك تطبيق الفكرة التّي تفضّلت بذكرها على هذا الملف
بحيث يتم إعادة التّسلسل الرّقمي للسجلاّت بعد عمليّة الحذف بالفورم 7 بدون التّأثير على باقي المشروع
لك منّي كل الشّكر و التّقدير و الاحترام


الملفات المرفقة
.rar   الترقيم لتسلسلي.rar (الحجم : 1.51 م ب / التحميلات : 109)
قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة:
#6
الفكرة ليست إعادة التّسلسل الرّقمي وإنما إنشاء التّسلسل الرّقمي

مبدئيا بالنسبة للمرفق كما هو يتم إضافة عمود في الأول للتسلسل الرقمي
ثم يتم وضع هذا الكود بعد أي تغيير في أسطر الداتاجريد مثل التعبئة أو الحذف أو الإضافة
PHP كود :
For Each r As DataGridViewRow In Me.DataGridView1.Rows
    If Not r
.IsNewRow Then r.Cells(0).Value = (r.Index 1).ToString("000")
Next 

هناك ملاحظات على قاعدة البيانات:

وجدت جدول واحد يشمل اسماء التلاميذ ودرجاتهم،
ويفترض أن اسماء التلاميذ مع بياناتهم الشخصية في جدول والدرجات في جدول آخر ثم الربط بينهم.

وجدت أن العمود ID نصي،
ويفترض أن يكون ترقيم تلقائي مع اعتماده كمفتاح أساسي.

وجدت أن نوع كل الأعمدة نصية،
ويفترض أن يتم تحديد نوع كل عمود بما يناسبه (رقمي،نصي،تاريخ،...)
الرد }}}
تم الشكر بواسطة:
#7
السّلام عليكم و رحمة الله و بركاته
تسلم أخي الكريم " طالب برمجة " على المساعدة الطيّبة و على الملاحظات و النّصائح القيّمة
بارك الله فيك و لك و جزاك خير الجزاء و زادك من علمه و فضله إن شاء الله
1 - بالنسبة لجدول واحد .. أنا تعمّدت على جعل جدول واحد للدرجات مع الأسماء لأنّ الفكرة فقط حساب المعدلات أمّا البيانات الشّخصيّة سأخصّص لها جدول آخر حتى لا تختلط عليَّ الأمور لأنّ الرّبط بين الجداول لا أتقنه تمامًا و ليست لي الخبرة الكافية لإنجاز ذلك.
2 - العمود الأوّل النصّي نعم كان فيه سهو منّي لأنّ الحقل الأوّل هو بالأصل رقمي و جعلته كمفتاح رئيسي
3 - كل الحقول نصّية .. لأنّ عملّيات الجمع و الحسابات كلّها تتم داخل الفورم و أقوم بتصديرها إلى قاعدة البيانات و جعلتها نصّية لكي تبقى العلامات على حالها مثلاً كتبت .. 08.70 .. عند التّصدير أجدها 08.70 .. لو جعلتها رقمية ستكون بهذا الشّكل 8.7
ستجد ذلك بالمرفقات .. فقط لو أمكن .. هل يوجد كود لجعل العلامة عند الإدخال تكون برقمين بعد الفاصلة
هذا الكود الذي أستعمله يعمل بشكل جيّد لكنّه طويل و سبّب لي إرتباك ..
في الفيجوال 6 كنت أستعمل  هذا الكود ليفي بالغرض ..
كود :
Private Sub Text1_Change()
Text3.Text = Val(Replace(Me.Text1, ",", ".")) + Val(Replace(Me.Text2, ",", "."))
Text3.Text = Format(Text3.Text, "# #00.00 ")
End Sub

هل بالإمكان إيجاد كود بديل لهذا .. فيما يتعلّق بالجزئية العشرية الخاصّة بجعل رقمين بعد الفاصلة
وضعت أخي الكريم الكود المخصّص للتسلسل الرقمي .. يعمل بشكل جيّد في ترتيب السجلاّت على الداتا جريد لكن بقاعدة البيانات البيانات يبقى التسلسل غير المرتّب مثلما كان عليه .. ربّما قد أكون فهمت خطأ في كيفيّة إستعمال هذا الكود
كل الشكر و التّقدير أخي الكريم
إحتراماتي


الملفات المرفقة
.rar   الترقيم لتسلسلي.rar (الحجم : 1.51 م ب / التحميلات : 60)
قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة:
#8
اهلا بك اخي عبد العزيز 
انا لا افتيها صراحة 
لكن لربما تجد في هذه المجموعة من الصور ما يقودك الى الحل 
   
   
   
   
و بالتالي : عندما قمنا بتغيير نوع الحقل الى رقم 
سنجد بأنه تم اعطاء الحجم الافتراضي للحقل هو عبارة عن عدد صحيح طويل 
وهذا المصطلح " العدد الصحيح " له منحى رياضي علمي 
بأنه يتم تقريب الارقام العشرية الى اقرب رقم صحيح 
و على فإن هناك خصائص للحقل تابعة ايضا 
منها المنازل العشرية يمكننا زيادتها وانقصاها ان اردنا حسب المطلوب 
أما فيما يخص الصفر على الشمال " فهو صفر على الشمال " لا فائدة منه . 

على اي حال هذه مداخلة و وجهة نظر فقط ليس بالضرورة الاخذ بها 
بالتوفيق 
الرد }}}
تم الشكر بواسطة: عبد العزيز البسكري
#9
السّلام عليكم و رحمة الله و بركاته
كيفك أخي الغالي " أمير " .. أدعو الله أن تكون بتمام الصحّة و العافية و راحة البال و كل الأسرة الكريمة
تشكر يا غالي على المداخلة القيّمة و و جهة النّظر السّليمة
إحتراماتي
قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy , Amir_Alzubidy
#10
بالنسبة لتنسيق الأرقام في الداتاجريد تتم في الحدث CellFormatting
تم وضع شرط لتنفيذ التنسيق على الأعمدة من 2 إلى 11 وأن لا تكون القيمة Null
PHP كود :
Private Sub DataGridView1_CellFormatting(ByVal sender As ObjectByVal e As DataGridViewCellFormattingEventArgsHandles DataGridView1.CellFormatting
    If 
(Not IsDBNull(e.Value)) AndAlso (e.ColumnIndex >= And e.ColumnIndex <= 11Then
        e
.Value Val(e.Value).ToString("00.00")
 
   End If
End Sub 
إضافة لما ذكرة الأخ Amir_alzubidy هناك نوع رقم مفرد يقبل الكسر وهو أنسب
الخاصية المهمة مع النوع هي حجم الحقل

الخصائص الأخرى تفيد فقط للبرمجة داخل الأكسس
الرد }}}
تم الشكر بواسطة: Amir_Alzubidy , عبد العزيز البسكري


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة في الترقيم التلقائي للطلبة حسب السنة الدراسية ahmed_elwerfalli 1 1,634 29-12-18, 03:34 AM
آخر رد: ahmed_elwerfalli
  [سؤال] الترقيم التلقائي مع رمز معين في vb.net مراد بورجي 11 11,248 26-07-18, 11:31 PM
آخر رد: bajo
Rainbow اعادة التسلسل التلقائي للــ ID في الاكسس .. جنيت ناريمان 9 17,158 21-09-17, 02:09 AM
آخر رد: mohammed alnour
  استعادة قاعدة البيانات من ملف النسخة الإحتياطية djelloul 2 2,541 28-02-17, 03:27 PM
آخر رد: djelloul
  مشكلة الترقيم التلقائي للعمود الاول في الداتا جريد فيو kofa 31 12,086 18-06-16, 03:53 AM
آخر رد: khodor1985
  الترقيم التلقائي .. أكسس abdulla2 1 3,004 27-12-15, 12:59 AM
آخر رد: zinom
Sad كيف يتم استعادة قاعدة بيانات sql فانتسي ارت 1 2,077 23-10-14, 08:52 AM
آخر رد: فانتسي ارت
  عرض حقل الترقيم التلقائى mesm23 3 2,454 17-06-14, 07:07 AM
آخر رد: mesm23
  [سؤال] الإكمال التلقائي فى التيكست بوكس Mido9 8 7,619 28-09-13, 04:35 PM
آخر رد: Mido9
  البحث بواسطة عمود الترقيم التلقائي abuzzouz 2 1,934 12-07-13, 01:53 PM
آخر رد: abuzzouz

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


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