 |
|
Code (VB.NET)

ตามภาพข้างบนเลยครับ
ปัญหาที่ 1 combobox ข้างๆ เดือน ผมต้องการให้ มันแสดงข้อมูลที่ซ้ำแค่อันเดียว ประมาณว่า สิงหาคม 2556 , กันยายน 2556
ปัญหาที่ 2 ใน DataGridView ของผม ตามที่เลือก combo1(เลือกชื่อลูกค้า) และเลือก combo2(เลือกเดือน)
ผมอยากให้โชว์เฉพาะชื่อลูกค้าที่เลือกและเดือนที่เลือก แต่ในภาพพอเลือกเดือน ปรากฏว่าชื่อจากลูกค้าอื่นที่ซื้อเดือนเดียวกัน
โผล่มาด้วย // ผมอยากให้ขึ้นเฉพาะลูกค้าที่เราเลือก อันนี้โค๊ดครับด้านล่าง
Imports System.Data
Imports System.Data.OleDb
Public Class FormHistory
Private _dataset As DataSet
Private _conn As OleDbConnection
Private _cmd As OleDbCommand
Private _adapter As OleDbDataAdapter
Private Sub FormHistory_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
_conn = New OleDbConnection(_conStr)
_conn.Open()
Dim sql As String = "SELECT * FROM Customers"
_cmd = New OleDbCommand(sql, _conn)
Dim reader As OleDbDataReader = _cmd.ExecuteReader()
While reader.Read()
CmbCust.Items.Add(reader("CustomerName"))
End While
sql = "SELECT * FROM Orders"
_cmd = New OleDbCommand(sql, _conn)
reader = _cmd.ExecuteReader()
While reader.Read
Cmbmonth.Items.Add(reader("OrderedDate"))
End While
CmbCust.SelectedIndex = 0
Cmbmonth.SelectedIndex = 0
End Sub
Private Sub ShowOrders()
Dim sql As String
sql = "SELECT * FROM Orders WHERE CustomerName = @cust"
_cmd = New OleDbCommand(sql, _conn)
_cmd.Parameters.AddWithValue("cust", CmbCust.SelectedItem)
sql = "SELECT * FROM Orders WHERE OrderedDate = @orde"
_cmd = New OleDbCommand(sql, _conn)
_cmd.Parameters.AddWithValue("orde", Cmbmonth.SelectedItem)
_adapter = New OleDbDataAdapter(_cmd)
_dataset = New DataSet()
_adapter.Fill(_dataset, "ord")
End sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ShowOrders()
End Sub
Tag : .NET, Ms Access, Win (Windows App), VB.NET
|
|
 |
 |
 |
 |
Date :
2013-09-05 20:11:08 |
By :
khwanchai |
View :
3261 |
Reply :
3 |
|
 |
 |
 |
 |
|
|
|
 |