تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكله في جمله inner join ارجوا المساعده يرحمكم الله
#1
السلام عليكم اخوتي 
عندي قاعده بيانات اكسس اسمها feras  وبيها جدولين REALAMوفيه حقول/id ,  AOMUNTT ,     
والاخر output وفيه حقول / id , namess , kinde , resevrn , symble
المشكله عند ربط الجدولين لعرض بياناتهم على التكستات بوكس تضهر رسال خطا وسارفق لكم الكود المستخدم للربط وعرض البيانات 
المطلوب هو عند اختيار رمز الماده (symble ) من  الكومبو بوكس تجي معلومات الجدولين على التكستات بوكس على حاطهها في الفورم 
PHP كود :
Sub showmy()
 
       Dim sqlsta As New OleDbCommand
        Con
.Open()
 
       dataset1.Clear()
 
       Dim sqlstaaa As New OleDbDataAdapter("select * from [INPUT] inner join [REALAM] on INPUT.id=REALAM.ID where  symble Like '%" ComboBox3.Text "%'"Con)

 
       sqlstaaa.Fill(dataset1, ("Input,REALAM"))
 
       Con.Close()

 
       bind1 = New BindingSource(dataset1, ("INPUT,REALAM"))
 
       TextBox12.DataBindings.Add(New Binding("text"dataset1.Tables("REALAM"), "AOMUNTT"))
 
       TextBox9.DataBindings.Add(New Binding("text"dataset1.Tables("INPUT"), "name"))
 
       ComboBox2.DataBindings.Add(New Binding("text"dataset1.Tables("INPUT"), "class"))
 
   End Sub 
الرد }}}
تم الشكر بواسطة:
#2
ماكو اي ردود هل الموضوع صعب لهذه الدرجه
الرد }}}
تم الشكر بواسطة:
#3
أرفق مثال ليتم التعديل عليه
[صورة مرفقة: images?q=tbn:ANd9GcT72OLJW7D1E5QW-HUeWeJ...TGoNeg2jnQ]
الرد }}}
تم الشكر بواسطة:
#4
اخي الفاضل :

نصحتك من قبل بتغيير اسم الجدول INPUT لأنه من الاسماء المحجوزة ....

مرة اخرى ... انصحك بتغيير اسم الجدول ثم التجربة
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو
#5
يا اخي شرحك غير وافي
على الاقل اعرض رسالة الخطأ الي تظهرلك
<يعطيك العافية>
الرد }}}
تم الشكر بواسطة:
#6
الـ output و input كلمات محجوزة ممكن تسبب الك خطاً بالتنفيذ
الرد }}}
تم الشكر بواسطة:
#7
(13-04-22, 02:06 PM)Jounior_P كتب : اخي الفاضل :

نصحتك من قبل بتغيير اسم الجدول INPUT لأنه من الاسماء المحجوزة ....

مرة اخرى ... انصحك بتغيير اسم الجدول ثم التجربة

نفس المشكله استاذ غيرت اسمه وبقت نفس المشكله
ارجو حل مشكله الكود جربت كود غيره واشتغل تمام بس المشكله عندما لاتكون هناك قيمه مشابه لايضهر رساله ان الرصيد صفر وهذا الكود 
PHP كود :
Imports System.Data
Imports System
.Data.OleDb
Public Class Form1

    Public constr 
As String " provider = microsoft.ace.oledb.12.0;" "data source = " Application.StartupPath "\md.accdb"
 
   Dim con As New OleDbConnection(constr)
 
   Dim sqlstr As String "select * from [input]"


 
   Dim dsds1 As New DataSet
    Dim bind
bind1 As New BindingSource
    Dim da
da1 As OleDbDataAdapter


    Private Sub Form1_Load
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load

        fill_comb
()


 
   End Sub


    Sub fill_comb
()
 
       con.Open()
 
       'TextBox1.Text = ""
        ds.Clear()
        Dim da As New OleDbDataAdapter(sqlstr, con)
        da.Fill(ds, "input")
        con.Close()
        ComboBox1.DataSource = ds.Tables("input")
        ComboBox1.DisplayMember = "dic2"
        ComboBox1.ValueMember = "dec1"

    End Sub


    Sub bindtexts()

        TextBox1.DataBindings.Add(New Binding("Text", ds.Tables("input"), "dec3"))
            TextBox2.DataBindings.Add(New Binding("Text", ds.Tables("input"), "dec2"))
            TextBox3.DataBindings.Add(New Binding("Text", ds1.Tables("output"), "tuy"))


    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged

    End Sub

    Private Sub ComboBox1_SelectionChangeCommitted(sender As Object, e As EventArgs) Handles ComboBox1.SelectionChangeCommitted
        '
bind = New BindingSource(ds"input")

 
       bindtexts()

 
   End Sub

    Private Sub ComboBox1_Click
(sender As ObjectAs EventArgsHandles ComboBox1.Click
        TextBox1
.DataBindings.Clear()
 
       TextBox2.DataBindings.Clear()
 
       TextBox3.DataBindings.Clear()
 
       Dim sqlstr1 As String "select * from [output] where mohy = '" ComboBox1.Text "' "

 
       con.Open()
 
           'TextBox1.Text = ""
            ds1.Clear()
            Dim da1 As New OleDbDataAdapter(sqlstr1, con)
            da1.Fill(ds1, "output")
            con.Close()

    End Sub

    Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged

    End Sub


End Class 
الرد }}}
تم الشكر بواسطة:
#8
اخي الفاضل :

ارفق المثال افضل .... او صورة من رسالة الخطـأ التي تظهر لك
الرد }}}
تم الشكر بواسطة:
#9
السلام عليكم ورحمة الله وبركاته
اخي الكريم 
كل الاخوة جزاهم الله كل خير نصحوك بالابتعاد عن الكلمات المحجوزة للغة في تسمية جداول او حقول مما تسبب الاخطاء القاتلة وانت مصرّ على استخدامها لماذا لا اعلم؟؟؟؟؟!!!!!
الشي الآخر انك تضع الاستعلام في حدث ComboBox1_Click وهذا خطأ أخر ضع الكود في زر بوتون 
قم بتغيير كل الكلمات المحجوزة من (Input , Output) وغيرها ان كانت موجودة في البرنامج

اليك الكود بعد القليل من التعديل لاتنس ان تغير الكلمات المحجوزة قم بالتجربة وان لم تنجح قم بوضع المثال ليصار الى معاينته واصلاح الخلل
كود :
Imports System.Data
Imports System.Data.OleDb
Public Class Form1

   Public constr As String = " provider = microsoft.ace.oledb.12.0;" & "data source = " & Application.StartupPath & "\md.accdb"
   Dim con As New OleDbConnection(constr)
   Dim sqlstr As String = "select * from [input]"


   Dim ds, ds1 As New DataSet
   Dim bind, bind1 As New BindingSource
   Dim da, da1 As OleDbDataAdapter


   Sub fill_comb()
       con.Open()
       'TextBox1.Text = ""
       ds.Clear()
       Dim da As New OleDbDataAdapter(sqlstr, con)
       da.Fill(ds, "[input]")
       con.Close()
       ComboBox1.DataSource = ds.Tables("[input]")
       ComboBox1.DisplayMember = "dic2"
       ComboBox1.ValueMember = "dec1"

   End Sub

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

   Sub bindtexts()

       TextBox1.DataBindings.Add(New Binding("Text", ds.Tables("[input]"), "dec3"))
       TextBox2.DataBindings.Add(New Binding("Text", ds.Tables("[input]"), "dec2"))
       TextBox3.DataBindings.Add(New Binding("Text", ds1.Tables("[output]"), "tuy"))
   End Sub

   Private Sub ComboBox1_SelectionChangeCommitted(sender As Object, e As EventArgs) Handles ComboBox1.SelectionChangeCommitted
       'bind = New BindingSource(ds, "input")
       bindtexts()

   End Sub

   ' هذا بوتون
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       TextBox1.DataBindings.Clear()
       TextBox2.DataBindings.Clear()
       TextBox3.DataBindings.Clear()
       Dim sqlstr1 As String = "select * from [output] where mohy = '" + ComboBox1.Text + "' "

       con.Open()
       'TextBox1.Text = ""
       ds1.Clear()
       Dim da1 As New OleDbDataAdapter(sqlstr1, con)
       da1.Fill(ds1, "[output]")
       con.Close()
   End Sub
End Class
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: فراس محي
#10
باسوود البرنامج هو aa 
تم ارفاق البرنامج للتعديل عليه 
الفورم الثاني الصرف اريد عند الضغط على كومبو بوكس رمز الماده يجيب باقي المعلومات من جدول input  والرصيد الماده من relem  على اساس حقل id  وعند الصرف ينقص الرصيد حسب الكميه المدخله في تكست الكميه واذا كان الرصيد اقل من الكميه المصروفه تضهر رساله خطا
الرد }}}
تم الشكر بواسطة:



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


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