منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

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

لدي ثلاث جداول متصلة مع بعضها

الجدول الأول إسمه customerوبه الحقول الآتية :
ID ( المفتاح الأساسي )
Fname
Mname
Lname
Fdate (التاريخ)
Sdate (التاريخ)
mobile
address
area
Btype
price

الجدول الثاني إسمه payment مربوط مع الجدول الأول بحقل ID

ID
PID (المفتاح الأساسي )
Pname
price
Pdate (التاريخ)
note

الجدول الثالث إسمه material مربوط مع الجدول الثاني بحقل PID
PID
labours
item
quantity
unit
price
Mdate (التاريخ)
note


سؤالي : هل يمكن جعل حقل ID في الجدول الأول يكون الترقيم تلقائي عند إضافة سجل جديد ؟ وكذلك جعله invisible ؟

لو يمكن ذلك ، أريد معرفة الكود المناسب ؟

البرنامج المستخدم VB.net 2008  والداتا بيز access 2007
PHP كود :
           ' لجعل الداتا كريد فيو يقوم بالترقيم التلقائي 

            Dim a As Integer
            Try
                For a = 1 To control.DataGridView1.RowCount
                    control.DataGridView1.Rows(a - 1).Cells(4).Value = a
                Next
            Catch ex As Exception

            End Try 

اخي الكريم ان كنت تقصد الترقيم التلقائي في الداتا كريد فيو  فتفضل الكود التالي 
أولاً باركـ اللهـ فيكـ على الرد

كنت أقصد في الفورم بحد ذاتها ، حيث يتم إدخال الرقم تلقائيًا بالتسلسل حسب آخر سجل تم تسجيله

ومن خصائص textbox  أستطيع جعل visible = fale  عند تنفيذ البرنامج
بمعنى لا يظهر لي خانة ID  عند تنفيذ البرنامج

بالنسبة لحقل ID في الداتا بيز فهو ترقيم تلقائي
نعم اخي تستطيع من خلال جملة  for و انت تستند الى قاعدة البيانات في الترقيم صحيح ..... اليك الكود التالي 



PHP كود :
Dim max As Integer
            For counter 
As Integer 0 To Table1.Rows.Count 1
                If Table1
.Rows(counter).Item("user_id") > max Then
                    max 
CInt(Table1.Rows(counter).Item("user_id"))

 
               End If

 
           Next

            id_number
.Text CStr(max 1

ارجو ان يكون هذا هو طلبك .............. و اشكر الاخ الوليد على مساعدته  للاخرين ......
أخي raoe-041 أشكرك جزيل الشكر على المساعدة

الكود عندما وضعته ظهر لي خطأ ( Table1 ) غير معرفة
فقمت بإضافة اسم قاعدة البيانات قبلها ومشى الحال وتم التخزين في قاعدة البيانات
ولكن حدث أمر بسيط وهو عند الضغط على الحفظ سجل جديد يظهر قيمة ID = 1 لكل السجلات الجديدة في الفورم
أما في قاعدة البيانات فالتسلسل مرتب بصورة صحيحة ،،،
هذا الكود بعد التعديل عليه

كود :
Dim max As Integer
           For counter As Integer = 0 To PLYDataSet1.Table1.Rows.Count - 1
               If PLYDataSet1.Table1.Rows(counter).Item("ID") > max Then
                   max = CInt(PLYDataSet1.Table1.Rows(counter).Item("ID"))

               End If

           Next

           IDTextBox.Text = CStr(max + 1)
اخي الكريم Table هو اسم الجدول المراد الحفظ فيه و الاستناد على اخر سجل فيه و هل بالامكان ان تزودنا بصورة عن الخطأ و لماذا لا تستخدم lable في عملية اظهار الرقم التسلسلي ........... تحياتي
اخي الكريم الموضوع مش بحاجة كود 
كالتالي:

2- عند الاضافة لا تدخل ال id  بالكويري لانه الان يضيف تسلسلي
أخي raoe-041 لقد قمت بعمل label وظهرت النتيجة كما أريدها ،،، بارك الله فيك

أخي yousef أشكرك على المساعدة ،،،
سلام عليكم

قومت بوضع حقل ترقيم تلقائي pkفي قاعدة كسس واريدة في فيجول يكون مخف
hotel_name,hotel_mark,hotel_addrees
,id_host هاذا هو حقل ترقيم
اطبق علية كود اضافة وتعديل وحذف ...انا مبتدئ في فيجودةمني مساعل ات

نسيت باستخدام DataGridView