الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال بخصوص الداتا جريد

مغلق
بدأه waleedhm في 9 يناير 2005 · 18 رد · 1,282 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

كيف يمكن ان اضيف مسلسل فى الدتا جريد

ملحوظة مش من قاعدة بيانات

يعنى مثال

انا عندى مسجل فى البرنامج الاسماء التالية

1 محمد

2 محمود

3 شريف

4 شهاب

لو عملت بحث عن اسم يبداء بحرف ش

فى الدتا جرد عاوز يطلع

مسلسل والاسم الكود

1 شريف 3

2 شهاب 4

اتمنا تكون الفكرة وصلت

{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

br17.gif

برنامج الإتصلات الإدارية والارشيف الالكتروني

برنامج الخبير لنقاط البيع المباشرة

#2

بالنسبة لي أخي waleedhm فللأسف لم أفهم سؤالك (جيد هذا التعليق لرفع السؤال ،مش هيك؟ :D )

Learn Japanese :>>> http://www.nouben.com/

#3

السلام عليكم ورحمة الله وبركاته

طيب

شوف يا اخى

انا عاوز اعمل الاتى

اضيف فى الدتا جريد تمام

وكل مرة اضيف فيها بيان جديد يتم ترقيم حقل مسلسل

ولكن ليس من قاعدة البيانات

يعنى مسلسل دة حقل وهى لا يعتمد على قاعدة البيانات

{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

br17.gif

برنامج الإتصلات الإدارية والارشيف الالكتروني

برنامج الخبير لنقاط البيع المباشرة

#4

أخي waleedhm،

لنفترض بأن جدولك فيه عمود واحد للتبسيط (عمود إسمه "الأسم")، قم بإضافة عمود آخر واجعل نوع الداتا فيه من نوع integer ولا تكتب في أي شيء ولا تجعله Primary key أو خلافه... ولنتفرض بأن هذا العمود إسمه "Number"...

قم بوضع الكود التالي قبل أن تعمل في زر Load للداتاسيت:

DataSet11.Table1.Columns(1).AutoIncrementSeed = 1
DataSet11.Table1.Columns(1).AutoIncrement = True
DataSet11.Table1.Columns(1).ColumnName = "Serial"
OleDbDataAdapter1.Fill(DataSet11, "table1")

هذه أحد الأفكار التي توصلت لها، لا أعلم إن كان هناك أفكار أخرى.

Learn Japanese :>>> http://www.nouben.com/

#5

فكرة HMS صحيحة و يمكنك أخي قراءة هذا الدرس ستجد به الطريقة و ستستفيد أكثر من حيث التعامل مع ال Data Table

/index.php?showtopic=54403

بالتوفيق

You can fly while you can touch the sky

#6

أنصح كل أخ هنا بزيارة المشاركة التي تطرق لها الأخ محمد، درس رائع...

Learn Japanese :>>> http://www.nouben.com/

#7

قبل الإطلاع على مشاركة الأخ محمد توقفت عند إضافة العمود برمجياً، لذلك فها هو الكود النهائي مع ملاحظة بأن ال Index للعمود المضاف برمجياً Serial يجب أن يكون بعدد أعمدة الجدول (نستطيع الحصول على ذلك أيضاً من خاصية count):

DataSet11.Table1.Columns.Add("Serial", GetType(Integer))
 DataSet11.Table1.Columns(1).AutoIncrementSeed = 1
 DataSet11.Table1.Columns(1).AutoIncrement = True
 OleDbDataAdapter1.Fill(DataSet11, "Table1")

Learn Japanese :>>> http://www.nouben.com/

#8

السلام عليكم ورحمة الله وبركاته

جزاكم الله خيرا على المحاولة

الطريقة التى تفضل بها الاخ هارون والاخ محمد هيا فى عملية الاضافة بيتم زيادة الرقم

انا ما اريدة هوة الاتى

For i = 0 To DataSet11.Tables(0).Rows.Count - 1

Next i

لو عملت

MessageBox.Show(i)

اية الناتج

انا عاوز اخد الناتج دة بشكل مسلسل فى DataGrid يعنى لو فرضنا ان الناتج هو 3

يبقا اول بيان فى المسلسل

1

2

3

Dim i As Integer

{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

br17.gif

برنامج الإتصلات الإدارية والارشيف الالكتروني

برنامج الخبير لنقاط البيع المباشرة

#9

يعنى عاوز i دية يتم اضافتها بشكل مسلسل فى DataGrid

{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

br17.gif

برنامج الإتصلات الإدارية والارشيف الالكتروني

برنامج الخبير لنقاط البيع المباشرة

#10

انا مش فاهم عليك..

انا شايفك موجود علشان كدة وضعت الاستفسار ده لعلك عايز رد حالاً..

اقتباس
الـ VB هى الأساس ... بتبرمج بيها بالاحساس

ولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس

راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص

الـ VB هى التراث ... للذكور والايناث :D

الـ VB لغة عريقه ... حتى اسأل Anwarica

من ديوان الشاعر السي شاربي "معتز شمس"
#11

للتوضيح::

الكود الذي كتبه هارون و محمد يكفي بالغرض و هو ادماج عنصر يزيد تلقائياً..

فهل مشكلتك ان العمود لا يظهر ام ان المشكلة انه يظهر بقيم غير التي تريدها (مثلاً بترتيب غير مناسب)؟؟

اقتباس
الـ VB هى الأساس ... بتبرمج بيها بالاحساس

ولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس

راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص

الـ VB هى التراث ... للذكور والايناث :D

الـ VB لغة عريقه ... حتى اسأل Anwarica

من ديوان الشاعر السي شاربي "معتز شمس"
#12

أخي العزيزwaleedhm، هل طرح سؤال مفهوم هو صعب لتلك الدرجة؟، كنت أظن بأنني الوحيد الذي لم يفهم سؤالك ولكن هاهو Undo لم يفهم أيضاً بالرغم من ألمعيته :rolleyes: .

Learn Japanese :>>> http://www.nouben.com/

#13

السلام عليكم ورحمة الله وبركاته

ممكن تجربة المثال التالى

Setup1.rar

{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

br17.gif

برنامج الإتصلات الإدارية والارشيف الالكتروني

برنامج الخبير لنقاط البيع المباشرة

#14

الملف هو ملف تنفيذي، ويحتاج الى Installing وأنت تعلم بأن البعض يخشى من هذه البرامج... بالنسبة لي أنا أثق بك :D وقد قمت بإنزاله، ولم أفهم تماماً ما هو المقصود من وضعك إياه، ماذا تريد أن توصله لنا؟؟

Learn Japanese :>>> http://www.nouben.com/

#15

السلام عليكم ورحمة الله وبركاته

لا اله الا انت سبحانك انى كنت من الظالمين

جزاكم الله خيرا على الثقة

مش عارف اقول اية B)

طيب افتح كدة قاعدة البيانات

هل تجد الترقيم الموجود فى number فى قاعدة البيانات

number دة برمجى فقط

قم باضافى اى بيان او حزف

احزف بيان من الوسط

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

{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

br17.gif

برنامج الإتصلات الإدارية والارشيف الالكتروني

برنامج الخبير لنقاط البيع المباشرة

#16

أتعبناك أخي waleedhm، لقد فهمت قصدك الآن أخي الحبيب، اعذرنا على ضعف إستيعابنا :lol:

ها هو الحل وأرجو أن ينال رضاك،

قم بالإعلان عن متغير على مستوى الفورم بهذه الطريقة:

Dim counter As Integer

قم بعمل sub بهذه الطريقة:

Sub HMS()
        For x As Integer = 0 To counter - 1
            DataGrid1.Item(x, 1) = x + 1
        Next
    End Sub

في زر Load أكتب الكود التالي:

 Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoad.Click
        DataSet11.Table1.Columns.Add("Number", GetType(Integer))
        OleDbDataAdapter1.Fill(DataSet11, "Table1")
        counter = DataSet11.Table1.Rows.Count
        HMS()
    End Sub

في زر الإضافة أكتب الكود التالي:

Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click
        Me.BindingContext(DataSet11, "Table1").EndCurrentEdit()
        Me.BindingContext(DataSet11, "Table1").AddNew()
        counter += 1
        HMS()
    End Sub

في زر الحذف أكتب الكود التالي:

 Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click
        With Me.BindingContext(DataSet11, "Table1")
            If .Count > 0 Then
                .RemoveAt(DataGrid1.CurrentRowIndex)
            End If
        End With
        counter -= 1
        HMS()
    End Sub

تم تعديل هذه المشاركة بواسطة HMS في 10 يناير 2005 في 11:58

Learn Japanese :>>> http://www.nouben.com/

#17

نسيت التأكيد عليك بأنه يجب أن تكون الداتاسيت مكونه من عمود واحد فقط، بخلاف ذلك يجب أن تغير رمز العمود في DataGrid1.Item(x, 1) = x + 1 الى عدد الأعمدة.

Learn Japanese :>>> http://www.nouben.com/

#18

السلام عليكم ورحمة الله

جزاكم الله خيرا

انا كان ناقص انى اعمل المثال واقول انا عاوز اعمل الحتة دية :D

الطريقة اشتغلت تمام بس بعد التعديل

   Me.DataSet11.Tables(0).Columns.Add("Number", GetType(Integer))
        OleDbDataAdapter1.Fill(DataSet11, "Info")
        counter = DataSet11.Tables(0).Rows.Count
        HMS()

جزاكم الله خيرا

{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

br17.gif

برنامج الإتصلات الإدارية والارشيف الالكتروني

برنامج الخبير لنقاط البيع المباشرة

#19

الحمد لله.......و مشكوووووووور يا هارون على الكود..

دخلت اليوم مخصوص على هذا الموضوع و قلت هي بصة واحدة و اطلع على طول..

شكل القعدة في المنتدى هتطول شويتين لان فيه مواضيع كتير حلوة في المنتدى الحلو ده ;)

اقتباس
الـ VB هى الأساس ... بتبرمج بيها بالاحساس

ولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس

راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص

الـ VB هى التراث ... للذكور والايناث :D

الـ VB لغة عريقه ... حتى اسأل Anwarica

من ديوان الشاعر السي شاربي "معتز شمس"

هذا الموضوع مغلق.

مواضيع مشابهة