تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[كود] سؤال عن الترقيم التلقائي لحقل ID
#1
السلام عليكم ورحمة الله وبركاته

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

الجدول الأول إسمه 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


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#2
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 

اخي الكريم ان كنت تقصد الترقيم التلقائي في الداتا كريد فيو  فتفضل الكود التالي 
..................  و فوق كل ذي علم عليم  ................
الرد }}}
تم الشكر بواسطة:
#3
أولاً باركـ اللهـ فيكـ على الرد

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

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

بالنسبة لحقل ID في الداتا بيز فهو ترقيم تلقائي


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#4
نعم اخي تستطيع من خلال جملة  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

ارجو ان يكون هذا هو طلبك .............. و اشكر الاخ الوليد على مساعدته  للاخرين ......
..................  و فوق كل ذي علم عليم  ................
الرد }}}
تم الشكر بواسطة: خالد كامل1
#5
أخي 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)
الرد }}}
تم الشكر بواسطة:
#6
اخي الكريم Table هو اسم الجدول المراد الحفظ فيه و الاستناد على اخر سجل فيه و هل بالامكان ان تزودنا بصورة عن الخطأ و لماذا لا تستخدم lable في عملية اظهار الرقم التسلسلي ........... تحياتي
..................  و فوق كل ذي علم عليم  ................
الرد }}}
تم الشكر بواسطة:
#7
اخي الكريم الموضوع مش بحاجة كود 
كالتالي:

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

أخي yousef أشكرك على المساعدة ،،،
الرد }}}
تم الشكر بواسطة:
#9
سلام عليكم

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

نسيت باستخدام DataGridView
الرد }}}
تم الشكر بواسطة:



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


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