المشاركات : 42
المواضيع 16
الإنتساب : Apr 2017
السمعة :
0
الشكر: 2
تم شكره 9 مرات في 8 مشاركات
السلام عليكم اخوتي
عندي قاعده بيانات اكسس اسمها 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
المشاركات : 42
المواضيع 16
الإنتساب : Apr 2017
السمعة :
0
الشكر: 2
تم شكره 9 مرات في 8 مشاركات
ماكو اي ردود هل الموضوع صعب لهذه الدرجه
المشاركات : 470
المواضيع 2
الإنتساب : Sep 2013
السمعة :
17
الشكر: 95
تم شكره 494 مرات في 211 مشاركات
أرفق مثال ليتم التعديل عليه
المشاركات : 199
المواضيع 2
الإنتساب : Jul 2017
السمعة :
20
الشكر: 4
تم شكره 249 مرات في 141 مشاركات
اخي الفاضل :
نصحتك من قبل بتغيير اسم الجدول INPUT لأنه من الاسماء المحجوزة ....
مرة اخرى ... انصحك بتغيير اسم الجدول ثم التجربة
المشاركات : 175
المواضيع 20
الإنتساب : Jan 2015
السمعة :
13
الشكر: 1109
تم شكره 1192 مرات في 130 مشاركات
يا اخي شرحك غير وافي
على الاقل اعرض رسالة الخطأ الي تظهرلك
<يعطيك العافية>
المشاركات : 101
المواضيع 0
الإنتساب : Nov 2019
السمعة :
20
الشكر: 217
تم شكره 274 مرات في 87 مشاركات
الـ output و input كلمات محجوزة ممكن تسبب الك خطاً بالتنفيذ
المشاركات : 42
المواضيع 16
الإنتساب : Apr 2017
السمعة :
0
الشكر: 2
تم شكره 9 مرات في 8 مشاركات
(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 ds, ds1 As New DataSet Dim bind, bind1 As New BindingSource Dim da, da1 As OleDbDataAdapter
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 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 Object, e As EventArgs) Handles 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
المشاركات : 199
المواضيع 2
الإنتساب : Jul 2017
السمعة :
20
الشكر: 4
تم شكره 249 مرات في 141 مشاركات
اخي الفاضل :
ارفق المثال افضل .... او صورة من رسالة الخطـأ التي تظهر لك
المشاركات : 2,061
المواضيع 49
الإنتساب : Oct 2017
السمعة :
538
الشكر: 10647
تم شكره 5323 مرات في 2095 مشاركات
السلام عليكم ورحمة الله وبركاته
اخي الكريم
كل الاخوة جزاهم الله كل خير نصحوك بالابتعاد عن الكلمات المحجوزة للغة في تسمية جداول او حقول مما تسبب الاخطاء القاتلة وانت مصرّ على استخدامها لماذا لا اعلم؟؟؟؟؟!!!!!
الشي الآخر انك تضع الاستعلام في حدث 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
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
المشاركات : 42
المواضيع 16
الإنتساب : Apr 2017
السمعة :
0
الشكر: 2
تم شكره 9 مرات في 8 مشاركات
باسوود البرنامج هو aa
تم ارفاق البرنامج للتعديل عليه
الفورم الثاني الصرف اريد عند الضغط على كومبو بوكس رمز الماده يجيب باقي المعلومات من جدول input والرصيد الماده من relem على اساس حقل id وعند الصرف ينقص الرصيد حسب الكميه المدخله في تكست الكميه واذا كان الرصيد اقل من الكميه المصروفه تضهر رساله خطا
|