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

نسخة كاملة : ممكن كود عندما يتم اختيار رقم من تكست بوكس تظهر البيانات في TextBox
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
ممكن كود بعد ما اختار رقم من الكومبو بكس يظهر لي البيانات لصاحب الرقم في TextBox ؟؟

ذخلت والله طلعت لي مشكلة لاني استخدم Dataset لاظهار البيانات من بعد ما اختار الرقم او الاسم 

هل يوجد حل لجعل ظهور البيانات بعد ما اختار الرقم من ComboBox
حصلت كود لكن لم يعمل

Private Sub cBoxCustName_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cBoxCustName.SelectedIndexChanged
Try
dbConnect()
cmd.CommandText = "Select * from Customers where Cust_Name = '" & cBoxCustName.Text & "'"
dr.Close()
dr = cmd.ExecuteReader

While dr.Read()
txtCust_ID.Text = dr("Cust_ID").ToString
txtCustCPR.Text = dr("Cust_CPR").ToString
txtCustContactNo.Text = dr("Cust_Contact_No").ToString
txtFlatNo.Text = dr("Cust_Address").ToString
End While
Catch ex As Exception
MessageBox.Show(ex.Message, "Error 123", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
سلام

كود :
Private Sub cBoxCustName_SelectionChangeCommitted(ByVal sender As Object, ByVal e As System.EventArgs) Handles cBoxCustName.SelectionChangeCommitted
    Try
        Using conn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=False;")
            Using dAdapter As New OleDb.OleDbDataAdapter("SELECT * FROM [Customers] WHERE [Cust_Name] = @Cust_Name ", conn)
                dAdapter.SelectCommand.Parameters.AddWithValue("@Cust_Name", cBoxCustName.Text)
                Using dTable As New DataTable
                    If dAdapter.Fill(dTable) > 0 Then
                        Dim row As DataRow = dTable.Rows(0)
                        txtCust_ID.Text = row("Cust_ID")
                        txtCustCPR.Text = row("Cust_CPR")
                        txtCustContactNo.Text = row("Cust_Contact_No")
                        txtFlatNo.Text = row("Cust_Address")
                    End If
                End Using
            End Using
        End Using
    Catch ex As Exception
        MessageBox.Show(ex.Message, "Error 123", MessageBoxButtons.OK, MessageBoxIcon.Error)
    End Try
End Sub

موفقين
مشكور اخوي لكن للاسف الكود ليس به خطأ لكن لم تظهر لي اي معلومات

Try
Using conn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=False;")
Using dAdapter As New OleDb.OleDbDataAdapter("SELECT * FROM [Rent_Equipment] WHERE [Cus_ID] = @Cus_ID ", conn)
dAdapter.SelectCommand.Parameters.AddWithValue("@Cus_ID", ComboBox1.Text)
Using dTable As New DataTable
If dAdapter.Fill(dTable) > 0 Then
Dim row As DataRow = dTable.Rows(0)
ComboBox1.Text = row("Cus_ID")
TextBox1.Text = row("Cus_Name")
TextBox2.Text = row("Cus_Private_Number")
End If
End Using
End Using
End Using
Catch ex As Exception
MessageBox.Show(ex.Message, "Error 123", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try

اخوي هذا كود توي شايفنه بس فيه مشكلة
الكود
Using conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=False;")
conn.Open()
Dim sql As String =
"select * from Rent_Equipment where Cus_ID='" & ComboBox1.Text & "'"
mySQLCommand.CommandText = mySQLStrg
mySQLCommand.Connection = myConnToAccess
dr = mySQLCommand.ExecuteReader
If (dr.Read() = True) Then
TextBox1.Text = (dr("Cus_Name"))
End If
mySQLCommand.Dispose()
dr.Close()
End Using

مكان الخطأ
mySQLCommand.CommandText = mySQLStrg

عنوان الخطأ
An unhandled exception of type 'System.NullReferenceException' occurred in 1111.exe

Additional information: Object reference not set to an instance of an object.

هذا التعريفات

Imports System.Data.OleDb
Imports AccessToAccess
Public Class Form4
Public myConnToAccess As OleDbConnection
Dim mySQLCommand As OleDbCommand
Dim mySQLStrg As String
Dim ds As DataSet
Dim da As OleDbDataAdapter
Dim dr As OleDbDataReader
سلام

كودك الاول سليم لكن تاكد تطلب رقم موجود فعلا في قاعدت البيانات
لم انظر لتعديلات ردك الاخير لضيق الوقت

كود :
Try
        Using conn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=False;")
            Using dAdapter As New OleDb.OleDbDataAdapter("SELECT * FROM [Rent_Equipment] WHERE [Cus_ID] = @Cus_ID ", conn)
                dAdapter.SelectCommand.Parameters.AddWithValue("@Cus_ID", Val(ComboBox1.Text))
                Using dTable As New DataTable
                    If dAdapter.Fill(dTable) > 0 Then
                        Dim row As DataRow = dTable.Rows(0)
                        TextBox1.Text = row("Cus_Name")
                        TextBox2.Text = row("Cus_Private_Number")
                    End If
                End Using
            End Using
        End Using
    Catch ex As Exception
        MessageBox.Show(ex.Message, "Error 123", MessageBoxButtons.OK, MessageBoxIcon.Error)
    End Try

موفقين
الحمدالله رب العالمين شغال 100%
لكن اذا قلنا نريد ان نختار على حسب الاسم لماذا لايعمل رغم اني غيرت المطلوب

الكود

Try
Using conn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=False;")
Using dAdapter As New OleDb.OleDbDataAdapter("SELECT * FROM [Equipment] WHERE [Equ_Name] = @Equ_Name ", conn)
dAdapter.SelectCommand.Parameters.AddWithValue("@Equ_Name", Val(ComboBox2.Text))
Using dTable As New DataTable
If dAdapter.Fill(dTable) > 0 Then
Dim row As DataRow = dTable.Rows(0)
TextBox4.Text = row("Equ_ID")
End If
End Using
End Using
End Using
Catch ex As Exception
MessageBox.Show(ex.Message, "Error Read Equpment", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
سلام

اولا الامر Val يستخدم لتحويل النص الى رقم
ثانيا هل ComboBox2 يوجد به الاسماء ام ارقام
ثالثا استخدام علامه = تعني المطابقه لكامل النص

كود :
Try
    Using conn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=False;")
        Using dAdapter As New OleDb.OleDbDataAdapter("SELECT * FROM [Equipment] WHERE [Equ_Name] = @Equ_Name ", conn)
            dAdapter.SelectCommand.Parameters.AddWithValue("@Equ_Name", ComboBox2.Text)
            Using dTable As New DataTable
                If dAdapter.Fill(dTable) > 0 Then
                    Dim row As DataRow = dTable.Rows(0)
                    TextBox4.Text = row("Equ_ID")
                End If
            End Using
        End Using
    End Using
Catch ex As Exception
    MessageBox.Show(ex.Message, "Error Read Equpment", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub

موفقين
مشكور رحم الله والديك اشتغل غيرت كلمة Val الى value:=

هذا هو الكود بعد التعديل شغال 100%
Try
Using conn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Database1.accdb;Persist Security Info=False;")
Using dAdapter As New OleDb.OleDbDataAdapter("SELECT * FROM [Equipment] WHERE [Equ_Name] = @Equ_Name ", conn)
dAdapter.SelectCommand.Parameters.AddWithValue("@Equ_Name", value:=(ComboBox2.Text))
Using dTable As New DataTable
If dAdapter.Fill(dTable) > 0 Then
Dim row As DataRow = dTable.Rows(0)
TextBox4.Text = row("Equ_ID")
End If
End Using
End Using
End Using
Catch ex As Exception
MessageBox.Show(ex.Message, "Error Read Equpment", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try