|
|
|
อยากได้โค้ดเช็คยอดค้างชำระค่ะ ว่าใครค้างจ่ายบ้างค่ะรบกวนหน่อยนะค่ะทำโปรเจคจบค่ะ vb.netค่ะ |
|
|
|
|
|
|
|
รูปแบบ Database เป็นยังไงครับ
คุณเก็บยอดค้างชำระไว้ยังไง ก็แค่ Select มันออกมาโชว์เท่านั้นเองครับ
|
|
|
|
|
Date :
2013-10-07 12:14:42 |
By :
44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2013-10-07 12:57:49 |
By :
สมองน้อย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แต่ให้มันแสดงผลตามวันที่นะค่ะ
|
|
|
|
|
Date :
2013-10-07 12:58:49 |
By :
สมองน้อย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รูปแบบของ ตารางบุคคลที่ค้างชำระละครับ
ขอดูหน่อยครับ
ถ้ามี statusid ในตารางนั้นก็ Select ประมาณนี้
SELECT * FROM ตารางบุคคล WHERE statusid = 1 ORDER BY วันที่ ASC
อันนี้คือเรียกดูรายชื่อคนที่เป็นหนี้ เรียงตามวันที่ จากน้อยไปหามาก ถ้าอยากให้เรียงจากมากไปหาน้อย เปลี่ยน ASC เป็น DESC
|
|
|
|
|
Date :
2013-10-08 09:23:37 |
By :
44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ WHERE statusid = 1
เป็น WHERE statusid = 2
|
|
|
|
|
Date :
2013-10-08 09:24:12 |
By :
44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งงค่ะ
|
|
|
|
|
Date :
2013-10-08 10:56:17 |
By :
สมองน้อย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เป็นแบบนี้อ่ะค่ะต้องทำยังงัยค่ะะะะ
|
|
|
|
|
Date :
2013-10-08 11:35:53 |
By :
สมองน้อย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณต้องอธิบายหลักการทำงานของโปรแกรมของคุณก่อน ว่าจะให้กดปุ่มไหนแล้วแสดงอย่างไร กดปุ่มแสดง แล้วมันแสดงที่ไหน
ถ้าเป็นผมนะ
ผมจะทำแบบนี้ เวลากดปุ่ม "แสดง"
ผมจะให้มันเปิด Form เพิ่มขึ้นมาใหม่อีก1 Form
ใน Form นั้นจะมี dataGridView แสดงรายชื่อผู้ที่ "ปกติ" หรือ"ค้างชำระเงิน" ซึ่งขึ้นอยู่กับที่เราติ๊กไว้ช่องไหน
ถ้าติ๊กที่ ปกติ ก็จะใช้คำสั่งนี้ SELECT * FROM ตารางบุคคล WHERE statusid = 1 ORDER BY วันที่ ASC
ถ้าติ๊กที่ ค้างชำระเงิน ก็จะใช้คำสั่งนี้ SELECT * FROM ตารางบุคคล WHERE statusid = 2 ORDER BY วันที่ ASC
*ตารางบุคคล คือตารางสมมุติของผม ของคุณก็คือตารางที่ใช้เก็บ เลขที่ผู้ใช้น้ำ ชื่อผู้ใช้ อะไรประมาณนั้นแหละ
แล้วเมื่อโชว์รายชื่อแล้ว ก็ดับเบิลคลิกให้ รายชื่อนั้นมาแสดงใน Form ที่คุณสร้าง
|
|
|
|
|
Date :
2013-10-08 12:24:00 |
By :
44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วเราต้อง เพิ่มข้อมูลตรงไหนค่ะหมายถึงตาราง Statusค่ะ เพราะว่าหนูเอามาใส่ในตารางเดียงกันหมดแล้ว
Code (VB.NET)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Conn As New OleDbConnection
Dim Cmd As New OleDbCommand
Dim Str As String
MyModule.Connection(Con)
Select Case status
Case "add"
If TextBox1.Text = "" Then
MessageBox.Show("กรุณาป้อนเลขที่การใช้น้ำ !!!", "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Information)
TextBox1.Focus()
TextBox1.SelectAll()
Exit Sub
ElseIf TextBox2.Text = "" Then
MessageBox.Show("กรุณาป้อนเลขที่มาตรน้ำ !!!", "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Information)
TextBox2.Focus()
TextBox2.SelectAll()
Exit Sub
ElseIf TextBox3.Text = "" Then
MessageBox.Show("กรุณาป้อนเลขที่อ่านครั้งก่อน !!!", "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Information)
TextBox3.Focus()
TextBox3.SelectAll()
Exit Sub
ElseIf TextBox4.Text = "" Then
MessageBox.Show("กรุณาป้อนเลขที่อ่านครั้งหลัง !!!", "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Information)
TextBox4.Focus()
TextBox4.SelectAll()
Exit Sub
Else
If CheckDubplicate1("W_No", "M", TextBox2.Text) = False Then
Str = "INSERT INTO WaterUse([Wu_No],[Wu_WM],[Wu_Date],[Wu_water],[Wu_Auto],[Wu_Name],[Wu_Add],[Wu_M],[Wu_N],[Wu_Before],[Wu_Datebefore],[Wu_After],[Wu_Dateafter],[Wu_Consumption],[Wu_Peo],[Wu_total],[Wu_Sta]) VALUES("
Str &= "'" & TextBox1.Text & "',"
Str &= "'" & TextBox2.Text & "',"
Str &= "'" & Dat1.Value.ToString & "',"
Str &= "'" & TextBox14.Text & "',"
Str &= "'" & TextBox8.Text & "',"
Str &= "'" & TextBox9.Text & "',"
Str &= "'" & TextBox10.Text & "',"
Str &= "'" & TextBox13.Text & "',"
Str &= "'" & TextBox7.Text & "',"
Str &= "'" & TextBox3.Text & "',"
Str &= "'" & Date2.Value.ToString & "',"
Str &= "'" & TextBox4.Text & "',"
Str &= "'" & Date3.Value.ToString & "',"
Str &= "'" & TextBox5.Text & "',"
Str &= "'" & TextBox12.Text & "',"
Str &= "'" & CheckBox1.Text & "',"
Str &= "'" & TextBox6.Text & "' "
Str &= ")"
Try
Cmd = New OleDbCommand(Str, Con)
Cmd.ExecuteNonQuery()
MsgBox("บันทึกข้อมูล เรียบร้อย", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "แจ้งเตือน")
Catch ex As Exception
MsgBox("ไม่สามารถบันทึกข้อมูลได้", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "แจ้งเตือน")
End Try
Else
MsgBox("ไม่พบเลขที่มาตรน้ำในระบบ" & vbCrLf & "กรุณาเพิ่มข้อมูลของเลขที่มาตรน้ำนี้ก่อน", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "แจ้งเตือน")
End If
End If
Case "Edit"
Str = "UPDATE WaterUse SET Wu_WM= '" & TextBox2.Text & "',Wu_Date='" & Dat1.Value.ToString & "',Wu_Before= '" & TextBox3.Text & "',Wu_Datebefore='" & Date2.Value.ToString & "',Wu_After='" & TextBox4.Text & "',Wu_Dateafter='" & Date3.Value.ToString & "',Wu_Consumption='" & TextBox5.Text & "',Wu_total='" & TextBox6.Text & "',Wu_Peo= '" & TextBox12.Text & "',Wu_water= '" & TextBox14.Text & "',Wu_Auto= '" & TextBox8.Text & "',Wu_Name= '" & TextBox9.Text & "',Wu_Add= '" & TextBox10.Text & "',Wu_M= '" & TextBox13.Text & "',Wu_N= '" & TextBox7.Text & "' WHERE [Wu_No]= '" & TextBox1.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()
Autocomplete1()
status = ""
Button1.Text = "บันทึก"
End Sub
|
|
|
|
|
Date :
2013-10-08 18:19:55 |
By :
สมองน้อย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาใหม่ตั้งแต่ต้น เลยนะ ผมอยากรู้ว่าโปรแกรมคุณทำงานยังไงตั้งแต่ต้นเลยนะ
แล้วฐานข้อมูลมีกี่ตาราง มีฟิลด์อะไรบ้าง ตัวไหนเป็น PK FK
ผมจะได้ช่วยแก้ถูก
|
|
|
|
|
Date :
2013-10-11 09:31:48 |
By :
44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เป็นแบบนี้ค่ะ
JPG file type is wrong (*.jpg only)
|
|
|
|
|
Date :
2013-10-11 10:50:13 |
By :
สมองน้อย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สรุปว่าหนูมีข้อมูลอยู่ 2 ตาราง คือ
1. WaterUse (ปกติเขาเรียกว่า Transaction file)
----- Wu_Sta (สถานะ 1, 2)
2. Status (ปกติแล้วเขาเรียกว่า Master file)
----- StatusID (สถานะ 1 = ปกติ, 2 = ค้างคืน)
----- statusname (คำอธิบาย)
เวลาหนูดึง(ข้อมูล) ต้องเอาทั้งสองตารางมาทับกัน (Join) ดังนี้ครับ
Code (SQL)
Select a.*, b.StatusName From Wu_Sta As a Left Join Status As b (ON a.Wu_Sta = b.StatusID)
Where a.Wu_NO = 1500 -- เลขที่อะไรก็ว่ากันไปครับ
เวลาหนูเอาใส่(เพิ่มข้อมูล) ก็ทำที่ตาราง WaterUse สำหรับตาราง Status ไม่ต้องไปทำอะไรมันครับ
Wu_Sta = ค่าของ Radio Button Control ที่หนูออกแบบเอาไว้มาสอดใส่ดังตัวอย่างด้านล่างและ
เลือกเอาสักอันหนึ่งครับ
Code (SQL)
Insert Into WaterUse (Wu_NO, Wu_Sta) Values (2500, 1) -- สถานะ ปกติ
Insert Into WaterUse (Wu_NO, Wu_Sta) Values (2500, 2) -- สถานะ ค้างคืน
ลองไล่ดูดีดีครับ ขอให้คุณโซคดีครับ
|
|
|
|
|
Date :
2013-10-11 13:43:07 |
By :
ผ่านมา |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลืมบอกไปว่า หลักการตั้งชื่อฟิวด์ (Field)
StatusID หมายความว่า เป็นตัวเลข เช่น 1, 2, 3, .. เป็นต้น
StatusCode หรือ StatusNo หมายความว่า เป็นตัวอักษร ซึ่งอาจจะเป็นตัวเลขก็ได้ เช่น '1', '001', '1234X' เป็นต้น
เราจะใช้เครื่องหมาย ฟันหนู กำกับการแสดงเสมอ ครับ เช่น '0001'
|
|
|
|
|
Date :
2013-10-11 13:55:20 |
By :
ผ่านมา |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|