📄 sumdepreciationform.vb
字号:
'文件名:SumDepreciationForm.vb
Imports System.Data.SqlClient
Imports Microsoft.Office.Interop.Excel
Imports System.Reflection
Imports Microsoft.Office.Core
Public Class SumDepreciationForm
Public MyCompany As String
Private MyQueryTable As System.Data.DataTable
Private Sub 查询ToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 查询ToolStripButton.Click
Dim MySQLConnectionString As String = My.Settings.MyAssetsConnectionString
Dim MyConnection As New SqlConnection(MySQLConnectionString)
MyConnection.Open()
MyQueryTable = New System.Data.DataTable()
Dim MySQL As String = "SELECT dbo.固定资产明细.使用部门 AS 部门, SUM(dbo.固定资产明细.资产原值) AS 资产原值, SUM(dbo.固定资产明细.累计折旧) AS 累计折旧, SUM(dbo.计提累计折旧.月度折旧额) AS 月度折旧额 FROM dbo.固定资产明细 INNER JOIN dbo.计提累计折旧 ON dbo.固定资产明细.资产编号 = dbo.计提累计折旧.资产编号 WHERE (折旧年份 =" + Me.折旧年份ToolStripComboBox.Text + ") AND (折旧月份=" + Me.折旧月份ToolStripComboBox.Text + ") GROUP BY dbo.固定资产明细.使用部门"
Dim MyAdapter As New SqlDataAdapter(MySQL, MyConnection)
MyAdapter.Fill(MyQueryTable)
Me.汇总累计折旧DataGridView.DataSource = MyQueryTable
If (MyConnection.State = ConnectionState.Open) Then
MyConnection.Close()
End If
End Sub
Private Sub 打印ToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 打印ToolStripButton.Click
If (Me.MyQueryTable.Rows.Count < 1) Then
Return
End If
'导出Excel表格数据文件
Dim MyExcel As ApplicationClass
Dim MyWorkBooks As Workbooks
Dim MyWorkBook As Workbook
Dim MyWorkSheet As Worksheet
Dim MyColumns As Char
Dim MyRange As Range
Dim MyData(500, 35) As Object
Dim i, j As Integer
MyExcel = New ApplicationClass()
MyExcel.Visible = True
If (MyExcel Is Nothing) Then
MessageBox.Show("Excel程序无法启动!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
Return
End If
MyWorkBooks = MyExcel.Workbooks
MyWorkBook = MyWorkBooks.Add(Missing.Value)
MyWorkSheet = MyWorkBook.Worksheets(1)
Dim MyChar As Integer = Me.MyQueryTable.Columns.Count + 64
MyColumns = Convert.ToChar(MyChar)
MyRange = MyWorkSheet.Range("A5", MyColumns.ToString() + "5")
Dim Count As Integer = 0
For Each MyNewColumn As DataColumn In Me.MyQueryTable.Columns
MyData(0, Count) = MyNewColumn.ColumnName
Count = Count + 1
Next
j = 1
'输出数据库记录
For Each MyRow As DataRow In Me.MyQueryTable.Rows
For i = 0 To Me.MyQueryTable.Columns.Count - 1 Step 1
MyData(j, i) = MyRow(i).ToString()
Next
j = j + 1
Next
MyRange = MyRange.Resize(Me.MyQueryTable.Rows.Count + 1, Me.MyQueryTable.Columns.Count)
MyRange.Value2 = MyData
MyRange.EntireColumn.AutoFit()
MyWorkSheet.Cells(2, 2) = Me.MyCompany + "月度累计折旧计提汇总表"
MyWorkSheet.Cells(4, 1) = "计提日期:" + Me.折旧年份ToolStripComboBox.Text + "年" + Me.折旧月份ToolStripComboBox.Text + "月"
End Sub
Private Sub SumDepreciationForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For i As Integer = 2006 To 2100 Step 1
Me.折旧年份ToolStripComboBox.Items.Add(i.ToString())
Next
For i As Integer = 1 To 12 Step 1
Me.折旧月份ToolStripComboBox.Items.Add(i.ToString())
Next
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -