 |
|
โหลดข้อมูลการยืมลง Combobox บันทึกแล้วไม่ต้องแสดงข้อมูลอีก แล้วดึงข้อมูลกลับมาเมื่อบันทึกคืน |
|
 |
|
|
 |
 |
|
มีสองทางให้เลือกครับ
1. ตอนที่คิวรี่ Load ข้อมูลมาใส่ Combobox ให้ เขียนคิวรี่เพิ่ม Where เข้าไปว่า
Code (SQL)
WHERE ItemID NOT IN(SELECT ItemID From tblBorrowItems)
ปล. ItemID = ฟิลรหัสอุปกรณ์ , tblBorrowItems = ชื่อตารางการยืมอุปกรณ์
กรณีนี้จะกรองเฉพาะข้อมูลที่ไม่มีในตารางการยืม หลังจากคืนก็ต้องลบไอเทมในตารางนี้ออกหรือใช้ Flag ก็แล้วแต่ 
2. เพิ่มฟิล "ยืม" เป็นชนิด bit (Boolean) ในตารางอุปกรณ์ กรณีที่มีการเพิ่ม การยืมอุปกรณ์
ก็ต้องตามไปอัพเดทฟิล "ยืม" ให้เป็น True ด้วย
หลังจากมีการคืนก็ต้องตามไปอัพเดทให้เปลี่ยนเป็น False เช่นกัน
ตอนเรียกมาแสดงใน Combobox เราก็แค่ Where "ยืม" = False แค่นั้นครับ 
ปล. "ยืม" = ชื่อฟิลการยืม Type bit (Boolean) อยู่ในตารางอุปกรณ์
|
ประวัติการแก้ไข 2014-01-30 15:51:05 2014-01-30 15:51:40 2014-01-30 15:53:39
 |
 |
 |
 |
Date :
2014-01-30 15:49:56 |
By :
01000010 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Public Function LoadAlltool()
'โหลดข้อมูล อุปกรณ์ ลงใน ComboBox
Dim objConn As New OleDbConnection
Dim dtAdapter As OleDbDataAdapter
Dim ds As New DataSet
Dim strSQL As String
Connection(objConn)
strSQL = "SELECT * FROM Tool "
dtAdapter = New OleDbDataAdapter(strSQL, objConn)
dtAdapter.Fill(ds)
With ComboBox2
.DataSource = ds.Tables(0)
.DisplayMember = "Tool_ID"
.ValueMember = "Tool_ID"
End With
ComboBox2.SelectedItem = 0
Return True
End Function
นี่เป็นโค้ดที่หนูโหลดข้อมูลลงcomboboxค่ะ
หน่อยไม่รู้จะใส่ตรงไหนช่วยบอกหนูหน่อยค่ะ
|
 |
 |
 |
 |
Date :
2014-01-30 16:21:03 |
By :
ไร้สมอง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ทำไรแล้วค่ะ ขอบคุณค่ะ
แต่เวลาคืนอุปกรณ์ แล้วรหัสอุปกรณ์ไม่กลับมาหน้ายืมทำอย่างไรค่ะ รบกวนหน่อยค่ะ
คืนอุปกรณ์หนูใช้โค้ดนี้ค่ะ
Dim Conn As New OleDbConnection
Dim Cmd As New OleDbCommand
Dim Str As String
MyModule.Connection(Con)
Select Case status
Case "add"
If MsgBox("คุณต้องการรับคืนอุปกรณ์ ใช่หรือไม่?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "ยืนยัน") = MsgBoxResult.Ok Then
ElseIf ComboBox1.Text = "" Then
MessageBox.Show("กรุณากรอกจำนวนคงเหลือ !!!", "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Information)
ComboBox1.Focus()
ComboBox1.SelectAll()
Exit Sub
Else
Str = "INSERT INTO BeRetool([Brt_ID],[Brt_DayBe],[Brt_DayTu],[Brt_Sname],[Brt_Gname],[Brt_Tname],[Brt_Quantity],[Brt_Pack],[Brt_Ename],[Brt_TUName],[Brt_Memo]) VALUES("
Str &= "'" & ComboBox1.Text & "',"
Str &= "null,"
Str &= "'" & DateTimePicker3.Text & "',"
Str &= "'" & TextBox2.Text & "',"
Str &= "'" & TextBox13.Text & "',"
Str &= "'" & TextBox14.Text & "',"
Str &= "'" & TextBox11.Text & "',"
Str &= "'" & ComboBox1.Text & "',"
Str &= "'" & TextBox5.Text & "',"
Str &= "'" & TextBox4.Text & "',"
Str &= "'" & TextBox3.Text & "' "
Str &= ")"
Try
Cmd = New OleDbCommand(Str, Con)
Cmd.ExecuteNonQuery()
Str = "UPDATE Tool SET Tool_Quantity='" & TextBox11.Text & "'WHERE [Brt_ID]= '" & ComboBox1.Text & "'"
MsgBox("บันทึกข้อมูล เรียบร้อย", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "แจ้งเตือน")
SqlCmd = New OleDbCommand(Str, Con)
SqlCmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox("ไม่สามารถบันทึกข้อมูลได้", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "แจ้งเตือน")
End Try
End If
Case "Edit"
Str = "UPDATE BeRetool,Tool SET Brt_DayTu= '" & DateTimePicker3.Text & "',Brt_Sname='" & TextBox2.Text & "',Brt_Gname='" & TextBox20.Text & "',Brt_Tname='" & TextBox18.Text & "',Brt_Quantity='" & TextBox11.Text & "',Brt_Pack='" & TextBox14.Text & "',Brt_Ename='" & TextBox21.Text & "',Brt_TUName='" & TextBox8.Text & "',Brt_Memo='" & TextBox3.Text & "',Tool_Quantity='" & TextBox11.Text & "' WHERE [Brt_ID]= '" & ComboBox1.Text & "'"
Try
Cmd = New OleDbCommand(Str, Con)
Cmd.ExecuteNonQuery()
MsgBox("แก้ไขข้อมูล เรียบร้อย", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "แจ้งเตือน")
Catch ex As Exception
MsgBox("ไม่สามาารถแก้ไขข้อมูลได้", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "แจ้งเตือน")
End Try
End Select
Showdata()
Clear()
Disable()
status = ""
Button12.Text = "บันทึก"
TextBox8.Text = "" & CurrentName & " " & CurrentLast & ""
|
 |
 |
 |
 |
Date :
2014-02-03 15:05:22 |
By :
ไร้สมอง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมไม่เข้าใจบรรทัดนี้ครับ
Code (VB.NET)
If MsgBox("คุณต้องการรับคืนอุปกรณ์ ใช่หรือไม่?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "ยืนยัน") = MsgBoxResult.Ok Then
แล้วเป็น ElseIf เลย ทำไมมันว่างไม่มีคำสั่ง งงครับ 
|
 |
 |
 |
 |
Date :
2014-02-03 15:18:30 |
By :
01000010 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เป็นปุ่มยืนยันว่าจะรับคืนหรือไม่ค่ะ
ตัวอย่างโปรแกรมค่ะ

|
 |
 |
 |
 |
Date :
2014-02-03 15:27:28 |
By :
ไร้สมอง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|