 |
|
รบกวน ทุกๆท่าน ช่วยแก้ปัญหา เกี่ยว combobox ของ vb.net ให้ทีค่ะ เป็นสิ่งที่ติดอยู่วันที่ 6 แล้ว ถ้าแก้ได้โปรแกรมก็จะเสร็จแล้วค่ะ |
|
 |
|
|
 |
 |
|
เพิ่มเงื่อนไข ตอน Query ไปอีกสักอันนะครับ

เพิ่ม จากชื่อ + นามสกุล หรือ รหัสพนักงาน (น่าจะไม่ซ้ำนะตัวนี้)เข้าไปนะครับ
เพราะเนื่องจากมีเงื่อนไขเพียงตัวเดียว ถ้ามีกรณีที่ชื่อ " บี" มีมากกว่า 1 คน ซึ่งโค้ดที่เขียนเลือกเอาเฉพาะ Row(0) มาแสดง
มันเลยแสดงแบบนั้น

ลองทำดูนะครับ
|
ประวัติการแก้ไข 2011-03-18 18:47:14 2011-03-18 18:48:51
 |
 |
 |
 |
Date :
2011-03-18 18:45:24 |
By :
hikhalu |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อ่า ก้อตามที่เขาบอกแหละจ้า มันเช็ค ค่าที่ 0 ก้อออกมาตามนั้นแหละ
คือ บี มี 2 รหัส แต่ คำสั่งที่ทำขึ้นมา ให้เลือกที่ลำดับแรกที่เจอใน data
หาก บี1 บี2 บี3 มี 2 รหัสหรือมีมากกว่า 2 ก้อไม่รู้อีกว่าคนที่ต้องการคนไหน ต้องหาไปเรื่อย ๆ มันยากนะคับ
เอาเป็นแบบนี้มั้ยคับ
- ให้เลือกจะชื่อ หากในกรณีที่มี ชื่อ ไม่ซ้ำกัน ถ้าซ้ำอีกก้อ เหมือนเดิมครับ
- หรือ แสดงจากรหัส อันนี้ไม่ซ้ำแน่นอน แต่ปัญาหคือไม่รู้ว่ารหัสไหนอีก
- หรือ เอา DataGridView มาช่วย แล้วทำปุ่มค้นหา แล้วเลือกเอาจะดีหรือป่าว
สรุปคือ ปัญหายาวคับ แนะ DataGridView น่าจะดีกว่านะคับ ง่าย ๆ เลยได้ตามที่ต้องการชัวร์แบบนี้นะคับ
จะง่ายกว่านะ แต่โค๊ตมันจะยาวขึ้นอีก แต่ง่ายในการจัดการ

แสดงแล้วค้นหา นะคับ

สุดท้ายผมเลือกจากคำว่า ครอบครั แล้วเยอะมาก จะแก้ไข ลบ หรือทำอะไรก้อเลือกมาแค่ 1
จัดได้เลยคับ ง่ายกว่า
|
ประวัติการแก้ไข 2011-03-19 08:48:50
 |
 |
 |
 |
Date :
2011-03-19 08:13:22 |
By :
angelrings0 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณ คุณMr.Hikhalu มากค่ะ แต่อยากได้ตัวอย่างได้ไหมคะ ทำไม่อ่าค่ะ (โง่อ่ะ)
แล้วก็ขอบคุณ คุณ angelrings0 ด้วยนะคะ แต่พอดีความต้องเขามาแบบนี้น่ะ เลยต้องทำให้ได้
ขอบคุณทุกคนมากด้วยนะคะ คุณ Guest ด้วย (เกือบลืม^^)
|
 |
 |
 |
 |
Date :
2011-03-19 08:44:00 |
By :
mayapopy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมแปะ Code ไว้ให้กระทู้เก่าแล้วนะ
อย่างที่ว่ามันเอาชื่อไป Where ไม่ได้นะครับ ต้องเอา ID ไป Where
กำหนดค่า Value กับ Display ของ ComboBox ด้วยนะครับ
|
ประวัติการแก้ไข 2011-03-19 10:42:33
 |
 |
 |
 |
Date :
2011-03-19 10:41:18 |
By :
3rds |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มันขึ้นแบบนี้อ่ะ

สูตรผิด....ตรงไหนไม่รู้
ขอบคุณ คุณ 3rds ค่ะ
|
 |
 |
 |
 |
Date :
2011-03-19 11:37:16 |
By :
mayapopy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
namebox.selectvalue.tostring() ได้ปะ
|
 |
 |
 |
 |
Date :
2011-03-19 14:50:40 |
By :
... |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าไอดีเปน int ก็ไม่ต้อง' ' ใช้ & namebox.selectvalue เลย
|
 |
 |
 |
 |
Date :
2011-03-19 14:56:43 |
By :
... |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองแล้วค่ะไม่ได้อยู่ดี เป็นเหมือนเดิมเลย T_T เป็นปัญหาผ่านมา 1 สัปดาห์
|
 |
 |
 |
 |
Date :
2011-03-21 09:49:26 |
By :
mayapopy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่ทราบว่าแก้ได้ยังครับ ถ้ายังลองเปลียนจาก
data.Tables("emp").Rows(i)("EmpFrontName")
เป็น data.Tables("emp").Rows(i)("EmpFrontName").ToString()
ใน sub Empinfo
|
 |
 |
 |
 |
Date :
2011-03-21 14:22:56 |
By :
Programmer Of Persia |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองเรียบร้อยแล้วค่ะ ผลเท่าเดิมเลย มันไม่ยอมเปลี่ยนให้ แต่ไม่ error นะ ขอบคุณ Programmer Of Persia มากๆนะคะ ยังคงต้องรอต่อไป อิอิ
|
 |
 |
 |
 |
Date :
2011-03-21 15:05:13 |
By :
mayapopy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใครก็ได้ เราติดอยู่แค่ 2 เรื่อง แก้ได้ก็จะเสร็จแล้ว ช่วยหน่อยนะคะ ปวดหัวแล้วT_T
|
 |
 |
 |
 |
Date :
2011-03-21 15:13:43 |
By :
mayapopy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
วางแทนอันเก่าทั้ง EmpInfo() และ empdetial()
Code (VB.NET)
Private Sub EmpInfo()
'Dim sql As String = "SELECT DISTINCT(EmpFrontName) FROM Employee" ตรวจสอบค่าซ้ำ
Dim sql As String = "SELECT IDEmp,EmpFrontName FROM Employee"
Cmd = New OleDbCommand(sql, con)
Dim adapter = New OleDbDataAdapter(Cmd)
Data = New DataSet()
adapter.Fill(Data, "Emp")
With NameBox
.DataSource = Data.Tables("Emp")
.DisplayMember = "EmpFrontName"
.ValueMember = "IDEmp"
End With
End Sub
Private Sub empdetial()
On Error Resume Next
Dim sql As String = "SELECT * FROM Employee WHERE IDEmp = ?"
cmd = New OleDbCommand(sql, con)
cmd.Parameters.AddWithValue("", NameBox.SelectedValue)
adapter = New OleDbDataAdapter(cmd)
Data.Clear()
adapter.Fill(Data, "Fnameinfo")
EmpID.Text = Data.Tables("Fnameinfo").Rows(0)("IDEmp")
name1.Text = Data.Tables("Fnameinfo").Rows(0)("EmpLastName")
name2.Text = Data.Tables("Fnameinfo").Rows(0)("EmpNickName")
positioning.Text = Data.Tables("Fnameinfo").Rows(0)("EmpPosition")
duty.Text = Data.Tables("Fnameinfo").Rows(0)("EmpJob")
Bdate.Text = Data.Tables("Fnameinfo").Rows(0)("EmpBeginDate")
Money.Text = Data.Tables("Fnameinfo").Rows(0)("EmpSalary")
StatusBox.Text = Data.Tables("Fnameinfo").Rows(0)("StatusEmp")
End Sub
|
 |
 |
 |
 |
Date :
2011-03-21 16:05:04 |
By :
kaimuk |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
โห ขอบคุณมากเลยค่ะ คุณ Kaimuk เดี๋ยวพรุ่งนี้จะมาบอกผลนะคะ พอดีมีธุระเดี๋ยวต้องรีบกลับบ้านค่ะ
อุตส่ามาช่วยแล้ว ยังเล่นตัวอีกเน่อะ ขอโทษด้วยจ้า อิอิ เก็บเอาไว้บ้าง ให้พรุ่งนี้ยังมีหวัง^^
|
 |
 |
 |
 |
Date :
2011-03-21 17:15:05 |
By :
mayapopy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

ลองเรียบร้อยแล้วเจ้าค่ะ ว่างเปล่าเลย ไม่มีอะไรขึ้นมาเลย งงเลย อิอิ
ขอบคุณ คุณ kaimuk มากๆๆๆ ค่า เศร้าT_T
|
 |
 |
 |
 |
Date :
2011-03-22 13:46:43 |
By :
mayapopy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แก้ต่อจาก No.14
EmpInfo นั้นใช้ได้แล้ว
EmpDetail แก้นิดหน่อย
Code (VB.NET)
Private Sub EmpInfo()
Dim sql As String = "SELECT IDEmp,EmpFrontName FROM Employee"
Cmd = New OleDbCommand(sql, con)
Dim adapter = New OleDbDataAdapter(Cmd)
Data = New DataSet()
adapter.Fill(Data, "Emp")
With NameBox
.DataSource = Data.Tables("Emp")
.DisplayMember = "EmpFrontName"
.ValueMember = "IDEmp"
End With
End Sub
Private Sub empdetial()
Try
Dim sql As String = "SELECT * FROM Employee WHERE IDEmp = @IDEmp"
cmd = New OleDbCommand(sql, con)
cmd.Parameters.AddWithValue("@IDEmp", NameBox.SelectedValue)
adapter = New OleDbDataAdapter(cmd)
Data.Clear()
adapter.Fill(Data, "Fnameinfo")
EmpID.Text = Data.Tables("Fnameinfo").Rows(0)("IDEmp")
name1.Text = Data.Tables("Fnameinfo").Rows(0)("EmpLastName")
name2.Text = Data.Tables("Fnameinfo").Rows(0)("EmpNickName")
positioning.Text = Data.Tables("Fnameinfo").Rows(0)("EmpPosition")
duty.Text = Data.Tables("Fnameinfo").Rows(0)("EmpJob")
Bdate.Text = Data.Tables("Fnameinfo").Rows(0)("EmpBeginDate")
Money.Text = Data.Tables("Fnameinfo").Rows(0)("EmpSalary")
StatusBox.Text = Data.Tables("Fnameinfo").Rows(0)("StatusEmp")
Catch ex as Exception
Messagebox.Show(ex.Message)
End Try
End Sub
|
 |
 |
 |
 |
Date :
2011-03-23 09:07:52 |
By :
หางอึ่ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองเรียบร้อยแล้วค่ะ
มันขึ้นเหมือน หาค่าไม่เจอน่ะค่ะ

|
 |
 |
 |
 |
Date :
2011-03-23 10:07:16 |
By :
mayapopy |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|