 |
|
คอมโบบ๊อก ใน visual 2008 มึนตื๊บมาหลายวันแล้วคับ ช่วยหน่อยคับ |
|
 |
|
|
 |
 |
|
ถ้าเลือกหลายเงื่อนไข ใช้ Check Box ดีกว่าไหม ผมว่าง่ายกว่านะ
แล้วค่อยเอาค่า ที่เลือก มาเขียน SQL จะง่ายกว่านะ ผมว่า หรือใครว่าอย่างไรครับ
|
 |
 |
 |
 |
Date :
2011-03-12 23:27:42 |
By :
duzija1 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คือแบบว่ายังไงอ่ะคับ
ผมสร้างคอมโบบ๊อกแรกไว้แล้วไว้ค้นหาค่าอื่นๆ
ส่วน Tranformer_size คับ มันต้องเพิ่มคอมโบบ๊อกมาอีกใช่ไหมคับ
เสร็จแ้วผมก็ซ่อนคอมโบบ๊อกอันสองไว้ แล้วจะเขียนโค้ดให้มันแสดงเมื่อเลือกที่ Tranformer_size นะัคับ
แล้วในคอมโบบ๊อกอันที่สองเนี่ยอ่ัะคับ ผมต้องเขียนโค้ดไรใส่ไปคับ เพื่อให้มัน หาค่าตามเงื่อนไขที่กำหนดคับ
ที่มันมี สามเงื่อนไขอ่ะคับ
|
 |
 |
 |
 |
Date :
2011-03-14 16:55:02 |
By :
mixdeatnote |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมลองอ่านจาก CODE ที่ทำมาแล้ว ลองแปลงดูตามความเขาใจแล้ว ไม่รู้ใช่หรือเปล่า แต่ลองดูเอานะ
http://www.mediafire.com/?54bwo74ob66x4cs
ปล อันนี้ไม่ได้ใช้ SQL BETWEEN นะ สร้างเงือนไขแบบ ตรงๆเลย
งง ถามได้ครับ เมล์อยู่ในหน้า CODE
ไม่เก่งครับ แต่อยากช่วย เหอๆๆๆ
|
 |
 |
 |
 |
Date :
2011-03-14 23:55:04 |
By :
duzija1 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าตาม Code ของ จขกท. 57 Re mark ไว้
แล้วเอาอันนี้ใส่ไว้ใน Event c2.SelectedIndexChanged
Code (VB.NET)
sql = "Select * from factory1 where " & c2.SelectedValue & "
dt.Clear()
da = New OleDbDataAdapter(sql, Conn)
da.Fill(dt)
dtg.DataSource = dt
|
ประวัติการแก้ไข 2011-03-15 08:39:22 2011-03-15 08:39:52
 |
 |
 |
 |
Date :
2011-03-15 08:38:03 |
By :
kaimuk |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

พอนำโค้ดอย่างที่พี่บอกไปใส่มันขึ้นยังงี้อ่ะคัฟ
ให้ผมเอาโค้ดทั้งหมด มาให้พี่ดู ไหมคับ
มึนมากมาย
อธิบายใหม่คร่าวๆเร้ยน่ะคับ
ใน ฟอร์ม 2 ของผม ได้ทำการค้นหาข้อมูลที่อยู่ในฐานข้อมูลที่ผมดึงมาไว้
เสร็จแล้วทุกอันต้นหาตรงตามเงื่อนไขที่เขียนกำหนดไว้
แต่ในส่วนของ Tranformer_size ผมจะมีเงื่อไนแยกออกอีก 3 เงื่อนไข
คือ น้อยกว่า 1175
ระหว่าง 1176 - 3529
มากกว่า 3530
แล้วผมจะกำหนดว่า พอเราเลือกฟิลด์ Tranformer_size ให้มันมีคอมโบบ๊อกเพิ่มขึ้นมา ที่เรากำหนดเงื่อนไข
สามเงื่อนไขไว้ เพื่อจะค้นหา
ผมต้องใส่โค้ดยังไงตรงไหนคับ
ผมได้ซ่อนคอมโบบ๊อกไว้ก่อนแร้ว
|
 |
 |
 |
 |
Date :
2011-03-15 11:03:39 |
By :
mixdeatnote |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (VB.NET)
On Error Resume Next
sql = "Select * from factory1 where " & c2.SelectedValue & "
dt.Clear()
da = New OleDbDataAdapter(sql, Conn)
da.Fill(dt)
dtg.DataSource = dt
ลองเปลี่ยนเป็นอันนี้
|
 |
 |
 |
 |
Date :
2011-03-15 11:23:42 |
By :
kaimuk |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
นิ่งคับไม่ไหวติงไม่มี อาไรเกิดขึ้น
|
 |
 |
 |
 |
Date :
2011-03-15 11:27:16 |
By :
mixdeatnote |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Imports System.Data
Imports System.Data.OleDb
Public Class Form2
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If example.Text = "ID Code" Then
sql = "select * from factory1 where ID_Code Like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Plt Bld Id" Then
sql = "select * from factory1 where Plt_Bld_Id Like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Tsic Id" Then
sql = "Select * from factory1 where Tsic_Id like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Id No" Then
sql = "Select * from factory1 where Id_No like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Number Factory" Then
sql = "Select * from factory1 where Number_Factory like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Type code factory" Then
sql = "Select * from factory1 where Type_code_factory like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Industry" Then
sql = "Select * from factory1 where Industry like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Corporate Name" Then
sql = "Select * from factory1 where Corporate_Name like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Factory_Building" Then
sql = "Select * from factory1 where Factory_Building like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Trader" Then
sql = "Select * from factory1 where Trader like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Name Contract" Then
sql = "Select * from factory1 where Name_Contract like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Date control" Then
sql = "Select * from factory1 where Date_control like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Acc responsible" Then
sql = "Select * from factory1 where Acc_responsible like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Address" Then
sql = "Select * from factory1 where Address like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Address Estate" Then
sql = "Select * from factory1 where Address_Estate like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Group" Then
sql = "Select * from factory1 where Group like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Road" Then
sql = "Select * from factory1 where Road like '" & TextBox1.Text & "%'"
ElseIf example.Text = "District" Then
sql = "Select * from factory1 where District like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Zone" Then
sql = "Select * from factory1 where Zone like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Province" Then
sql = "Select * from factory1 where Province like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Post Code" Then
sql = "Select * from factory1 where Post_Code like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Number" Then
sql = "Select * from factory1 where Number like '" & TextBox1.Text & "%'"
ElseIf example.Text = "NumberFax" Then
sql = "Select * from factory1 where NumberFax like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Expr1014" Then
sql = "Select * from factory1 where Expr1014 like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Transformer size (kVA) SUM" Then
sql = "Select * from factory1 where Transformer_size like '" & TextBox1.Text & "%'"
ElseIf example.Text = "Size kW approval SUM" Then
sql = "Select * from factory1 where Size_kW_approval like '" & TextBox1.Text & "%'"
End If
dt.Clear()
da = New OleDbDataAdapter(sql, Conn)
da.Fill(dt)
dtg.DataSource = dt
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
sql = "Select * from factory1"
da = New OleDbDataAdapter(sql, Conn)
da.Fill(dt)
dtg.DataSource = dt
Dim _DR As DataRow
Dim _DT As New DataTable
_DT.Columns.Add("Data")
_DT.Columns.Add("SQLString")
_DR = _DT.NewRow
_DR("Data") = "น้อยกว่า 1175"
_DR("SQLString") = "Transformer_size between 0 and 1175 "
_DR("Data") = "1175 ถึง 3529"
_DR("SQLString") = "Transformer_size between 1176 and 3529"
_DT.Rows.Add(_DR)
_DR = _DT.NewRow
_DR("Data") = "มากกว่า 3529"
_DR("SQLString") = "Transformer_size between 3530 and 100000000"
_DT.Rows.Add(_DR)
c2.DataSource = _DT
c2.DisplayMember = "Data"
c2.ValueMember = "SQLString"
End Sub
Private Sub example_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles example.SelectedIndexChanged
Try
Me.Text = c2.SelectedValue
Catch ex As Exception
c2.Text = Nothing
End Try
End Sub
Private Sub c2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles c2.SelectedIndexChanged
On Error Resume Next
sql = "Select * from factory1 where " & c2.SelectedValue & ""
dt.Clear()
da = New OleDbDataAdapter(sql, Conn)
da.Fill(dt)
dtg.DataSource = dt
End Sub
End Class
โค้ดทั้งหมดคัฟ
|
ประวัติการแก้ไข 2011-03-15 11:28:14
 |
 |
 |
 |
Date :
2011-03-15 11:27:38 |
By :
mixdeatnote |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมทดลองจำลอง Database ขึ้นมาแล้วใช้ Code ข้างต้นก็ทำงานได้ปกตินะครับ
|
 |
 |
 |
 |
Date :
2011-03-15 13:20:40 |
By :
kaimuk |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|