تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الانتقال إلى السجل الثاني في قاعدة البيانات و إظهار الصورة التالية على picturebox
#1
السلام عليكم ,, 
لو فرضنا أن لدي قاعدة بيانات أكسس  ,, 
و بها جدولين ,, الاول بيانات خط ,, (line_no,line_name,from,to)
و الثاني صورة فحص الخط,, و حقوله ( line_no,imge_line)
ولدي في الفورم ,, picturebox >> 
ــــــــــــــــــــــــ
والصور هي عبارة عن نموذج سكانير خاص بفحص الخط ,, 
بطبيعة الحال الخط قد يحدث عليه فحص اكثر من مرة في السنة ,, 

اى ان  بعض الخطوط  لها أكثر من صورة ,, 
فعند الاستعلام برقم الخط تظهر الصورة على picturebox 
وهذا كود الإستعلام على الخط 

سؤالي هو كيف أقوم بالبحث عن طريق button للصورة التالية للخط بحسf رقم الخط الموجود في text 
مشكورن سلفاً يا مبرمجين ,,
الرد
تم الشكر بواسطة:
#2
لا ادري ان كنت قد فهمت سؤالك بشكل جيد (تريد عرض الصور المرتبطة بالخط الحالي)
اذا كان كذلك........
استورد بيانات جدول الصور الى جدول DataTable و اسنده الى عنصر DataGridView او ListView

الـ PictureBox لا يعرض لك سوى صورة واحدة وهي اخر صورة قادمة من القارئ DataReader
و اذا كنت تريد المحافظة على نفس الطريقة انشئ جدول و اسند له البيانات القادمة من DataReader عبر الطريقة
PHP كود :
DataTable.Load(DataReader

عندها يمكنك المرور على الصور بالتنقل عبر اسطر الجدول .
الافكار كثيرة في هذا المجال و متنوعة...
لو ارفقت مثال مبسط مع قاعدة تحتوي على معلومات كان افضل
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد
تم الشكر بواسطة: ahmed_elwerfalli
#3
(24-12-16, 07:08 PM)ابو ليلى كتب : لا ادري ان كنت قد فهمت سؤالك بشكل جيد (تريد عرض الصور المرتبطة بالخط الحالي)
اذا كان كذلك........
استورد بيانات جدول الصور الى جدول DataTable و اسنده الى عنصر DataGridView او ListView

الـ PictureBox لا يعرض لك سوى صورة واحدة وهي اخر صورة قادمة من القارئ DataReader
و اذا كنت تريد المحافظة على نفس الطريقة انشئ جدول و اسند له البيانات القادمة من DataReader عبر الطريقة
PHP كود :
DataTable.Load(DataReader

عندها يمكنك المرور على الصور بالتنقل عبر اسطر الجدول .
الافكار كثيرة في هذا المجال و متنوعة...
لو ارفقت مثال مبسط مع قاعدة تحتوي على معلومات كان افضل

لقد ارفقت مثال على ذلك


الملفات المرفقة
.rar   new app.rar (الحجم : 98.5 ك ب / التحميلات : 112)
الرد
تم الشكر بواسطة:
#4
الاخ احمد- القاعدة ينقصها جدول tab_list كما وان جدول الصور فارغ
ارسل القاعدة التي تحتوي على الجدول المفقود و بعض البيانات التي تم ادخالها في جدول الصور
كما و انه لا يوجد ما يشير على أن الجدول img_tb مربوط مع اي جدول (لا يوجد حقل ربط)
ارفق مثال يعمل معك و ينقصه الجزئية التي سألت عنها فقط.
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد
تم الشكر بواسطة: ahmed_elwerfalli
#5
(24-12-16, 09:01 PM)ابو ليلى كتب : الاخ احمد- القاعدة ينقصها جدول tab_list كما وان جدول الصور فارغ
ارسل القاعدة التي تحتوي على الجدول المفقود و بعض البيانات التي تم ادخالها في جدول الصور
كما و انه لا يوجد ما يشير على أن الجدول img_tb  مربوط مع اي جدول (لا يوجد حقل ربط)
ارفق مثال يعمل معك و ينقصه الجزئية التي سألت عنها فقط.

آسف ,,, 
هذا مثال جديد 
في المثال جعلت قيمة التيكست تظهر في فورم لوود ,, 
ما عليك إلا وضع الموؤشر على التكست و الضغط على enter
ثم إختار من brows صورة اخرى و إضغط على add this image to this line 
هنا اصبح لدينا صورتين لنفس الخط ,, 
أتمنى  ان تكون وصلت الفكرة


الملفات المرفقة
.rar   new app.rar (الحجم : 1.68 م ب / التحميلات : 122)
الرد
تم الشكر بواسطة:
#6
اتضح ان الجداول مرتبطة بعد مراجعة الكود
على اي حال التعديل بسيط و ان شاء الله يفي بالغرض
لدي الدالة التالية جديدة
PHP كود :
   Private Function GetImageById(ByVal DataTable As DataTableByVal i As Integer) As Bitmap
        If DataTable
.Rows.Count 0 Then

            Dim bits 
As Byte() = CType(DataTable.Rows(i).Item("imga"), Byte())
 
           Dim memo As New MemoryStream(bits)
 
           Dim myimg As New Bitmap(memo)
 memo.Close()
 
           Return myimg
        End 
If
 
       Return Nothing
    End 
Function 

و شكل الاجراء لديك اصبح كالتالي
PHP كود :
   Sub getimg()
 
       Dim conn As New OleDbConnection("provider=microsoft.jet.oledb.4.0;" "data source=" Application.StartupPath "\db1.mdb")
 
       Dim comm As New OleDbCommand()
 
       PictureBox1.BackgroundImageLayout ImageLayout.Stretch
        PictureBox1
.Image Nothing
        comm
.Connection conn
        conn
.Open()
 
       comm.CommandText "select * from img_tb where imname='" linen.Text "'"
 
       Dim dr As OleDbDataReader comm.ExecuteReader
        Dt
.Clear()
 
       Dt.Load(dr)
 
       conn.Close()
 
       If Dt.Rows.Count 0 Then
            Bn
.DataSource Dt
            PictureBox1
.Image GetImageById(Dt0)
 
       Else
            PictureBox1
.Image Nothing
            Bn
.DataSource Nothing
        End 
If
 
   End Sub 


الزر التالي للانتقال لصورة تالية
PHP كود :
       If Bn.Count 0 Then
            Bn
.MoveNext()
 
           PictureBox1.Image GetImageById(DtBn.Position)
 
       End If 


و الزر التالي للانتقال لصورة سابقة
PHP كود :
   Private Sub Button8_Click(sender As ObjectAs EventArgsHandles Button8.Click
        If Bn
.Count 0 Then
            Bn
.MovePrevious()
 
           PictureBox1.Image GetImageById(DtBn.Position)
 
       End If
 
   End Sub 

انا عرفت ما يلي في بداية النموذج
PHP كود :
   Dim Dt As New DataTable
    Dim Bn 
As New BindingSource 
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد
تم الشكر بواسطة: ahmed_elwerfalli
#7
(24-12-16, 10:47 PM)ابو ليلى كتب : اتضح ان الجداول مرتبطة بعد مراجعة الكود
على اي حال التعديل بسيط و ان شاء الله يفي بالغرض
لدي الدالة التالية جديدة
PHP كود :
   Private Function GetImageById(ByVal DataTable As DataTableByVal i As Integer) As Bitmap
        If DataTable
.Rows.Count 0 Then

            Dim bits 
As Byte() = CType(DataTable.Rows(i).Item("imga"), Byte())
 
           Dim memo As New MemoryStream(bits)
 
           Dim myimg As New Bitmap(memo)
 memo.Close()
 
           Return myimg
        End 
If
 
       Return Nothing
    End 
Function 

و شكل الاجراء لديك اصبح كالتالي
PHP كود :
   Sub getimg()
 
       Dim conn As New OleDbConnection("provider=microsoft.jet.oledb.4.0;" "data source=" Application.StartupPath "\db1.mdb")
 
       Dim comm As New OleDbCommand()
 
       PictureBox1.BackgroundImageLayout ImageLayout.Stretch
        PictureBox1
.Image Nothing
        comm
.Connection conn
        conn
.Open()
 
       comm.CommandText "select * from img_tb where imname='" linen.Text "'"
 
       Dim dr As OleDbDataReader comm.ExecuteReader
        Dt
.Clear()
 
       Dt.Load(dr)
 
       conn.Close()
 
       If Dt.Rows.Count 0 Then
            Bn
.DataSource Dt
            PictureBox1
.Image GetImageById(Dt0)
 
       Else
            PictureBox1
.Image Nothing
            Bn
.DataSource Nothing
        End 
If
 
   End Sub 


الزر التالي للانتقال لصورة تالية
PHP كود :
       If Bn.Count 0 Then
            Bn
.MoveNext()
 
           PictureBox1.Image GetImageById(DtBn.Position)
 
       End If 


و الزر التالي للانتقال لصورة سابقة
PHP كود :
   Private Sub Button8_Click(sender As ObjectAs EventArgsHandles Button8.Click
        If Bn
.Count 0 Then
            Bn
.MovePrevious()
 
           PictureBox1.Image GetImageById(DtBn.Position)
 
       End If
 
   End Sub 

انا عرفت ما يلي في بداية النموذج
PHP كود :
   Dim Dt As New DataTable
    Dim Bn 
As New BindingSource 

الله اكبر ما شاء الله عليك يا استاذ ,,
الكود شغال 100% سلمت يمناك و جزاك الله عني كل خير ,, 
فعلاً كان معقدني و انت حليتها 
مشكوووور جداً جداً
الرد
تم الشكر بواسطة: ابو ليلى


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  عمل تحديث لعرض البيانات المضافة جديداً aldery 0 313 23-07-20, 02:36 AM
آخر رد: aldery
  ضغط قاعدة البياانات عمور2016 2 227 22-07-20, 09:29 PM
آخر رد: عمور2016
  نسخ قاعدة sql الي مكان اخر atefkhalf2004 14 1,388 04-07-20, 08:32 PM
آخر رد: atefkhalf2004
Thumbs Up [سؤال] قاعدة بيانات اكسس منه 1 348 31-05-20, 11:27 PM
آخر رد: kiki
  [SQL] انا احتاج للنسخ1 table في قاعدة بيانات 1 الى table1 في قاعدة بيانات2 في essamprog2020 1 377 19-04-20, 02:13 AM
آخر رد: asemshahen5
  [سؤال] نقل البيانات من جدول إلى أخر SQL Server 2008 semsemalex 7 10,233 19-04-20, 12:00 AM
آخر رد: essamprog2020
  [VB.NET] مشكله عند الحفظ على قاعدة بيانات باستخدام Data Source وقاعدة بيانات اكسس2007 coderarab 9 3,228 06-04-20, 12:12 AM
آخر رد: wadyreem
  اسناد عامود في قاعدة بيانات اكسيس الى عامود من نوع كومبوبوكس بالداتا جريد فيو بالفيجو Ghassanfff 0 368 30-03-20, 09:33 PM
آخر رد: Ghassanfff
  معرفة عدد الأسماء في قاعدة البيانات sql server aldery 6 669 24-03-20, 04:21 AM
آخر رد: morkoskhalaf
  [نقاش] مشاركة قاعدة بيانات SQL على شبكه داخليه morkoskhalaf 2 485 18-03-20, 11:28 PM
آخر رد: morkoskhalaf

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


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