1 Imports System.Data.SqlClient
2
3 Public Class frmFineCollectionReport_Staff
4
5 Sub Reset()
6 DateTimePicker1.Text = Now
7 DateTimePicker2.Text = Today
8 End Sub
9 Private Sub btnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReset.Click
10 Reset()
11 End Sub
12
13
14 Private Sub btnClose_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
15 Me.Close()
16 End Sub
17
18 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
19 Try
20 Cursor = Cursors.WaitCursor
21 Timer1.Enabled = True
22 con = New SqlConnection(cs)
23 con.Open()
24 cmd = New SqlCommand("SELECT StaffName,Designation,Book.AccessionNo,BookTitle,Fine FROM (((Staff INNER JOIN BookIssue_Staff ON Staff.St_ID = BookIssue_Staff.StaffID) INNER JOIN Return_Staff ON BookIssue_Staff.ID = Return_Staff.IssueID) INNER JOIN Book ON BookIssue_Staff.AccessionNo = Book.AccessionNo) where ReturnDate between @d1 and @d2 and Fine > 0 order by returndate", con)
25 cmd.Parameters.Add("@d1", SqlDbType.DateTime, 30, "Date").Value = DateTimePicker2.Value.Date
26 cmd.Parameters.Add("@d2", SqlDbType.DateTime, 30, "Date").Value = DateTimePicker1.Value.Date
27 adp = New SqlDataAdapter(cmd)
28 dtable = New DataTable()
29 adp.Fill(dtable)
30 con.Close()
31 DataGridView1.DataSource = dtable
32 ds = New DataSet()
33 ds.Tables.Add(dtable)
34 ds.WriteXmlSchema("FineCollection_Staff.xml")
35 Dim rpt As New rptFine_Staff
36 rpt.SetDataSource(ds)
37 rpt.SetParameterValue("p1", DateTimePicker2.Value.Date)
38 rpt.SetParameterValue("p2", DateTimePicker1.Value.Date)
39 frmReport.CrystalReportViewer1.ReportSource = rpt
40 frmReport.ShowDialog()
41 Catch ex As Exception
42 MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
43 End Try
44 End Sub
45
46 Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
47 Cursor = Cursors.Default
48 Timer1.Enabled = False
49 End Sub
50
51 Private Sub DateTimePicker1_Validating(sender As System.Object, e As System.ComponentModel.CancelEventArgs) Handles DateTimePicker1.Validating
52 If (DateTimePicker2.Value.Date) > (DateTimePicker1.Value.Date) Then
53 MessageBox.Show("Invalid Selection", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
54 DateTimePicker1.Focus()
55 End If
56 End Sub
57 End Class