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

نسخة كاملة : كود الانتقال للجدول التالي لوسمحتم
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
Imports System.Data
Imports System.Data.OleDb
Public Class Form1
    Dim conStr As String = "provider=Microsoft.Jet.oledb.4.0; Data source=" & Application.StartupPath & "\asc.mdb"
    Dim conn As New OleDbConnection(conStr)
    Dim dataset1 As New DataSet

    Dim sqlstrnp As String = " select* from 1 "


    
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


        conn.Open()
        Dim dataadapter1 As New OleDbDataAdapter(sqlstrnp, conn)
        dataadapter1.Fill(dataset1, "1")
        conn.Close()

        TextBox1.DataBindings.Add("text", dataset1, "1.الوتد")
        TextBox2.DataBindings.Add("text", dataset1, "1.المصب")
        TextBox3.DataBindings.Add("text", dataset1, "1.جريانه")
        TextBox4.DataBindings.Add("text", dataset1, "1.المسافة")
        TextBox5.DataBindings.Add("text", dataset1, "1.التجزئة")
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.BindingContext(dataset1, "1").Position = 0
    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.BindingContext(dataset1, "1").Position += 1
    End Sub
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Me.BindingContext(dataset1, "1").Position -= 1
    End Sub
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Me.BindingContext(dataset1, "1").Position = Me.BindingContext(dataset1, "1").Count - 1
    End Sub
   
   
    
End Class

الاخوة الافاضل السلام عليكم
ما سبق هو كود للاتصال بقاعدة بيانات ascو هي تحوي على عدد كبير من الجداول الغير مرتبطة ببعضها 150 جدول و احيانا اكثر
من خلال الكود السابق تم الاتصال بالجدول رقم 1 و تمت معالجته
و المطلوب كود لكي انتقل للجدول التالي اي تصبح قيمة 1            هي           2 و هكذا حتى الانتهاء من كل الجداول
و جزاكم الله كل خير
يرجى تبديل اتجاه النص لقراءة الكود بشكل صحيح
اخي الغالي
لو كنت تريد ان تتصل باي جدول كل ما عليك وضع زر وكمبوا بوكس باسماء الجداول او قيمتها لو كل الجداول عندك بارقام 1 و 2 و 3 وعمل متغير نصي تحفظ فيه اسم الجدول
ثم تدمجه مع الكود وياخذ قيمته من الكومبو بوكس مع مراعاة ان تكون قيمة نصية اعذرني على قلة التوضيح فاني مشغول للغاية
مثال
كود :
"'"& Dim sqlstrnp As String = " select* from'"& yourstringtable_namevar
كود الانتقال للجدول الثاني من خلال Button5 على أن تكون الأعمدة متطابقة
أضفت Label1 لاظهار رقم السجل الحالي من مجموع السجلات أثناء التنقل بالأزارير
كود :
Imports System.Data.OleDb

Public Class Form1

   Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OleDb.4.0;Data Source=" & Application.StartupPath & "\asc.mdb")

   Dim dt As New DataTable
   Dim WithEvents bs As New BindingSource With {.DataSource = dt}

   Dim sqlstrnp As String = "SELECT * FROM [{0}]" ' الصفر هنا ليس اسم جدول فلا تغيره



   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

       Dim sql As String = String.Format(sqlstrnp, "1") 'تحديد الجدول الأول

       Dim dataadapter1 As New OleDbDataAdapter(sql, conn)
       dataadapter1.Fill(dt)

       TextBox1.DataBindings.Add("text", bs, "الوتد")
       TextBox2.DataBindings.Add("text", bs, "المصب")
       TextBox3.DataBindings.Add("text", bs, "جريانه")
       TextBox4.DataBindings.Add("text", bs, "المسافة")
       TextBox5.DataBindings.Add("text", bs, "التجزئة")

   End Sub


   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       bs.MoveFirst()
   End Sub
   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
       bs.MoveNext()
   End Sub
   Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
       bs.MovePrevious()
   End Sub
   Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
       bs.MoveLast()
   End Sub
   Private Sub bindingsource1_PositionChanged(sender As Object, e As System.EventArgs) Handles bs.PositionChanged
       Label1.Text = bs.Position + 1 & " / " & bs.Count
   End Sub

   Private Sub Button5_Click(sender As System.Object, e As System.EventArgs) Handles Button5.Click

       'تغيير الجدول
       Dim sql As String = String.Format(sqlstrnp, "2") 'تحديد الجدول الثاني

       Dim dataadapter1 As New OleDbDataAdapter(sql, conn)
       dt.Clear()
       dataadapter1.Fill(dt)

   End Sub

End Class
كل الشكر لكم
جاري التجريب
ان شاء الله خير
الاستاذ alma2 يرجى تعدبل الكود ليعطي الجدول التالي و ليس الثاني اي اريد ان يكون الرقم "2" متغيرا يأخذ رقم الجدول الذي اختاره له فالقاعدة تحوي اكثر من 150 جدول

Dim sql As String = String.Format(sqlstrnp, "2") 'تحديد الجدول الثاني

Dim sql As String = String.Format(sqlstrnp, " ") 'تحديد الجدول التالي
اتعبتك معي فلك كل الشكر و لكل المتفاعلين
مازلت انتظر الاجابة ممن اتاهم الله العلم في هذا المجال و كل الشكر لكم
المشكلة انك لا تتوفر على اسماء الجداول في مصفوفة ما , لتقول اريد الجدول التالي
يا صديقي انت مجبر على تمرير اسم الجدول في مثل حالتك
الاخ/ت   alma2  اعطاك الفكرة و عليك انت ان تقوم باكمال الباقي

اما فكرة الجدول التالي فتاتي بالاعتماد على سلسلة من الاسماء مرتبة بطريقة ما مثل المصفوفة

سؤال يحتاج الى اجابة ؟؟
هل اسماء الجداول لديك كلها رقمية مثل 150,....1,2,3,4
اذا كانت كذلك يمكن التفكير بطريقة مناسبة للحل , وفق مبدأ جلب بيانات الجدول الجديد (اسم الجدول الجديد = اسم الجدول القديم+1)

بالتوفيق