暂无描述
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

應付賬款.vb 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. Option Strict Off
  2. Public Class 應付賬款
  3. ReadOnly ds As New DataSet
  4. Private Sub Set_賬款清單()
  5. DataGridView1.DataSource = Nothing : ds.Clear() : DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing : DataGridView1.ColumnHeadersHeight = 40
  6. DataGridView1.AllowUserToAddRows = False : DataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText : DataGridView1.MultiSelect = True
  7. SQL_應付賬款清單()
  8. da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close()
  9. DataGridView1.Columns(0).FillWeight = 150 : DataGridView1.Columns(1).Visible = False : DataGridView1.Columns(2).FillWeight = 100 : DataGridView1.Columns(3).Visible = False
  10. DataGridView1.Columns(4).FillWeight = 80 : DataGridView1.Columns(5).FillWeight = 300 : DataGridView1.Columns(6).FillWeight = 80 : DataGridView1.Columns(7).FillWeight = 80
  11. DataGridView1.Columns(8).FillWeight = 80 : DataGridView1.Columns(9).FillWeight = 80 : DataGridView1.Columns(10).FillWeight = 100 : DataGridView1.Columns(11).FillWeight = 100
  12. DataGridView1.Columns(12).FillWeight = 150 : DataGridView1.Columns(13).FillWeight = 60 : DataGridView1.Columns(14).FillWeight = 50 : DataGridView1.Columns(15).Visible = False
  13. DataGridView1.Columns(6).DefaultCellStyle.Format = "#,##0" : DataGridView1.Columns(7).DefaultCellStyle.Format = "#,##0.000"
  14. DataGridView1.Columns(8).DefaultCellStyle.Format = "#,##0" : DataGridView1.Columns(9).DefaultCellStyle.Format = "#,##0"
  15. DataGridView1.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  16. DataGridView1.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(2).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  17. DataGridView1.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  18. DataGridView1.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  19. DataGridView1.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  20. DataGridView1.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  21. DataGridView1.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  22. DataGridView1.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  23. DataGridView1.Columns(11).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : DataGridView1.Columns(11).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  24. For I As Integer = 0 To 12 : DataGridView1.Columns(I).ReadOnly = True : Next : DataGridView1.Columns(14).ReadOnly = True
  25. For I As Integer = 0 To DataGridView1.Rows.Count - 1
  26. If DataGridView1.Rows(I).Cells("應付立帳").Value.ToString = "" Then : DataGridView1.Rows(I).Cells("應付立帳").Value = False : End If
  27. DataGridView1.Rows(I).Cells("選擇").Value = False
  28. Next
  29. End Sub
  30. Private Sub ComboBox1下拉表單資料載入()
  31. SQL_會計科目_第一階()
  32. ComboBox5.Items.Clear() : ComboBox1.Items.Clear() : While (dr.Read()) : ComboBox5.Items.Add(dr("第一階")) : ComboBox1.Items.Add(dr("編號")) : End While : conn.Close()
  33. End Sub
  34. Private Sub ComboBox3下拉表單資料載入()
  35. PA = ComboBox1.Text : SQL_會計科目_第二階()
  36. ComboBox3.Items.Clear() : ComboBox4.Items.Clear() : While (dr.Read()) : ComboBox3.Items.Add(dr("第二階")) : ComboBox4.Items.Add(dr("編號")) : End While : conn.Close() : PA = ""
  37. End Sub
  38. Private Sub ComboBox6下拉表單資料載入()
  39. PA = ComboBox4.Text : SQL_會計科目_第三階()
  40. ComboBox7.Items.Clear() : ComboBox6.Items.Clear() : While (dr.Read()) : ComboBox7.Items.Add(dr("會計科目")) : ComboBox6.Items.Add(dr("編號")) : End While : conn.Close()
  41. If ComboBox7.Items.Count <> 0 Then : ComboBox7.SelectedIndex = 0 : End If
  42. End Sub
  43. Private Sub 日期格式()
  44. If 會計月.Checked = True Then
  45. '-------------日期一----------------------------------------------------------------------------------------
  46. DTP = Strings.Left(Strings.Format(DateTimePicker1.Value, "yyyy/MM/dd"), 8) & "01" : DateTimePicker1.Value = DTP
  47. DateTimePicker1.Value = DateTimePicker1.Value.AddMonths(-1)
  48. DTP = Strings.Left(Strings.Format(DateTimePicker1.Value, "yyyy/MM/dd"), 8) & "26" : DateTimePicker1.Value = DTP
  49. '-------------日期二----------------------------------------------------------------------------------------
  50. DTP = Strings.Left(Strings.Format(DateTimePicker2.Value, "yyyy/MM/dd"), 8) & "25" : DateTimePicker2.Value = DTP
  51. Else
  52. '-------------日期一----------------------------------------------------------------------------------------
  53. DateTimePicker1.Value = DateTimePicker1.Value.AddMonths(1)
  54. DTP = Strings.Left(Strings.Format(DateTimePicker1.Value, "yyyy/MM/dd"), 8) & "01" : DateTimePicker1.Value = DTP
  55. '-------------日期二----------------------------------------------------------------------------------------
  56. Dim iDays As Integer = DateTime.DaysInMonth(Strings.Left(Strings.Format(DateTimePicker2.Value, "yyyy/MM/dd"), 4), Strings.Mid(Strings.Format(DateTimePicker2.Value, "yyyy/MM/dd"), 6, 2))
  57. DTP = Strings.Left(Strings.Format(DateTimePicker2.Value, "yyyy/MM/dd"), 8) & iDays : DateTimePicker2.Value = DTP
  58. End If
  59. End Sub
  60. Private Sub 應付賬款_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  61. Me.MdiParent = MAOJI_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  62. ComboBox6.Visible = False : TextBox1.Visible = False
  63. ComboBox1下拉表單資料載入() : ComboBox3下拉表單資料載入() : ComboBox6下拉表單資料載入() : 日期格式() : Set_賬款清單()
  64. End Sub
  65. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  66. DateTimePicker1.Value = DateTimePicker1.Value.AddMonths(-1) : DateTimePicker2.Value = DateTimePicker2.Value.AddMonths(-1) : Set_賬款清單()
  67. End Sub
  68. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  69. DateTimePicker1.Value = DateTimePicker1.Value.AddMonths(1) : DateTimePicker2.Value = DateTimePicker2.Value.AddMonths(1) : Set_賬款清單()
  70. End Sub
  71. Private Sub 會計月_CheckedChanged(sender As Object, e As EventArgs) Handles 會計月.Click
  72. 會計月.Checked = True : 一般月.Checked = False : 日期格式() : Set_賬款清單()
  73. End Sub
  74. Private Sub 一般月_CheckedChanged(sender As Object, e As EventArgs) Handles 一般月.Click
  75. 會計月.Checked = False : 一般月.Checked = True : 日期格式() : Set_賬款清單()
  76. End Sub
  77. Private Sub ComboBox5_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox5.TextChanged
  78. ComboBox1.SelectedIndex = ComboBox5.SelectedIndex : TextBox9.Text = "" : ComboBox3下拉表單資料載入() : ComboBox6下拉表單資料載入()
  79. End Sub
  80. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.TextChanged
  81. ComboBox5.SelectedIndex = ComboBox1.SelectedIndex : ComboBox3下拉表單資料載入() : ComboBox6下拉表單資料載入()
  82. End Sub
  83. Private Sub ComboBox3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox3.TextChanged
  84. ComboBox4.SelectedIndex = ComboBox3.SelectedIndex : ComboBox6下拉表單資料載入()
  85. End Sub
  86. Private Sub ComboBox4_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox4.TextChanged
  87. ComboBox3.SelectedIndex = ComboBox4.SelectedIndex : ComboBox6下拉表單資料載入()
  88. End Sub
  89. Private Sub ComboBox7_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox7.SelectedIndexChanged
  90. ComboBox6.SelectedIndex = ComboBox7.SelectedIndex
  91. End Sub
  92. Private Sub ComboBox6_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox6.SelectedIndexChanged
  93. ComboBox7.SelectedIndex = ComboBox6.SelectedIndex
  94. End Sub
  95. Private Sub TextBox9_TextChanged(sender As Object, e As EventArgs) Handles TextBox9.TextChanged
  96. PA = TextBox9.Text : SQL_會計科目_關鍵字()
  97. ComboBox7.Items.Clear() : ComboBox6.Items.Clear() : While (dr.Read()) : ComboBox7.Items.Add(dr("會計科目")) : ComboBox6.Items.Add(dr("編號")) : End While : conn.Close()
  98. If ComboBox7.Items.Count <> 0 Then : ComboBox7.SelectedIndex = 0 : End If : PA = ""
  99. End Sub
  100. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
  101. If e.RowIndex = -1 Then : Else
  102. TextBox3.Text = DataGridView1.Rows(e.RowIndex).Cells("單據編號").Value
  103. TextBox2.Text = "0" : TextBox1.Text = "0"
  104. For I As Integer = 0 To DataGridView1.Rows.Count - 1
  105. If CheckBox2.Checked = False Then
  106. DataGridView1.Rows(I).Cells("選擇").Value = False
  107. End If
  108. If DataGridView1.Rows(I).Cells("應付立帳").Value = False Then
  109. If TextBox3.Text = DataGridView1.Rows(I).Cells("單據編號").Value Then
  110. DataGridView1.Rows(I).Cells("選擇").Value = True
  111. TextBox1.Text = Val(TextBox1.Text) + DataGridView1.Rows(I).Cells("金額").Value
  112. TextBox2.Text = Val(TextBox2.Text) + DataGridView1.Rows(I).Cells("金額").Value
  113. End If
  114. End If
  115. Next
  116. TextBox2.Text = Strings.Format(Val(TextBox2.Text), "#,##0")
  117. End If
  118. End Sub
  119. Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
  120. Dim linePen As New Pen(Color.Blue, 2)
  121. If e.RowIndex = DataGridView1.Rows.Count - 1 Then : Exit Sub
  122. Else
  123. If DataGridView1(0, e.RowIndex).Value.ToString <> DataGridView1(0, e.RowIndex + 1).Value.ToString Then
  124. Dim startX As Integer = IIf(DataGridView1.RowHeadersVisible, DataGridView1.RowHeadersWidth, 0)
  125. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  126. Dim endX As Integer = startX + DataGridView1.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - DataGridView1.HorizontalScrollingOffset
  127. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  128. End If
  129. End If
  130. End Sub
  131. Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click
  132. For i As Integer = 0 To DataGridView1.Rows.Count - 1 : DataGridView1.Rows(i).Cells("選擇").Value = True : Next i
  133. End Sub
  134. Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
  135. For i As Integer = 0 To DataGridView1.Rows.Count - 1 : DataGridView1.Rows(i).Cells("選擇").Value = False : Next i
  136. End Sub
  137. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
  138. For i As Integer = 0 To DataGridView1.Rows.Count - 1
  139. If TextBox3.Text = DataGridView1.Rows(i).Cells("單據編號").Value.ToString Then
  140. DataGridView1.Rows(i).Cells("應付立帳").Value = False
  141. End If
  142. Next i
  143. End Sub
  144. Private Sub NumericUpDown1_ValueChanged(sender As Object, e As EventArgs) Handles NumericUpDown1.ValueChanged
  145. NumericUpDown2.Value = Val(TextBox1.Text) - NumericUpDown1.Value
  146. End Sub
  147. End Class