Ingen beskrivning
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

車輛銷售管理.vb 127KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686
  1. 
  2. Option Strict Off
  3. Imports Microsoft.Office.Interop.Excel.XlUnderlineStyle
  4. Imports Microsoft.Office.Interop.Excel.Constants
  5. Imports Microsoft.Office.Interop.Excel.XlBordersIndex
  6. Imports Microsoft.Office.Interop.Excel.XlLineStyle
  7. Imports Microsoft.Office.Interop.Excel.XlBorderWeight
  8. Imports Microsoft.Office.Interop.Excel.XlThemeFont
  9. Imports Microsoft.Office.Interop.Excel.XlThemeColor
  10. Imports Microsoft.Office.Interop.Excel.XlWindowState
  11. Imports Microsoft.Office.Interop.Excel
  12. Imports System.Data.SqlClient
  13. Imports System.Text.RegularExpressions
  14. Imports System.IO
  15. Public Class 車輛銷售管理
  16. ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet : Dim 新流水1 As String : Dim 新項次 As String
  17. Dim NUM1, NUM2 As Integer : ReadOnly ds2 As New DataSet : Dim 上次的流水號 As String : Dim index As Integer
  18. Dim boo As Boolean : Dim boo1 As Boolean : Dim boo2 As Boolean : ReadOnly ds3 As New DataSet
  19. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  20. Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
  21. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  22. Dim 位置1 As String
  23. Dim N2 As Integer : Dim N3 As Integer
  24. Private Sub 車輛銷售管理_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  25. If CC(104) = False Then
  26. 車廠型態 = False
  27. Else
  28. 線路選擇.ShowDialog() : 線路選擇.BringToFront()
  29. End If
  30. ICS_ASMS_ERP_SYS.WindowState = 2
  31. Me.MdiParent = ICS_ASMS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  32. 選擇日期_dtp.CustomFormat = "yyyy/MM/dd"
  33. 選擇日期_dtp.Format = DateTimePickerFormat.Custom
  34. 選擇供應商_cb.Items.Add("")
  35. SQL_物料資料庫_供應商_下拉清單()
  36. While (dr.Read()) : 選擇供應商_cb.Items.Add(dr("公司名")) : End While : conn.Close()
  37. 利潤率.Value = 20
  38. SQL_讀取公司名稱()
  39. If dr.Read() Then
  40. 公司名稱.Text = dr("公司名稱")
  41. End If
  42. conn.Close()
  43. If 車廠型態 = True Then
  44. 狀態 = "車輛買賣"
  45. Panel4.Visible = True
  46. Panel6.Visible = False
  47. Panel2.Visible = True
  48. Panel5.Visible = False
  49. 只顯示未付款_cb.Visible = False
  50. Else
  51. 狀態 = "保養維修"
  52. Panel4.Visible = False
  53. Panel6.Visible = True
  54. Panel2.Visible = False
  55. Panel5.Visible = True
  56. 只顯示未付款_cb.Visible = True
  57. End If
  58. SQL_車輛銷售管理_讀取列印資訊()
  59. If dr.Read() Then
  60. 註解1_tb.Text = If(Not IsDBNull(dr("列印1")), dr("列印1").ToString(), "")
  61. 註解2_tb.Text = If(Not IsDBNull(dr("列印2")), dr("列印2").ToString(), "")
  62. 註解3_tb.Text = If(Not IsDBNull(dr("列印3")), dr("列印3").ToString(), "")
  63. 註解4_tb.Text = If(Not IsDBNull(dr("列印4")), dr("列印4").ToString(), "")
  64. End If
  65. 確認新增_bt.Enabled = False : Set_清單1() : Set_清單2()
  66. End Sub
  67. Private Sub Set_清單1()
  68. 控制表_dgv.DataSource = Nothing : ds1.Clear()
  69. 控制表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  70. 控制表_dgv.ColumnHeadersHeight = 25
  71. 控制表_dgv.AllowUserToAddRows = False
  72. 控制表_dgv.RowTemplate.Height = 30
  73. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  74. If 只顯示未付款_cb.Checked = True Then
  75. PA55 = " AND 買入進價 = 0"
  76. Else
  77. PA55 = ""
  78. End If
  79. SQL_車輛銷售管理_控制表清單()
  80. da.Fill(ds1) : 控制表_dgv.DataSource = ds1.Tables(0) : conn.Close()
  81. 控制表_dgv.Columns(5).FillWeight = 60 : 控制表_dgv.Columns(7).FillWeight = 40
  82. If 車廠型態 = True Then
  83. 控制表_dgv.Columns(24).FillWeight = 20
  84. Else
  85. 控制表_dgv.Columns(24).Visible = False
  86. End If
  87. Dim newFont As New System.Drawing.Font("微軟正黑體", 9) ' 創建一個新字體,Arial 12pt
  88. 控制表_dgv.RowsDefaultCellStyle.Font = newFont
  89. 控制表_dgv.Columns(1).Visible = False : 控制表_dgv.Columns(2).Visible = False
  90. 控制表_dgv.Columns(3).Visible = False : 控制表_dgv.Columns(4).Visible = False
  91. 控制表_dgv.Columns(6).Visible = False : 控制表_dgv.Columns(0).Visible = False : 控制表_dgv.Columns(8).Visible = False
  92. 控制表_dgv.Columns(9).Visible = False : 控制表_dgv.Columns(10).Visible = False : 控制表_dgv.Columns(11).Visible = False
  93. 控制表_dgv.Columns(12).Visible = False
  94. 控制表_dgv.Columns(13).Visible = False : 控制表_dgv.Columns(14).Visible = False : 控制表_dgv.Columns(15).Visible = False
  95. 控制表_dgv.Columns(16).Visible = False : 控制表_dgv.Columns(17).Visible = False : 控制表_dgv.Columns(18).Visible = False
  96. 控制表_dgv.Columns(19).Visible = False : 控制表_dgv.Columns(20).Visible = False : 控制表_dgv.Columns(21).Visible = False
  97. 控制表_dgv.Columns(22).Visible = False : 控制表_dgv.Columns(23).Visible = False
  98. 控制表_dgv.Columns(25).Visible = False : 控制表_dgv.Columns(26).Visible = False
  99. For i As Integer = 0 To 控制表_dgv.Rows.Count - 1
  100. If Not DBNull.Value.Equals(控制表_dgv.Rows(i).Cells("買入進價").Value) Then
  101. Else
  102. 控制表_dgv.Rows(i).Cells("買入進價").Value = 0
  103. End If
  104. If Not DBNull.Value.Equals(控制表_dgv.Rows(i).Cells("賣出售價").Value) Then
  105. Else
  106. 控制表_dgv.Rows(i).Cells("賣出售價").Value = 0
  107. End If
  108. If Not DBNull.Value.Equals(控制表_dgv.Rows(i).Cells("買入總成本").Value) Then
  109. Else
  110. 控制表_dgv.Rows(i).Cells("買入總成本").Value = 0
  111. End If
  112. Next
  113. End Sub
  114. Private Sub Set_清單2()
  115. 物料_dgv.DataSource = Nothing : ds.Clear()
  116. 物料_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  117. 物料_dgv.ColumnHeadersHeight = 25
  118. 物料_dgv.AllowUserToAddRows = False
  119. 物料_dgv.RowTemplate.Height = 30
  120. 物料_dgv.DefaultCellStyle.Font = SystemFonts.DefaultFont
  121. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  122. SQL_車輛銷售管理_物料清單()
  123. da.Fill(ds) : 物料_dgv.DataSource = ds.Tables(0) : conn.Close()
  124. Dim newFont As New System.Drawing.Font("微軟正黑體", 9) ' 創建一個新字體,Arial 12pt
  125. 物料_dgv.RowsDefaultCellStyle.Font = newFont
  126. 物料_dgv.Columns(1).FillWeight = 55 : 物料_dgv.Columns(3).FillWeight = 30
  127. 物料_dgv.Columns(0).Visible = False : 物料_dgv.Columns(2).FillWeight = 15 : 物料_dgv.Columns(4).Visible = False
  128. If 顯示成本_cb.Checked = True Then
  129. 物料_dgv.Columns(5).FillWeight = 30
  130. 物料_dgv.Columns(5).DefaultCellStyle.Format = "#,##0.##"
  131. 物料_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  132. 物料_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  133. Else
  134. 物料_dgv.Columns(5).Visible = False
  135. End If
  136. End Sub
  137. Private Sub Set_清單3()
  138. If 車廠型態 = True Then
  139. 明細表_dgv.DataSource = Nothing : ds2.Clear()
  140. 明細表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  141. 明細表_dgv.ColumnHeadersHeight = 25
  142. 明細表_dgv.AllowUserToAddRows = False
  143. 明細表_dgv.RowTemplate.Height = 35
  144. 明細表_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  145. SQL_車輛銷售管理_查詢明細表() : da.Fill(ds2) : 明細表_dgv.DataSource = ds2.Tables(0) : conn.Close()
  146. For Each row As DataGridViewRow In 明細表1_dgv.Rows
  147. row.Height = 30 ' 將每一列的高度設為 40 像素
  148. Next
  149. Dim newFont As New System.Drawing.Font("微軟正黑體", 9) ' 創建一個新字體,Arial 12pt
  150. 明細表1_dgv.RowsDefaultCellStyle.Font = newFont
  151. 明細表_dgv.Columns("總售價").ReadOnly = True : 明細表_dgv.Columns("項次").ReadOnly = True : 明細表_dgv.Columns("總成本").ReadOnly = True
  152. 明細表_dgv.Columns("利潤").ReadOnly = True : 明細表_dgv.Columns("已儲存").ReadOnly = True
  153. 明細表_dgv.Columns(0).Visible = False : 明細表_dgv.Columns(1).FillWeight = 60 : 明細表_dgv.Columns(2).FillWeight = 400 : 明細表_dgv.Columns(3).FillWeight = 60
  154. 明細表_dgv.Columns(5).FillWeight = 100 : 明細表_dgv.Columns(7).Visible = 100
  155. 明細表_dgv.Columns(9).Visible = 300 : 明細表_dgv.Columns(10).Visible = False : 明細表_dgv.Columns(11).Visible = False
  156. 明細表_dgv.Columns(12).FillWeight = 60 : 明細表_dgv.Columns(13).Visible = 100
  157. If 隱藏成本_cb.Checked = True Then
  158. 明細表_dgv.Columns(4).Visible = False
  159. 明細表_dgv.Columns(6).Visible = False
  160. 明細表_dgv.Columns(8).Visible = False
  161. Else
  162. 明細表_dgv.Columns(4).FillWeight = 100 : 明細表_dgv.Columns(6).FillWeight = 100 : 明細表_dgv.Columns(8).Visible = 100
  163. 明細表_dgv.Columns(6).DefaultCellStyle.Format = "#,##0.##"
  164. 明細表_dgv.Columns(4).DefaultCellStyle.Format = "#,##0.##"
  165. 明細表_dgv.Columns(8).DefaultCellStyle.Format = "#,##0.##"
  166. 明細表_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  167. 明細表_dgv.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  168. 明細表_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  169. 明細表_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  170. 明細表_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  171. 明細表_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  172. End If
  173. 明細表_dgv.Columns(5).DefaultCellStyle.Format = "#,##0.##" : 明細表_dgv.Columns(7).DefaultCellStyle.Format = "#,##0.##"
  174. 明細表_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  175. 明細表_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  176. 明細表_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  177. 明細表_dgv.Columns(3).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  178. 明細表_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  179. 明細表_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  180. 明細表_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  181. 明細表_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  182. For i As Integer = 0 To 明細表_dgv.Rows.Count - 1
  183. If 明細表_dgv.Rows(i).Cells("成本").Value Is Nothing OrElse IsDBNull(明細表_dgv.Rows(i).Cells("成本").Value) Then
  184. ' 如果成本為 NULL,設置為 0
  185. 明細表_dgv.Rows(i).Cells("成本").Value = 0
  186. End If
  187. Next
  188. Dim NUM2, NUM3 As Integer
  189. For i As Integer = 0 To 明細表_dgv.Rows.Count - 1
  190. 明細表_dgv.Rows(i).Cells("總售價").Value = 明細表_dgv.Rows(i).Cells("數量").Value * 明細表_dgv.Rows(i).Cells("售價").Value
  191. 明細表_dgv.Rows(i).Cells("總成本").Value = 明細表_dgv.Rows(i).Cells("數量").Value * 明細表_dgv.Rows(i).Cells("成本").Value
  192. 明細表_dgv.Rows(i).Cells("利潤").Value = (明細表_dgv.Rows(i).Cells("數量").Value * 明細表_dgv.Rows(i).Cells("售價").Value) - (明細表_dgv.Rows(i).Cells("數量").Value * 明細表_dgv.Rows(i).Cells("成本").Value)
  193. NUM2 += 明細表_dgv.Rows(i).Cells("總售價").Value
  194. NUM3 += 明細表_dgv.Rows(i).Cells("總成本").Value
  195. Next
  196. 支出合計_tb.Text = Strings.Format(Val(NUM2), "#,##0")
  197. 總成本_tb.Text = Strings.Format(Val(NUM3), "#,##0")
  198. Else
  199. 明細表1_dgv.DataSource = Nothing : ds2.Clear()
  200. 明細表1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  201. 明細表1_dgv.ColumnHeadersHeight = 25
  202. 明細表1_dgv.AllowUserToAddRows = False
  203. 明細表1_dgv.RowTemplate.Height = 35
  204. 明細表1_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  205. SQL_車輛銷售管理_查詢明細表() : da.Fill(ds2) : 明細表1_dgv.DataSource = ds2.Tables(0) : conn.Close()
  206. For Each row As DataGridViewRow In 明細表1_dgv.Rows
  207. row.Height = 30 ' 將每一列的高度設為 40 像素
  208. Next
  209. Dim newFont As New System.Drawing.Font("微軟正黑體", 9) ' 創建一個新字體,Arial 12pt
  210. 明細表1_dgv.RowsDefaultCellStyle.Font = newFont
  211. 明細表1_dgv.Columns("總售價").ReadOnly = True : 明細表1_dgv.Columns("項次").ReadOnly = True : 明細表1_dgv.Columns("總成本").ReadOnly = True
  212. 明細表1_dgv.Columns("利潤").ReadOnly = True : 明細表1_dgv.Columns("已儲存").ReadOnly = True
  213. 明細表1_dgv.Columns(0).Visible = False : 明細表1_dgv.Columns(1).FillWeight = 60 : 明細表1_dgv.Columns(2).FillWeight = 400 : 明細表1_dgv.Columns(3).FillWeight = 60
  214. 明細表1_dgv.Columns(5).FillWeight = 100 : 明細表1_dgv.Columns(7).Visible = 100
  215. 明細表1_dgv.Columns(9).Visible = 300 : 明細表1_dgv.Columns(10).Visible = False : 明細表1_dgv.Columns(11).Visible = False
  216. 明細表1_dgv.Columns(12).FillWeight = 60 : 明細表1_dgv.Columns(13).Visible = 100
  217. If 隱藏成本_cb.Checked = True Then
  218. 明細表1_dgv.Columns(4).Visible = False
  219. 明細表1_dgv.Columns(6).Visible = False
  220. 明細表1_dgv.Columns(8).Visible = False
  221. Else
  222. 明細表1_dgv.Columns(4).FillWeight = 100 : 明細表1_dgv.Columns(6).FillWeight = 100 : 明細表1_dgv.Columns(8).Visible = 100
  223. 明細表1_dgv.Columns(6).DefaultCellStyle.Format = "#,##0.##"
  224. 明細表1_dgv.Columns(4).DefaultCellStyle.Format = "#,##0.##"
  225. 明細表1_dgv.Columns(8).DefaultCellStyle.Format = "#,##0.##"
  226. 明細表1_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  227. 明細表1_dgv.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  228. 明細表1_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  229. 明細表1_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  230. 明細表1_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  231. 明細表1_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  232. End If
  233. 明細表1_dgv.Columns(7).DefaultCellStyle.Format = "#,##0.##" : 明細表1_dgv.Columns(5).DefaultCellStyle.Format = "#,##0.##"
  234. 明細表1_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  235. 明細表1_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  236. 明細表1_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  237. 明細表1_dgv.Columns(3).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  238. 明細表1_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  239. 明細表1_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  240. 明細表1_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  241. 明細表1_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  242. Dim NUM1 As Integer = 0
  243. Dim NUM2 As Integer = 0
  244. For i As Integer = 0 To 明細表1_dgv.Rows.Count - 1
  245. 明細表1_dgv.Rows(i).Cells("總售價").Value = 明細表1_dgv.Rows(i).Cells("數量").Value * 明細表1_dgv.Rows(i).Cells("售價").Value
  246. 明細表1_dgv.Rows(i).Cells("總成本").Value = 明細表1_dgv.Rows(i).Cells("數量").Value * 明細表1_dgv.Rows(i).Cells("成本").Value
  247. 明細表1_dgv.Rows(i).Cells("利潤").Value = (明細表1_dgv.Rows(i).Cells("數量").Value * 明細表1_dgv.Rows(i).Cells("售價").Value) - (明細表1_dgv.Rows(i).Cells("數量").Value * 明細表1_dgv.Rows(i).Cells("成本").Value)
  248. If 明細表1_dgv.Rows(i).Cells("狀態").Value <> "承修項目" Then
  249. NUM1 += 明細表1_dgv.Rows(i).Cells("總售價").Value
  250. Else
  251. NUM2 += 明細表1_dgv.Rows(i).Cells("總售價").Value
  252. End If
  253. Next
  254. 零件_tb.Text = Strings.Format(Val(NUM1), "#,##0")
  255. 工資_tb.Text = Strings.Format(Val(NUM2), "#,##0")
  256. 總計_tb.Text = Strings.Format(Val(NUM1 + NUM2), "#,##0")
  257. If 是否收稅_cb.Checked = True Then
  258. 稅金_tb.Text = Strings.Format(Val((NUM1 + NUM2) * 0.05), "#,##0")
  259. 應收合計_tb.Text = Strings.Format(Val(NUM1 + NUM2 + ((NUM1 + NUM2) * 0.05)), "#,##0")
  260. 總計_tb.Text = Strings.Format(Val(NUM1 + NUM2 + ((NUM1 + NUM2) * 0.05)), "#,##0")
  261. Else
  262. 稅金_tb.Text = "0"
  263. 應收合計_tb.Text = Strings.Format(Val(NUM1 + NUM2), "#,##0")
  264. End If
  265. End If
  266. End Sub
  267. Private Sub 是否收稅_cb_CheckedChanged(sender As Object, e As EventArgs) Handles 是否收稅_cb.CheckedChanged
  268. Dim NUM1, NUM2 As Integer
  269. If 總計_tb.Text <> "" Then
  270. NUM1 = 總計_tb.Text
  271. NUM2 = NUM1 * 0.05
  272. If 是否收稅_cb.Checked = True Then
  273. 稅金_tb.Text = Strings.Format(Val(NUM2), "#,##0")
  274. 應收合計_tb.Text = Strings.Format(Val(NUM1 + NUM2), "#,##0")
  275. 總計_tb.Text = Strings.Format(Val(NUM1 + NUM2), "#,##0")
  276. Else
  277. 稅金_tb.Text = "0"
  278. 應收合計_tb.Text = Strings.Format(Val(NUM1), "#,##0")
  279. End If
  280. End If
  281. End Sub
  282. Private Sub 新增_bt_Click(sender As Object, e As EventArgs) Handles 新增_bt.Click
  283. Set_日期格式轉換() : Dim NUM1 As Integer
  284. 新增_bt.Enabled = False : 確認新增_bt.Enabled = True : 修改_bt.Enabled = False
  285. For i As Integer = 1 To 999
  286. NUM1 = 0 + i
  287. If NUM1 < 10 Then : 單號_tb.Text = "CR-" & DTP1 & "-00" & NUM1
  288. ElseIf NUM1 > 9 And NUM1 < 100 Then : 單號_tb.Text = "CR-" & DTP1 & "-0" & NUM1
  289. ElseIf NUM1 > 99 Then : 單號_tb.Text = "CR-" & DTP1 & "-" & NUM1 : End If
  290. PA = 單號_tb.Text : SQL_車輛銷售管理_單號查詢()
  291. If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close()
  292. Next
  293. If 車廠型態 = True Then
  294. CHB("請輸入車牌號碼") : 買入牌照號碼_tb.Text = 訊息回應
  295. CHB("請輸入姓名") : 買入車主名稱_tb.Text = 訊息回應
  296. If (買入牌照號碼_tb.Text = "" And 買入車主名稱_tb.Text = "") Then
  297. 單號_tb.Text = "" : 買入牌照號碼_tb.Text = "" : 買入車主名稱_tb.Text = ""
  298. 新增_bt.Enabled = True : 確認新增_bt.Enabled = False : 修改_bt.Enabled = True
  299. MsgBox("未輸入資料!!")
  300. Return
  301. Else
  302. SQL_車輛銷售管理_重複查詢()
  303. If dr.Read() Then
  304. conn.Close()
  305. 單號_tb.Text = "" : 買入牌照號碼_tb.Text = "" : 買入車主名稱_tb.Text = ""
  306. 新增_bt.Enabled = True : 確認新增_bt.Enabled = False : 修改_bt.Enabled = True
  307. MsgBox("重複資料!!")
  308. Return
  309. End If
  310. End If
  311. conn.Close()
  312. 進價_tb.Text = "0" : 售價_tb.Text = "0" : 總成本_tb.Text = "0" : 支出合計_tb.Text = "0"
  313. 廠牌_tb.Text = "" : 年分_tb.Text = "" : 引擎_tb.Text = "" : 總利潤_tb.Text = "0"
  314. 買入顏色_tb.Text = ""
  315. 買入車主電話_tb.Text = "" : 買入車主地址_tb.Text = "" : 買入經手人_tb.Text = ""
  316. 賣出牌照號碼_tb.Text = "" : 賣出顏色_tb.Text = "" : 賣出車主名稱_tb.Text = ""
  317. 賣出車主電話_tb.Text = "" : 賣出車主地址_tb.Text = "" : 賣出經手人_tb.Text = "" : 備註_tb.Text = ""
  318. 進廠里程_tb.Text = "" : 出廠里程_tb.Text = ""
  319. 檢測日期_dtp.Format = DateTimePickerFormat.Custom : 檢測日期_dtp.CustomFormat = " "
  320. 買入日期_dtp.Format = DateTimePickerFormat.Custom : 買入日期_dtp.CustomFormat = " "
  321. 賣出日期_dtp.Format = DateTimePickerFormat.Custom : 賣出日期_dtp.CustomFormat = " "
  322. 料號_tb.Text = "" : 品名.Text = "" : 成本.Text = "" : 利潤率.Value = 20 : 已交車_cb.Checked = False : 狀態_tb.Text = ""
  323. Else
  324. 出險公司_tb.Text = "" : 車主名稱_tb.Text = "" : 車號_tb.Text = "" : 地址_tb.Text = "" : 電話_tb.Text = ""
  325. 車型_tb.Text = "" : 保養預示_tb.Text = "" : 里程_tb.Text = "" : 廠牌_tb.Text = "" : 廠牌_tb.Text = "" : 引擎號碼1_tb.Text = ""
  326. 應驗車日_dtp.Format = DateTimePickerFormat.Custom : 應驗車日_dtp.CustomFormat = " " : 輪胎尺寸_tb.Text = "" : 年_tb.Text = ""
  327. 入廠日期_dtp.CustomFormat = "yyyy/MM/dd"
  328. 入廠日期_dtp.Format = DateTimePickerFormat.Custom
  329. 工資_tb.Text = "0" : 零件_tb.Text = "0" : 總計_tb.Text = "0" : 稅金_tb.Text = "0"
  330. 信用卡_tb.Text = "0" : 應收合計_tb.Text = "0" : 賒帳_tb.Text = "0" : 支票_tb.Text = "0"
  331. 現金_tb.Text = "0"
  332. End If
  333. SQL_車輛銷售管理_控制表新增() : Set_清單3()
  334. End Sub
  335. Private Sub Set_日期格式轉換()
  336. Dim selectedDate As DateTime = 選擇日期_dtp.Value
  337. DTP4 = Strings.Format(selectedDate, "yyyy/MM/dd") : DTP1 = Strings.Format(selectedDate, "yyyyMMdd")
  338. End Sub
  339. Private Sub 查詢_bt_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click
  340. CHB("請輸入要查詢的單號資料。") : PA56 = 訊息回應 : Set_清單1() : PA56 = ""
  341. End Sub
  342. Private Sub 查詢物_bt_Click(sender As Object, e As EventArgs) Handles 查詢物_bt.Click
  343. CHB("請輸入要查詢的關鍵字。") : PA56 = 訊息回應 : Set_清單2() : PA56 = ""
  344. End Sub
  345. Private Sub 確認新增_bt_Click(sender As Object, e As EventArgs) Handles 確認新增_bt.Click
  346. If 車廠型態 = True Then
  347. If 買入車主名稱_tb.Text = "" Or 買入牌照號碼_tb.Text = "" Then
  348. MsgBox("資料未輸入完成!!")
  349. Else
  350. 新增_bt.Enabled = True : 確認新增_bt.Enabled = False : 修改_bt.Enabled = True
  351. If 買入車主名稱_tb.Text <> "" And 買入牌照號碼_tb.Text <> "" Then
  352. SQL_車輛銷售管理_查詢客戶資料()
  353. If dr.Read() Then
  354. SQL_車輛銷售管理_修改客戶資料()
  355. Else
  356. SQL_客戶資料表_最後一筆資料()
  357. If dr.Read() Then : 供應商編號_tb.Text = dr("流水號").ToString : Else : 供應商編號_tb.Text = "CL00000" : End If
  358. conn.Close()
  359. Dim NUM1 As Integer
  360. NUM1 = Double.Parse(Strings.Right(供應商編號_tb.Text, 5)) + 1
  361. If NUM1 < 10 Then : 供應商編號_tb.Text = "CL" & "0000" & NUM1
  362. ElseIf NUM1 > 9 And NUM1 < 100 Then : 供應商編號_tb.Text = "CL" & "000" & NUM1
  363. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 供應商編號_tb.Text = "CL" & "00" & NUM1
  364. ElseIf NUM1 > 999 And NUM1 < 10000 Then : 供應商編號_tb.Text = "CL" & "0" & NUM1
  365. ElseIf NUM1 > 9999 And NUM1 < 100000 Then : 供應商編號_tb.Text = "CL" & NUM1 : End If
  366. SQL_車輛銷售管理_新增客戶資料() : conn.Close()
  367. End If
  368. End If
  369. If 賣出車主名稱_tb.Text <> "" And 賣出牌照號碼_tb.Text <> "" Then
  370. SQL_車輛銷售管理_查詢客戶資料1()
  371. If dr.Read() Then
  372. SQL_車輛銷售管理_修改客戶資料1()
  373. Else
  374. SQL_客戶資料表_最後一筆資料()
  375. If dr.Read() Then : 供應商編號_tb.Text = dr("流水號").ToString : Else : 供應商編號_tb.Text = "CL00000" : End If
  376. conn.Close()
  377. Dim NUM1 As Integer
  378. NUM1 = Double.Parse(Strings.Right(供應商編號_tb.Text, 5)) + 1
  379. If NUM1 < 10 Then : 供應商編號_tb.Text = "CL" & "0000" & NUM1
  380. ElseIf NUM1 > 9 And NUM1 < 100 Then : 供應商編號_tb.Text = "CL" & "000" & NUM1
  381. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 供應商編號_tb.Text = "CL" & "00" & NUM1
  382. ElseIf NUM1 > 999 And NUM1 < 10000 Then : 供應商編號_tb.Text = "CL" & "0" & NUM1
  383. ElseIf NUM1 > 9999 And NUM1 < 100000 Then : 供應商編號_tb.Text = "CL" & NUM1 : End If
  384. SQL_車輛銷售管理_新增客戶資料1() : conn.Close()
  385. End If
  386. End If
  387. SQL_車輛銷售管理_控制表修改() : conn.Close() : MsgBox("儲存成功!!") : Set_清單1()
  388. End If
  389. If 登入人級別 <> "00" Then
  390. If 已交車_cb.Checked = True Then
  391. 修改_bt.Enabled = False : 刪除_bt.Enabled = False : 查詢1_bt.Enabled = False : 查詢2_bt.Enabled = False
  392. 收支單中新增一筆資料_bt.Enabled = False : 收支單中新增一筆空白資料_bt.Enabled = False : 刪除選中的一筆資料_bt.Enabled = False
  393. 申請_bt.Enabled = False
  394. Else
  395. 修改_bt.Enabled = True : 刪除_bt.Enabled = True : 查詢1_bt.Enabled = True : 查詢2_bt.Enabled = True
  396. 收支單中新增一筆資料_bt.Enabled = True : 收支單中新增一筆空白資料_bt.Enabled = True : 刪除選中的一筆資料_bt.Enabled = True
  397. 申請_bt.Enabled = True
  398. End If
  399. End If
  400. Else
  401. 新增_bt.Enabled = True : 確認新增_bt.Enabled = False : 修改_bt.Enabled = True
  402. If 車主名稱_tb.Text <> "" And 車號_tb.Text <> "" Then
  403. SQL_車輛銷售管理_查詢客戶資料()
  404. If dr.Read() Then
  405. SQL_車輛銷售管理_修改客戶資料()
  406. Else
  407. SQL_客戶資料表_最後一筆資料()
  408. If dr.Read() Then : 供應商編號_tb.Text = dr("流水號").ToString : Else : 供應商編號_tb.Text = "CL00000" : End If
  409. conn.Close()
  410. Dim NUM1 As Integer
  411. NUM1 = Double.Parse(Strings.Right(供應商編號_tb.Text, 5)) + 1
  412. If NUM1 < 10 Then : 供應商編號_tb.Text = "CL" & "0000" & NUM1
  413. ElseIf NUM1 > 9 And NUM1 < 100 Then : 供應商編號_tb.Text = "CL" & "000" & NUM1
  414. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 供應商編號_tb.Text = "CL" & "00" & NUM1
  415. ElseIf NUM1 > 999 And NUM1 < 10000 Then : 供應商編號_tb.Text = "CL" & "0" & NUM1
  416. ElseIf NUM1 > 9999 And NUM1 < 100000 Then : 供應商編號_tb.Text = "CL" & NUM1 : End If
  417. SQL_車輛銷售管理_新增客戶資料() : conn.Close()
  418. End If
  419. End If
  420. SQL_車輛銷售管理_控制表修改() : conn.Close() : MsgBox("儲存成功!!") : Set_清單1()
  421. End If
  422. End Sub
  423. Private Sub 控制表_dgv_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 控制表_dgv.CellClick
  424. boo1 = True
  425. If e.RowIndex = -1 Then : Else
  426. If 車廠型態 = True Then
  427. 總利潤_tb.Text = "0"
  428. 單號_tb.Text = 控制表_dgv(0, e.RowIndex).Value.ToString : 廠牌_tb.Text = 控制表_dgv(1, e.RowIndex).Value.ToString
  429. 年分_tb.Text = 控制表_dgv(2, e.RowIndex).Value.ToString : 引擎_tb.Text = 控制表_dgv(3, e.RowIndex).Value.ToString
  430. 買入牌照號碼_tb.Text = 控制表_dgv(5, e.RowIndex).Value.ToString
  431. 買入顏色_tb.Text = 控制表_dgv(6, e.RowIndex).Value.ToString : 買入車主名稱_tb.Text = 控制表_dgv(7, e.RowIndex).Value.ToString
  432. 買入車主電話_tb.Text = 控制表_dgv(8, e.RowIndex).Value.ToString : 買入車主地址_tb.Text = 控制表_dgv(9, e.RowIndex).Value.ToString
  433. 進價_tb.Text = Strings.Format(Val(控制表_dgv(10, e.RowIndex).Value), "#,##0") : 買入經手人_tb.Text = 控制表_dgv(11, e.RowIndex).Value.ToString
  434. 賣出牌照號碼_tb.Text = 控制表_dgv(15, e.RowIndex).Value.ToString
  435. 賣出顏色_tb.Text = 控制表_dgv(16, e.RowIndex).Value.ToString : 賣出車主名稱_tb.Text = 控制表_dgv(17, e.RowIndex).Value.ToString
  436. 賣出車主電話_tb.Text = 控制表_dgv(18, e.RowIndex).Value.ToString : 賣出車主地址_tb.Text = 控制表_dgv(19, e.RowIndex).Value.ToString
  437. 利潤率.Value = Strings.Format(Val(控制表_dgv(13, e.RowIndex).Value)) : 賣出經手人_tb.Text = 控制表_dgv(21, e.RowIndex).Value.ToString
  438. 備註_tb.Text = 控制表_dgv(22, e.RowIndex).Value.ToString : 售價_tb.Text = Strings.Format(Val(控制表_dgv(20, e.RowIndex).Value), "#,##0")
  439. 進廠里程_tb.Text = 控制表_dgv(25, e.RowIndex).Value.ToString : 出廠里程_tb.Text = 控制表_dgv(26, e.RowIndex).Value.ToString
  440. If 控制表_dgv(24, e.RowIndex).Value IsNot DBNull.Value Then
  441. 已交車_cb.Checked = 控制表_dgv(24, e.RowIndex).Value
  442. Else
  443. 已交車_cb.Checked = False
  444. End If
  445. Dim value As String = 控制表_dgv(14, e.RowIndex).Value.ToString
  446. Dim value1 As String = 控制表_dgv(23, e.RowIndex).Value.ToString
  447. Dim value2 As String = 控制表_dgv(4, e.RowIndex).Value.ToString
  448. If value.Length < 5 Then
  449. 賣出日期_dtp.Format = DateTimePickerFormat.Custom : 賣出日期_dtp.CustomFormat = " "
  450. Else
  451. 賣出日期_dtp.Text = 控制表_dgv(14, e.RowIndex).Value.ToString
  452. 賣出日期_dtp.CustomFormat = "yyyy/MM/dd"
  453. 賣出日期_dtp.Format = DateTimePickerFormat.Custom
  454. End If
  455. If value1.Length < 5 Then
  456. 檢測日期_dtp.Format = DateTimePickerFormat.Custom : 檢測日期_dtp.CustomFormat = " "
  457. Else
  458. 檢測日期_dtp.Text = 控制表_dgv(23, e.RowIndex).Value.ToString
  459. 檢測日期_dtp.CustomFormat = "yyyy/MM/dd"
  460. 檢測日期_dtp.Format = DateTimePickerFormat.Custom
  461. End If
  462. If value2.Length < 5 Then
  463. 買入日期_dtp.Format = DateTimePickerFormat.Custom : 買入日期_dtp.CustomFormat = " "
  464. Else
  465. 買入日期_dtp.Text = 控制表_dgv(4, e.RowIndex).Value.ToString
  466. 買入日期_dtp.CustomFormat = "yyyy/MM/dd"
  467. 買入日期_dtp.Format = DateTimePickerFormat.Custom
  468. End If
  469. Else
  470. 信用卡_tb.Text = "0" : 現金_tb.Text = "0" : 賒帳_tb.Text = "0" : 支票_tb.Text = "0"
  471. 單號_tb.Text = 控制表_dgv(0, e.RowIndex).Value.ToString
  472. 車號_tb.Text = 控制表_dgv(5, e.RowIndex).Value.ToString
  473. 車主名稱_tb.Text = 控制表_dgv(7, e.RowIndex).Value.ToString
  474. 電話_tb.Text = 控制表_dgv(8, e.RowIndex).Value.ToString : 地址_tb.Text = 控制表_dgv(9, e.RowIndex).Value.ToString
  475. 里程_tb.Text = 控制表_dgv(25, e.RowIndex).Value.ToString : 保養預示_tb.Text = 控制表_dgv(26, e.RowIndex).Value.ToString
  476. 引擎號碼1_tb.Text = 控制表_dgv(3, e.RowIndex).Value.ToString
  477. 賒帳_tb.Text = 控制表_dgv(19, e.RowIndex).Value.ToString
  478. 出險公司_tb.Text = 控制表_dgv(11, e.RowIndex).Value.ToString : 車型_tb.Text = 控制表_dgv(1, e.RowIndex).Value.ToString
  479. 年_tb.Text = 控制表_dgv(2, e.RowIndex).Value.ToString : 輪胎尺寸_tb.Text = 控制表_dgv(6, e.RowIndex).Value.ToString
  480. If (控制表_dgv(20, e.RowIndex).Value) Is Nothing OrElse IsDBNull(控制表_dgv(20, e.RowIndex).Value) Then
  481. ' 如果成本為 NULL,設置為 0
  482. 現金_tb.Text = "0"
  483. Else
  484. 現金_tb.Text = Strings.Format(Val(控制表_dgv(20, e.RowIndex).Value), "#,##0")
  485. End If
  486. If (控制表_dgv(12, e.RowIndex).Value) Is Nothing OrElse IsDBNull(控制表_dgv(12, e.RowIndex).Value) Then
  487. ' 如果成本為 NULL,設置為 0
  488. 支票_tb.Text = "0"
  489. Else
  490. 支票_tb.Text = Strings.Format(Val(控制表_dgv(12, e.RowIndex).Value), "#,##0")
  491. End If
  492. If (控制表_dgv(13, e.RowIndex).Value) Is Nothing OrElse IsDBNull(控制表_dgv(13, e.RowIndex).Value) Then
  493. ' 如果成本為 NULL,設置為 0
  494. 信用卡_tb.Text = "0"
  495. Else
  496. 信用卡_tb.Text = Strings.Format(Val(控制表_dgv(13, e.RowIndex).Value), "#,##0")
  497. End If
  498. Dim 現金, 支票, 信用卡 As Double
  499. If Double.TryParse(現金_tb.Text, 現金) AndAlso Double.TryParse(支票_tb.Text, 支票) AndAlso Double.TryParse(信用卡_tb.Text, 信用卡) Then
  500. 全部_tb.Text = (現金 + 支票 + 信用卡).ToString()
  501. End If
  502. If 控制表_dgv(24, e.RowIndex).Value IsNot DBNull.Value Then
  503. 是否收稅_cb.Checked = 控制表_dgv(24, e.RowIndex).Value
  504. Else
  505. 是否收稅_cb.Checked = False
  506. End If
  507. Dim value As String = 控制表_dgv(14, e.RowIndex).Value.ToString
  508. Dim value1 As String = 控制表_dgv(23, e.RowIndex).Value.ToString
  509. Dim value2 As String = 控制表_dgv(4, e.RowIndex).Value.ToString
  510. If value1.Length < 5 Then
  511. 應驗車日_dtp.Format = DateTimePickerFormat.Custom : 應驗車日_dtp.CustomFormat = " "
  512. Else
  513. 應驗車日_dtp.Text = 控制表_dgv(23, e.RowIndex).Value.ToString
  514. 應驗車日_dtp.CustomFormat = "yyyy/MM/dd"
  515. 應驗車日_dtp.Format = DateTimePickerFormat.Custom
  516. End If
  517. If value2.Length < 5 Then
  518. 入廠日期_dtp.Format = DateTimePickerFormat.Custom : 入廠日期_dtp.CustomFormat = " "
  519. Else
  520. 入廠日期_dtp.Text = 控制表_dgv(4, e.RowIndex).Value.ToString
  521. 入廠日期_dtp.CustomFormat = "yyyy/MM/dd"
  522. 入廠日期_dtp.Format = DateTimePickerFormat.Custom
  523. End If
  524. End If
  525. 流水號_tb.Text = "" : Set_清單3()
  526. End If
  527. If 車廠型態 = True Then
  528. If 登入人級別 <> "00" Then
  529. If 已交車_cb.Checked = True Then
  530. 修改_bt.Enabled = False : 刪除_bt.Enabled = False : 查詢1_bt.Enabled = False : 查詢2_bt.Enabled = False
  531. 收支單中新增一筆資料_bt.Enabled = False : 收支單中新增一筆空白資料_bt.Enabled = False : 刪除選中的一筆資料_bt.Enabled = False
  532. 申請_bt.Enabled = False
  533. Else
  534. 修改_bt.Enabled = True : 刪除_bt.Enabled = True : 查詢1_bt.Enabled = True : 查詢2_bt.Enabled = True
  535. 收支單中新增一筆資料_bt.Enabled = True : 收支單中新增一筆空白資料_bt.Enabled = True : 刪除選中的一筆資料_bt.Enabled = True
  536. 申請_bt.Enabled = True
  537. End If
  538. End If
  539. End If
  540. boo1 = False
  541. End Sub
  542. Private Sub 刪除_bt_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click
  543. 新增_bt.Enabled = True : 確認新增_bt.Enabled = False
  544. SQL_車輛銷售管理_控制表刪除() : SQL_車輛銷售管理_明細表刪除() : SQL_車輛銷售管理_倉儲明細表刪除() : conn.Close() : MsgBox("刪除成功") : Set_清單1() : Set_清單3()
  545. 單號_tb.Text = "" : 廠牌_tb.Text = ""
  546. 年分_tb.Text = "" : 引擎_tb.Text = ""
  547. 買入牌照號碼_tb.Text = ""
  548. 買入顏色_tb.Text = "" : 買入車主名稱_tb.Text = ""
  549. 買入車主電話_tb.Text = "" : 買入車主地址_tb.Text = ""
  550. 進價_tb.Text = "" : 買入經手人_tb.Text = ""
  551. 支出合計_tb.Text = "" : 總成本_tb.Text = ""
  552. 賣出牌照號碼_tb.Text = ""
  553. 賣出顏色_tb.Text = "" : 賣出車主名稱_tb.Text = ""
  554. 賣出車主電話_tb.Text = "" : 賣出車主地址_tb.Text = ""
  555. 售價_tb.Text = "" : 賣出經手人_tb.Text = ""
  556. 備註_tb.Text = "" : 引擎號碼1_tb.Text = ""
  557. 進廠里程_tb.Text = "" : 出廠里程_tb.Text = ""
  558. 檢測日期_dtp.CustomFormat = "yyyy/MM/dd"
  559. 檢測日期_dtp.Format = DateTimePickerFormat.Custom
  560. 檢測日期_dtp.Value = Today
  561. 買入日期_dtp.CustomFormat = "yyyy/MM/dd"
  562. 買入日期_dtp.Format = DateTimePickerFormat.Custom
  563. 買入日期_dtp.Value = Today
  564. 賣出日期_dtp.CustomFormat = "yyyy/MM/dd"
  565. 賣出日期_dtp.Format = DateTimePickerFormat.Custom
  566. 賣出日期_dtp.Value = Today
  567. 料號_tb.Text = "" : 品名.Text = "" : 成本.Text = "" : 總利潤_tb.Text = "" : 已交車_cb.Checked = False : 狀態_tb.Text = ""
  568. 出險公司_tb.Text = "" : 車主名稱_tb.Text = "" : 車號_tb.Text = "" : 地址_tb.Text = "" : 電話_tb.Text = ""
  569. 車型_tb.Text = "" : 保養預示_tb.Text = "" : 里程_tb.Text = "" : 廠牌_tb.Text = "" : 廠牌_tb.Text = ""
  570. 應驗車日_dtp.Format = DateTimePickerFormat.Custom : 應驗車日_dtp.CustomFormat = " "
  571. 工資_tb.Text = "" : 零件_tb.Text = "" : 總計_tb.Text = "" : 稅金_tb.Text = ""
  572. 信用卡_tb.Text = "" : 應收合計_tb.Text = "" : 賒帳_tb.Text = "" : 支票_tb.Text = ""
  573. 現金_tb.Text = "" : 年_tb.Text = "" : 輪胎尺寸_tb.Text = ""
  574. End Sub
  575. Private Sub 檢測日期_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 檢測日期_dtp.MouseDown
  576. 檢測日期_dtp.CustomFormat = "yyyy/MM/dd"
  577. 檢測日期_dtp.Format = DateTimePickerFormat.Custom
  578. End Sub
  579. Private Sub 買入日期_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 買入日期_dtp.MouseDown
  580. 買入日期_dtp.CustomFormat = "yyyy/MM/dd"
  581. 買入日期_dtp.Format = DateTimePickerFormat.Custom
  582. End Sub
  583. Private Sub 賣出日期_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 賣出日期_dtp.MouseDown
  584. 賣出日期_dtp.CustomFormat = "yyyy/MM/dd"
  585. 賣出日期_dtp.Format = DateTimePickerFormat.Custom
  586. End Sub
  587. Private Sub 入廠日期_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 入廠日期_dtp.MouseDown
  588. 入廠日期_dtp.CustomFormat = "yyyy/MM/dd"
  589. 入廠日期_dtp.Format = DateTimePickerFormat.Custom
  590. End Sub
  591. Private Sub 應驗車日_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 應驗車日_dtp.MouseDown
  592. 應驗車日_dtp.CustomFormat = "yyyy/MM/dd"
  593. 應驗車日_dtp.Format = DateTimePickerFormat.Custom
  594. End Sub
  595. Private Sub 利潤率_ValueChanged(sender As Object, e As EventArgs) Handles 利潤率.ValueChanged
  596. If 售價_tb.Text <> "" And 進價_tb.Text <> "" And 總成本_tb.Text <> "" Then
  597. Dim d1, d2, d4 As Integer
  598. Dim d3 As Double
  599. Dim s1 As String = 進價_tb.Text
  600. Dim s2 As String = 總成本_tb.Text
  601. Dim s4 As String = 售價_tb.Text
  602. s1 = s1.Replace(",", "")
  603. s2 = s2.Replace(",", "")
  604. s4 = s4.Replace(",", "")
  605. d1 = Integer.Parse(s1)
  606. d2 = Integer.Parse(s2)
  607. d4 = Integer.Parse(s4)
  608. d3 = 利潤率.Value
  609. 總利潤_tb.Text = ((d1 + d2) * d3 / 100).ToString("#,##0")
  610. If boo1 = True Then
  611. 總利潤_tb.Text = (d4 - (d1 + d2)).ToString("#,##0")
  612. Else
  613. 售價_tb.Text = (d1 + d2 + ((d1 + d2) * d3 / 100)).ToString("#,##0")
  614. End If
  615. End If
  616. End Sub
  617. Private Sub 進價_tb_TextChanged(sender As Object, e As EventArgs) Handles 進價_tb.TextChanged
  618. If 售價_tb.Text <> "" And 進價_tb.Text <> "" And 總成本_tb.Text <> "" Then
  619. Dim d1, d2, d4 As Integer
  620. Dim d3 As Double
  621. Dim s1 As String = 進價_tb.Text
  622. Dim s2 As String = 總成本_tb.Text
  623. Dim s4 As String = 售價_tb.Text
  624. s1 = s1.Replace(",", "")
  625. s2 = s2.Replace(",", "")
  626. s4 = s4.Replace(",", "")
  627. d1 = Integer.Parse(s1)
  628. d2 = Integer.Parse(s2)
  629. d4 = Integer.Parse(s4)
  630. d3 = 利潤率.Value
  631. If boo1 = True Then
  632. 總利潤_tb.Text = (d4 - (d1 + d2)).ToString("#,##0")
  633. Else
  634. 總利潤_tb.Text = ((d1 + d2) * d3 / 100).ToString("#,##0")
  635. 售價_tb.Text = (d1 + d2 + ((d1 + d2) * d3 / 100)).ToString("#,##0")
  636. End If
  637. End If
  638. End Sub
  639. Private Sub 售價_tb_TextChanged(sender As Object, e As EventArgs) Handles 售價_tb.TextChanged
  640. If 售價_tb.Text <> "" And 進價_tb.Text <> "" And 總成本_tb.Text <> "" Then
  641. Dim d, d1, d2, d3 As Integer
  642. Dim s As String = 售價_tb.Text
  643. Dim s1 As String = 進價_tb.Text
  644. Dim s2 As String = 總成本_tb.Text
  645. s = s.Replace(",", "")
  646. s1 = s1.Replace(",", "")
  647. s2 = s2.Replace(",", "")
  648. d = Integer.Parse(s)
  649. d1 = Integer.Parse(s1)
  650. d2 = Integer.Parse(s2)
  651. d3 = d - (d1 + d2)
  652. If boo1 = True Then
  653. Else
  654. 總利潤_tb.Text = d3.ToString("#,##0")
  655. End If
  656. End If
  657. End Sub
  658. Private Sub 售價_tb_Leave(sender As Object, e As EventArgs) Handles 售價_tb.Leave
  659. boo1 = True
  660. If Not String.IsNullOrEmpty(售價_tb.Text) AndAlso IsNumeric(售價_tb.Text) Then
  661. ' 將文本轉換為數字
  662. Dim number As Double = CDbl(售價_tb.Text)
  663. ' 格式化數字為千分位
  664. 售價_tb.Text = number.ToString("#,##0")
  665. End If
  666. Dim d, d1, d2, d3 As Integer
  667. Dim s As String = 售價_tb.Text
  668. Dim s1 As String = 進價_tb.Text
  669. Dim s2 As String = 總成本_tb.Text
  670. s = s.Replace(",", "")
  671. s1 = s1.Replace(",", "")
  672. s2 = s2.Replace(",", "")
  673. d = Integer.Parse(s)
  674. d1 = Integer.Parse(s1)
  675. d2 = Integer.Parse(s2)
  676. d3 = d - (d1 + d2)
  677. Dim ratio As Double = (d3 / (d1 + d2)) * 100
  678. Dim roundedRatio As Double = Math.Round(ratio, 1)
  679. If roundedRatio < 0 Then
  680. 利潤率.Value = 0
  681. ElseIf roundedRatio > 1000 Then
  682. 利潤率.Value = 1000
  683. Else
  684. 利潤率.Value = roundedRatio
  685. End If
  686. End Sub
  687. Private Sub 進價_tb_Leave(sender As Object, e As EventArgs) Handles 進價_tb.Leave
  688. If Not String.IsNullOrEmpty(進價_tb.Text) AndAlso IsNumeric(進價_tb.Text) Then
  689. ' 將文本轉換為數字
  690. Dim number As Double = CDbl(進價_tb.Text)
  691. ' 格式化數字為千分位
  692. 進價_tb.Text = number.ToString("#,##0")
  693. End If
  694. End Sub
  695. Private Sub 售價_tb_KeyPress(sender As Object, e As KeyPressEventArgs) Handles 售價_tb.KeyPress
  696. ' 檢查輸入的字符是否為數字或允許的其他字符(如小數點、負號、刪除鍵)
  697. If Not Char.IsDigit(e.KeyChar) AndAlso e.KeyChar <> "." AndAlso e.KeyChar <> "-" AndAlso e.KeyChar <> ChrW(Keys.Back) Then
  698. ' 如果輸入的字符不是數字或允許的字符,取消該字符輸入
  699. e.Handled = True
  700. End If
  701. End Sub
  702. Private Sub 售價_tb_LostFocus(sender As Object, e As EventArgs) Handles 售價_tb.LostFocus
  703. ' 檢查文本框的值是否為空
  704. If String.IsNullOrWhiteSpace(售價_tb.Text) Then
  705. ' 如果為空,將其設置為0
  706. 售價_tb.Text = "0"
  707. End If
  708. End Sub
  709. Private Sub 進價_tb_LostFocus(sender As Object, e As EventArgs) Handles 進價_tb.LostFocus
  710. ' 檢查文本框的值是否為空
  711. If String.IsNullOrWhiteSpace(進價_tb.Text) Then
  712. ' 如果為空,將其設置為0
  713. 進價_tb.Text = "0"
  714. End If
  715. End Sub
  716. Private Sub 進價_tb_KeyPress(sender As Object, e As KeyPressEventArgs) Handles 進價_tb.KeyPress
  717. ' 檢查輸入的字符是否為數字或允許的其他字符(如小數點、負號、刪除鍵)
  718. If Not Char.IsDigit(e.KeyChar) AndAlso e.KeyChar <> "." AndAlso e.KeyChar <> "-" AndAlso e.KeyChar <> ChrW(Keys.Back) Then
  719. ' 如果輸入的字符不是數字或允許的字符,取消該字符輸入
  720. e.Handled = True
  721. End If
  722. End Sub
  723. Private Sub 現金_tb_Leave(sender As Object, e As EventArgs) Handles 現金_tb.Leave
  724. If Not String.IsNullOrEmpty(現金_tb.Text) AndAlso IsNumeric(現金_tb.Text) Then
  725. ' 將文本轉換為數字
  726. Dim number As Double = CDbl(現金_tb.Text)
  727. ' 格式化數字為千分位
  728. 現金_tb.Text = number.ToString("#,##0")
  729. Dim 現金, 支票, 信用卡 As Double
  730. If Double.TryParse(現金_tb.Text, 現金) AndAlso Double.TryParse(支票_tb.Text, 支票) AndAlso Double.TryParse(信用卡_tb.Text, 信用卡) Then
  731. 全部_tb.Text = (現金 + 支票 + 信用卡).ToString()
  732. End If
  733. End If
  734. End Sub
  735. Private Sub 現金_tb_LostFocus(sender As Object, e As EventArgs) Handles 現金_tb.LostFocus
  736. ' 檢查文本框的值是否為空
  737. If String.IsNullOrWhiteSpace(現金_tb.Text) Then
  738. ' 如果為空,將其設置為0
  739. 現金_tb.Text = "0"
  740. End If
  741. End Sub
  742. Private Sub 現金_tb_KeyPress(sender As Object, e As KeyPressEventArgs) Handles 現金_tb.KeyPress
  743. ' 檢查輸入的字符是否為數字或允許的其他字符(如小數點、負號、刪除鍵)
  744. If Not Char.IsDigit(e.KeyChar) AndAlso e.KeyChar <> "." AndAlso e.KeyChar <> "-" AndAlso e.KeyChar <> ChrW(Keys.Back) Then
  745. ' 如果輸入的字符不是數字或允許的字符,取消該字符輸入
  746. e.Handled = True
  747. End If
  748. End Sub
  749. Private Sub 信用卡_tb_Leave(sender As Object, e As EventArgs) Handles 信用卡_tb.Leave
  750. If Not String.IsNullOrEmpty(信用卡_tb.Text) AndAlso IsNumeric(信用卡_tb.Text) Then
  751. ' 將文本轉換為數字
  752. Dim number As Double = CDbl(信用卡_tb.Text)
  753. ' 格式化數字為千分位
  754. 信用卡_tb.Text = number.ToString("#,##0")
  755. Dim 現金, 支票, 信用卡 As Double
  756. If Double.TryParse(現金_tb.Text, 現金) AndAlso Double.TryParse(支票_tb.Text, 支票) AndAlso Double.TryParse(信用卡_tb.Text, 信用卡) Then
  757. 全部_tb.Text = (現金 + 支票 + 信用卡).ToString()
  758. End If
  759. End If
  760. End Sub
  761. Private Sub 信用卡_tb_LostFocus(sender As Object, e As EventArgs) Handles 信用卡_tb.LostFocus
  762. ' 檢查文本框的值是否為空
  763. If String.IsNullOrWhiteSpace(信用卡_tb.Text) Then
  764. ' 如果為空,將其設置為0
  765. 信用卡_tb.Text = "0"
  766. End If
  767. End Sub
  768. Private Sub 信用卡_tb_KeyPress(sender As Object, e As KeyPressEventArgs) Handles 信用卡_tb.KeyPress
  769. ' 檢查輸入的字符是否為數字或允許的其他字符(如小數點、負號、刪除鍵)
  770. If Not Char.IsDigit(e.KeyChar) AndAlso e.KeyChar <> "." AndAlso e.KeyChar <> "-" AndAlso e.KeyChar <> ChrW(Keys.Back) Then
  771. ' 如果輸入的字符不是數字或允許的字符,取消該字符輸入
  772. e.Handled = True
  773. End If
  774. End Sub
  775. Private Sub 賒帳_tb_Leave(sender As Object, e As EventArgs) Handles 賒帳_tb.Leave
  776. If Not String.IsNullOrEmpty(賒帳_tb.Text) AndAlso IsNumeric(賒帳_tb.Text) Then
  777. ' 將文本轉換為數字
  778. Dim number As Double = CDbl(賒帳_tb.Text)
  779. ' 格式化數字為千分位
  780. 賒帳_tb.Text = number.ToString("#,##0")
  781. End If
  782. End Sub
  783. Private Sub 賒帳_tb_LostFocus(sender As Object, e As EventArgs) Handles 賒帳_tb.LostFocus
  784. ' 檢查文本框的值是否為空
  785. If String.IsNullOrWhiteSpace(賒帳_tb.Text) Then
  786. ' 如果為空,將其設置為0
  787. 賒帳_tb.Text = "0"
  788. End If
  789. End Sub
  790. Private Sub 賒帳_tb_KeyPress(sender As Object, e As KeyPressEventArgs) Handles 賒帳_tb.KeyPress
  791. ' 檢查輸入的字符是否為數字或允許的其他字符(如小數點、負號、刪除鍵)
  792. If Not Char.IsDigit(e.KeyChar) AndAlso e.KeyChar <> "." AndAlso e.KeyChar <> "-" AndAlso e.KeyChar <> ChrW(Keys.Back) Then
  793. ' 如果輸入的字符不是數字或允許的字符,取消該字符輸入
  794. e.Handled = True
  795. End If
  796. End Sub
  797. Private Sub 支票_tb_Leave(sender As Object, e As EventArgs) Handles 支票_tb.Leave
  798. If Not String.IsNullOrEmpty(支票_tb.Text) AndAlso IsNumeric(支票_tb.Text) Then
  799. ' 將文本轉換為數字
  800. Dim number As Double = CDbl(支票_tb.Text)
  801. ' 格式化數字為千分位
  802. 支票_tb.Text = number.ToString("#,##0")
  803. Dim 現金, 支票, 信用卡 As Double
  804. If Double.TryParse(現金_tb.Text, 現金) AndAlso Double.TryParse(支票_tb.Text, 支票) AndAlso Double.TryParse(信用卡_tb.Text, 信用卡) Then
  805. 全部_tb.Text = (現金 + 支票 + 信用卡).ToString()
  806. End If
  807. End If
  808. End Sub
  809. Private Sub 支票_tb_LostFocus(sender As Object, e As EventArgs) Handles 支票_tb.LostFocus
  810. ' 檢查文本框的值是否為空
  811. If String.IsNullOrWhiteSpace(支票_tb.Text) Then
  812. ' 如果為空,將其設置為0
  813. 支票_tb.Text = "0"
  814. End If
  815. End Sub
  816. Private Sub 支票_tb_KeyPress(sender As Object, e As KeyPressEventArgs) Handles 支票_tb.KeyPress
  817. ' 檢查輸入的字符是否為數字或允許的其他字符(如小數點、負號、刪除鍵)
  818. If Not Char.IsDigit(e.KeyChar) AndAlso e.KeyChar <> "." AndAlso e.KeyChar <> "-" AndAlso e.KeyChar <> ChrW(Keys.Back) Then
  819. ' 如果輸入的字符不是數字或允許的字符,取消該字符輸入
  820. e.Handled = True
  821. End If
  822. End Sub
  823. Private Sub 修改_bt_Click(sender As Object, e As EventArgs) Handles 修改_bt.Click
  824. If 買入車主名稱_tb.Text <> "" And 買入牌照號碼_tb.Text <> "" Then
  825. SQL_車輛銷售管理_查詢客戶資料()
  826. If dr.Read() Then
  827. SQL_車輛銷售管理_修改客戶資料()
  828. Else
  829. SQL_客戶資料表_最後一筆資料()
  830. If dr.Read() Then : 供應商編號_tb.Text = dr("流水號").ToString : Else : 供應商編號_tb.Text = "CL00000" : End If
  831. conn.Close()
  832. Dim NUM1 As Integer
  833. NUM1 = Double.Parse(Strings.Right(供應商編號_tb.Text, 5)) + 1
  834. If NUM1 < 10 Then : 供應商編號_tb.Text = "CL" & "0000" & NUM1
  835. ElseIf NUM1 > 9 And NUM1 < 100 Then : 供應商編號_tb.Text = "CL" & "000" & NUM1
  836. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 供應商編號_tb.Text = "CL" & "00" & NUM1
  837. ElseIf NUM1 > 999 And NUM1 < 10000 Then : 供應商編號_tb.Text = "CL" & "0" & NUM1
  838. ElseIf NUM1 > 9999 And NUM1 < 100000 Then : 供應商編號_tb.Text = "CL" & NUM1 : End If
  839. SQL_車輛銷售管理_新增客戶資料() : conn.Close()
  840. End If
  841. End If
  842. If 賣出車主名稱_tb.Text <> "" And 賣出牌照號碼_tb.Text <> "" Then
  843. SQL_車輛銷售管理_查詢客戶資料1()
  844. If dr.Read() Then
  845. SQL_車輛銷售管理_修改客戶資料1()
  846. Else
  847. SQL_客戶資料表_最後一筆資料()
  848. If dr.Read() Then : 供應商編號_tb.Text = dr("流水號").ToString : Else : 供應商編號_tb.Text = "CL00000" : End If
  849. conn.Close()
  850. Dim NUM1 As Integer
  851. NUM1 = Double.Parse(Strings.Right(供應商編號_tb.Text, 5)) + 1
  852. If NUM1 < 10 Then : 供應商編號_tb.Text = "CL" & "0000" & NUM1
  853. ElseIf NUM1 > 9 And NUM1 < 100 Then : 供應商編號_tb.Text = "CL" & "000" & NUM1
  854. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 供應商編號_tb.Text = "CL" & "00" & NUM1
  855. ElseIf NUM1 > 999 And NUM1 < 10000 Then : 供應商編號_tb.Text = "CL" & "0" & NUM1
  856. ElseIf NUM1 > 9999 And NUM1 < 100000 Then : 供應商編號_tb.Text = "CL" & NUM1 : End If
  857. SQL_車輛銷售管理_新增客戶資料1() : conn.Close()
  858. End If
  859. End If
  860. If 車主名稱_tb.Text <> "" And 車號_tb.Text <> "" Then
  861. SQL_車輛銷售管理_查詢客戶資料()
  862. If dr.Read() Then
  863. SQL_車輛銷售管理_修改客戶資料()
  864. Else
  865. SQL_客戶資料表_最後一筆資料()
  866. If dr.Read() Then : 供應商編號_tb.Text = dr("流水號").ToString : Else : 供應商編號_tb.Text = "CL00000" : End If
  867. conn.Close()
  868. Dim NUM1 As Integer
  869. NUM1 = Double.Parse(Strings.Right(供應商編號_tb.Text, 5)) + 1
  870. If NUM1 < 10 Then : 供應商編號_tb.Text = "CL" & "0000" & NUM1
  871. ElseIf NUM1 > 9 And NUM1 < 100 Then : 供應商編號_tb.Text = "CL" & "000" & NUM1
  872. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 供應商編號_tb.Text = "CL" & "00" & NUM1
  873. ElseIf NUM1 > 999 And NUM1 < 10000 Then : 供應商編號_tb.Text = "CL" & "0" & NUM1
  874. ElseIf NUM1 > 9999 And NUM1 < 100000 Then : 供應商編號_tb.Text = "CL" & NUM1 : End If
  875. SQL_車輛銷售管理_新增客戶資料() : conn.Close()
  876. End If
  877. End If
  878. SQL_車輛銷售管理_控制表修改() : conn.Close() : MsgBox("儲存成功!!") : Set_清單1()
  879. If 登入人級別 <> "00" Then
  880. If 已交車_cb.Checked = True Then
  881. 修改_bt.Enabled = False : 刪除_bt.Enabled = False : 查詢1_bt.Enabled = False : 查詢2_bt.Enabled = False
  882. 收支單中新增一筆資料_bt.Enabled = False : 收支單中新增一筆空白資料_bt.Enabled = False : 刪除選中的一筆資料_bt.Enabled = False
  883. 申請_bt.Enabled = False
  884. Else
  885. 修改_bt.Enabled = True : 刪除_bt.Enabled = True : 查詢1_bt.Enabled = True : 查詢2_bt.Enabled = True
  886. 收支單中新增一筆資料_bt.Enabled = True : 收支單中新增一筆空白資料_bt.Enabled = True : 刪除選中的一筆資料_bt.Enabled = True
  887. 申請_bt.Enabled = True
  888. End If
  889. End If
  890. End Sub
  891. Private Sub 收支單中新增一筆空白資料_bt_Click(sender As Object, e As EventArgs) Handles 收支單中新增一筆空白資料_bt.Click
  892. If 單號_tb.Text = "" Then
  893. MsgBox("未選擇單號!!")
  894. Else
  895. Set_流水號() : PA = 單號_tb.Text
  896. SQL_車輛銷售管理_查詢最後一筆單號項次() : PA = ""
  897. If dr.Read() Then : 新項次 = dr("項次") : Else : 新項次 = "00" : End If : conn.Close()
  898. NUM1 = Double.Parse(新項次) + 1
  899. If NUM1 < 10 Then : 新項次 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 99 Then : 新項次 = NUM1 : End If
  900. PA15 = 新項次
  901. SQL_車輛銷售管理_新增明細表() : conn.Close()
  902. Set_清單3()
  903. MsgBox("明細表新增成功!!")
  904. End If
  905. End Sub
  906. Private Sub 收支單中新增一筆空白資料1_bt_Click(sender As Object, e As EventArgs) Handles 收支單中新增一筆空白資料1_bt.Click
  907. For i As Integer = 0 To 明細表1_dgv.Rows.Count - 1
  908. PA1 = 明細表1_dgv.Rows(i).Cells("各項支出名稱").Value.ToString : PA2 = 明細表1_dgv.Rows(i).Cells("數量").Value.ToString : PA3 = 明細表1_dgv.Rows(i).Cells("售價").Value
  909. PA4 = 明細表1_dgv.Rows(i).Cells("備註").Value.ToString : PA5 = 明細表1_dgv.Rows(i).Cells("料號").Value.ToString : PA6 = 明細表1_dgv.Rows(i).Cells("項次").Value.ToString
  910. PA10 = 明細表1_dgv.Rows(i).Cells("流水號").Value.ToString : PA8 = 明細表1_dgv.Rows(i).Cells("成本").Value.ToString : BL3 = 明細表1_dgv.Rows(i).Cells("已儲存").Value
  911. PA7 = 明細表1_dgv.Rows(i).Cells("狀態").Value.ToString
  912. SQL_車輛銷售管理_修改明細表() : conn.Close()
  913. If PA7 = "物料" Then
  914. If BL3 = 0 Then
  915. Set_日期格式轉換()
  916. Set_流水號1()
  917. SQL_車輛銷售管理_新增倉儲明細表() : conn.Close()
  918. Else
  919. SQL_車輛銷售管理_修改倉儲明細表() : conn.Close()
  920. End If
  921. End If
  922. Next
  923. If 單號_tb.Text = "" Then
  924. MsgBox("未選擇單號!!")
  925. Else
  926. Set_流水號() : PA = 單號_tb.Text
  927. SQL_車輛銷售管理_查詢最後一筆單號項次() : PA = ""
  928. If dr.Read() Then : 新項次 = dr("項次") : Else : 新項次 = "00" : End If : conn.Close()
  929. NUM1 = Double.Parse(新項次) + 1
  930. If NUM1 < 10 Then : 新項次 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 99 Then : 新項次 = NUM1 : End If
  931. PA15 = 新項次
  932. SQL_車輛銷售管理_新增明細表() : conn.Close()
  933. Set_清單3()
  934. MsgBox("明細表新增成功!!")
  935. End If
  936. End Sub
  937. Private Sub Set_流水號()
  938. conn.Close() : dr.Close()
  939. Dim NUM1 As Integer
  940. For NUM1 = 0 To 999
  941. Dim d As String : Dim f As String
  942. Dim selectedDate As DateTime = 選擇日期_dtp.Value
  943. Dim y As String = selectedDate.Year.ToString().Substring(2, 2)
  944. If selectedDate.Month < 10 Then : d = "0" & selectedDate.Month.ToString()
  945. Else : d = selectedDate.Month.ToString()
  946. End If
  947. If selectedDate.Day < 10 Then : f = "0" & selectedDate.Day.ToString()
  948. Else : f = selectedDate.Day.ToString()
  949. End If
  950. If NUM1 < 10 Then : 新流水1 = "C" & y & d & f & "00" & NUM1
  951. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新流水1 = "C" & y & d & f & "0" & NUM1
  952. ElseIf NUM1 > 99 Then : 新流水1 = "C" & y & d & f & NUM1
  953. End If : PA19 = 新流水1
  954. SQL_車輛銷售管理_查詢明細表流水號()
  955. If dr.Read() Then : conn.Close() : Else : conn.Close() : NUM1 = 999 : End If
  956. Next
  957. End Sub
  958. Private Sub 刪除選中的一筆資料_bt_Click(sender As Object, e As EventArgs) Handles 刪除選中的一筆資料_bt.Click
  959. If 流水號_tb.Text = "" Then
  960. MsgBox("未選擇需要刪除的資料。")
  961. Else
  962. TextBox1.Text = "0"
  963. SQL_車輛銷售管理_刪除倉儲明細表() : conn.Close()
  964. SQL_車輛銷售管理_刪除明細表項次() : conn.Close()
  965. Set_清單3()
  966. Dim NUM1 As Integer = 0
  967. For i As Integer = 0 To 明細表_dgv.Rows.Count - 1
  968. PA17 = 明細表_dgv.Rows(i).Cells("項次").Value
  969. NUM1 += 1 : If NUM1 < 10 Then : 新項次 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 99 Then : 新項次 = NUM1 : End If
  970. PA18 = 新項次
  971. SQL_車輛銷售管理_修改明細表項次() : conn.Close()
  972. Next
  973. Set_清單3() : 流水號_tb.Text = ""
  974. Dim NUM2, NUM3 As Integer
  975. For i As Integer = 0 To 明細表_dgv.Rows.Count - 1
  976. NUM2 += 明細表_dgv.Rows(i).Cells("總售價").Value
  977. NUM3 += 明細表_dgv.Rows(i).Cells("總成本").Value
  978. Next
  979. 支出合計_tb.Text = Strings.Format(Val(NUM2), "#,##0")
  980. 總成本_tb.Text = Strings.Format(Val(NUM3), "#,##0")
  981. MsgBox("刪除成功。")
  982. Dim d1, d2, d4 As Integer
  983. Dim d3 As Double
  984. Dim s1 As String = 進價_tb.Text
  985. Dim s2 As String = 總成本_tb.Text
  986. Dim s4 As String = 售價_tb.Text
  987. s1 = s1.Replace(",", "")
  988. s2 = s2.Replace(",", "")
  989. s4 = s4.Replace(",", "")
  990. d1 = Integer.Parse(s1)
  991. d2 = Integer.Parse(s2)
  992. d4 = Integer.Parse(s4)
  993. d3 = 利潤率.Value
  994. 總利潤_tb.Text = ((d1 + d2) * d3 / 100).ToString("#,##0")
  995. If boo1 = True Then
  996. 總利潤_tb.Text = (d4 - (d1 + d2)).ToString("#,##0")
  997. Else
  998. 售價_tb.Text = (d1 + d2 + ((d1 + d2) * d3 / 100)).ToString("#,##0")
  999. End If
  1000. End If
  1001. End Sub
  1002. Private Sub 刪除選中的一筆資料1_bt_Click(sender As Object, e As EventArgs) Handles 刪除選中的一筆資料1_bt.Click
  1003. If 流水號_tb.Text = "" Then
  1004. MsgBox("未選擇需要刪除的資料。")
  1005. Else
  1006. 庫存量1.Text = "0"
  1007. SQL_車輛銷售管理_刪除倉儲明細表() : conn.Close()
  1008. SQL_車輛銷售管理_刪除明細表項次() : conn.Close()
  1009. Set_清單3()
  1010. Dim NUM1 As Integer = 0
  1011. For i As Integer = 0 To 明細表1_dgv.Rows.Count - 1
  1012. PA17 = 明細表1_dgv.Rows(i).Cells("項次").Value
  1013. NUM1 += 1 : If NUM1 < 10 Then : 新項次 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 99 Then : 新項次 = NUM1 : End If
  1014. PA18 = 新項次
  1015. SQL_車輛銷售管理_修改明細表項次() : conn.Close()
  1016. Next
  1017. Set_清單3() : 流水號_tb.Text = ""
  1018. MsgBox("刪除成功。")
  1019. End If
  1020. End Sub
  1021. Private Sub 申請_bt_Click(sender As Object, e As EventArgs) Handles 申請_bt.Click
  1022. For i As Integer = 0 To 明細表_dgv.Rows.Count - 1
  1023. PA1 = 明細表_dgv.Rows(i).Cells("各項支出名稱").Value.ToString : PA2 = 明細表_dgv.Rows(i).Cells("數量").Value.ToString : PA3 = 明細表_dgv.Rows(i).Cells("售價").Value
  1024. PA4 = 明細表_dgv.Rows(i).Cells("備註").Value.ToString : PA5 = 明細表_dgv.Rows(i).Cells("料號").Value.ToString : PA6 = 明細表_dgv.Rows(i).Cells("項次").Value.ToString
  1025. PA10 = 明細表_dgv.Rows(i).Cells("流水號").Value.ToString : PA8 = 明細表_dgv.Rows(i).Cells("成本").Value.ToString : BL3 = 明細表_dgv.Rows(i).Cells("已儲存").Value
  1026. PA7 = 明細表_dgv.Rows(i).Cells("狀態").Value.ToString
  1027. SQL_車輛銷售管理_修改明細表() : conn.Close()
  1028. If PA7 = "物料" Then
  1029. If BL3 = 0 Then
  1030. Set_日期格式轉換()
  1031. Set_流水號1()
  1032. SQL_車輛銷售管理_新增倉儲明細表() : conn.Close()
  1033. End If
  1034. End If
  1035. Next : Set_清單3() : MsgBox("儲存成功。")
  1036. End Sub
  1037. Private Sub 申請1_bt_Click(sender As Object, e As EventArgs) Handles 申請1_bt.Click
  1038. For i As Integer = 0 To 明細表1_dgv.Rows.Count - 1
  1039. PA1 = 明細表1_dgv.Rows(i).Cells("各項支出名稱").Value.ToString : PA2 = 明細表1_dgv.Rows(i).Cells("數量").Value.ToString : PA3 = 明細表1_dgv.Rows(i).Cells("售價").Value
  1040. PA4 = 明細表1_dgv.Rows(i).Cells("備註").Value.ToString : PA5 = 明細表1_dgv.Rows(i).Cells("料號").Value.ToString : PA6 = 明細表1_dgv.Rows(i).Cells("項次").Value.ToString
  1041. PA10 = 明細表1_dgv.Rows(i).Cells("流水號").Value.ToString : PA8 = 明細表1_dgv.Rows(i).Cells("成本").Value.ToString : BL3 = 明細表1_dgv.Rows(i).Cells("已儲存").Value
  1042. PA7 = 明細表1_dgv.Rows(i).Cells("狀態").Value.ToString
  1043. SQL_車輛銷售管理_修改明細表() : conn.Close()
  1044. If PA7 = "物料" Then
  1045. If BL3 = 0 Then
  1046. Set_日期格式轉換()
  1047. Set_流水號1()
  1048. SQL_車輛銷售管理_新增倉儲明細表() : conn.Close()
  1049. Else
  1050. SQL_車輛銷售管理_修改倉儲明細表() : conn.Close()
  1051. End If
  1052. End If
  1053. Next : Set_清單3() : MsgBox("儲存成功。")
  1054. End Sub
  1055. Private Sub Set_流水號1()
  1056. conn.Close() : dr.Close()
  1057. Dim NUM1 As Integer
  1058. For NUM1 = 0 To 999
  1059. Dim d As String : Dim f As String
  1060. Dim selectedDate As DateTime = Today()
  1061. Dim y As String = selectedDate.Year.ToString()
  1062. If selectedDate.Month < 10 Then : d = "0" & selectedDate.Month.ToString()
  1063. Else : d = selectedDate.Month.ToString()
  1064. End If
  1065. If selectedDate.Day < 10 Then : f = "0" & selectedDate.Day.ToString()
  1066. Else : f = selectedDate.Day.ToString()
  1067. End If
  1068. If NUM1 < 10 Then : 新流水1 = "Z" & y & d & f & "00" & NUM1
  1069. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新流水1 = "Z" & y & d & f & "0" & NUM1
  1070. ElseIf NUM1 > 99 Then : 新流水1 = "Z" & y & d & f & NUM1
  1071. End If : PA19 = 新流水1
  1072. SQL_物料入庫系統_查詢入庫明細流水號()
  1073. If dr.Read() Then : conn.Close() : Else : conn.Close() : NUM1 = 999 : End If
  1074. Next
  1075. End Sub
  1076. Private Sub Set_清單4()
  1077. 庫存_dgv.DataSource = Nothing : ds3.Clear()
  1078. 庫存_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  1079. 庫存_dgv.ColumnHeadersHeight = 25
  1080. 庫存_dgv.AllowUserToAddRows = False
  1081. 庫存_dgv.RowTemplate.Height = 30
  1082. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  1083. SQL_車輛銷售管理_查詢庫存量()
  1084. da.Fill(ds3) : 庫存_dgv.DataSource = ds3.Tables(0) : conn.Close()
  1085. N3 = 0
  1086. For i As Integer = 0 To 庫存_dgv.Rows.Count - 1
  1087. N3 += 庫存_dgv.Rows(i).Cells("入庫數量").Value : N3 -= 庫存_dgv.Rows(i).Cells("出庫數量").Value
  1088. Next
  1089. If 車廠型態 = True Then
  1090. TextBox1.Text = N3
  1091. Else
  1092. 庫存量1.Text = N3
  1093. End If
  1094. End Sub
  1095. Private Sub 明細表_dgv_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 明細表_dgv.CellEnter
  1096. Dim NUM1, NUM2 As Integer
  1097. index = e.RowIndex
  1098. If e.RowIndex = -1 Then : Else
  1099. 流水號_tb.Text = 明細表_dgv(1, e.RowIndex).Value.ToString
  1100. 料號1_tb.Text = 明細表_dgv(10, e.RowIndex).Value.ToString
  1101. If 明細表_dgv(13, e.RowIndex).Value.ToString = "物料" Then
  1102. Set_清單4()
  1103. Else
  1104. TextBox1.Text = ""
  1105. End If
  1106. For i As Integer = 0 To 明細表_dgv.Rows.Count - 1
  1107. If 明細表_dgv.Rows(i).Cells("數量").Value.ToString <> "" And 明細表_dgv.Rows(i).Cells("售價").Value.ToString <> "" And 明細表_dgv.Rows(i).Cells("成本").Value.ToString <> "" Then
  1108. 明細表_dgv.Rows(i).Cells("總售價").Value = 明細表_dgv.Rows(i).Cells("數量").Value * 明細表_dgv.Rows(i).Cells("售價").Value
  1109. 明細表_dgv.Rows(i).Cells("總成本").Value = 明細表_dgv.Rows(i).Cells("數量").Value * 明細表_dgv.Rows(i).Cells("成本").Value
  1110. NUM1 += 明細表_dgv.Rows(i).Cells("總售價").Value
  1111. NUM2 += 明細表_dgv.Rows(i).Cells("總成本").Value
  1112. 明細表_dgv.Rows(i).Cells("利潤").Value = (明細表_dgv.Rows(i).Cells("數量").Value * 明細表_dgv.Rows(i).Cells("售價").Value) - (明細表_dgv.Rows(i).Cells("數量").Value * 明細表_dgv.Rows(i).Cells("成本").Value)
  1113. End If
  1114. Next
  1115. End If
  1116. 支出合計_tb.Text = Strings.Format(Val(NUM1), "#,##0")
  1117. 總成本_tb.Text = Strings.Format(Val(NUM2), "#,##0")
  1118. Dim d1, d2, d4 As Integer
  1119. Dim d3 As Double
  1120. Dim s1 As String = 進價_tb.Text
  1121. Dim s2 As String = 總成本_tb.Text
  1122. Dim s4 As String = 售價_tb.Text
  1123. s1 = s1.Replace(",", "")
  1124. s2 = s2.Replace(",", "")
  1125. s4 = s4.Replace(",", "")
  1126. d1 = Integer.Parse(s1)
  1127. d2 = Integer.Parse(s2)
  1128. d4 = Integer.Parse(s4)
  1129. d3 = 利潤率.Value
  1130. 總利潤_tb.Text = ((d1 + d2) * d3 / 100).ToString("#,##0")
  1131. If boo1 = True Then
  1132. 總利潤_tb.Text = (d4 - (d1 + d2)).ToString("#,##0")
  1133. Else
  1134. 售價_tb.Text = (d1 + d2 + ((d1 + d2) * d3 / 100)).ToString("#,##0")
  1135. End If
  1136. End Sub
  1137. Private Sub 明細表1_dgv_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 明細表1_dgv.CellEnter
  1138. Dim NUM1 As Integer = 0
  1139. Dim NUM2 As Integer = 0
  1140. index = e.RowIndex
  1141. If e.RowIndex = -1 Then : Else
  1142. 流水號_tb.Text = 明細表1_dgv(1, e.RowIndex).Value.ToString
  1143. 料號1_tb.Text = 明細表1_dgv(10, e.RowIndex).Value.ToString
  1144. If 明細表1_dgv(13, e.RowIndex).Value.ToString = "物料" Then
  1145. Set_清單4()
  1146. Else
  1147. 庫存量1.Text = ""
  1148. End If
  1149. For i As Integer = 0 To 明細表1_dgv.Rows.Count - 1
  1150. If 明細表1_dgv.Rows(i).Cells("數量").Value.ToString <> "" And 明細表1_dgv.Rows(i).Cells("售價").Value.ToString <> "" And 明細表1_dgv.Rows(i).Cells("成本").Value.ToString <> "" Then
  1151. 明細表1_dgv.Rows(i).Cells("總售價").Value = 明細表1_dgv.Rows(i).Cells("數量").Value * 明細表1_dgv.Rows(i).Cells("售價").Value
  1152. 明細表1_dgv.Rows(i).Cells("總成本").Value = 明細表1_dgv.Rows(i).Cells("數量").Value * 明細表1_dgv.Rows(i).Cells("成本").Value
  1153. 明細表1_dgv.Rows(i).Cells("利潤").Value = (明細表1_dgv.Rows(i).Cells("數量").Value * 明細表1_dgv.Rows(i).Cells("售價").Value) - (明細表1_dgv.Rows(i).Cells("數量").Value * 明細表1_dgv.Rows(i).Cells("成本").Value)
  1154. End If
  1155. If 明細表1_dgv.Rows(i).Cells("狀態").Value <> "承修項目" Then
  1156. NUM1 += 明細表1_dgv.Rows(i).Cells("總售價").Value
  1157. Else
  1158. NUM2 += 明細表1_dgv.Rows(i).Cells("總售價").Value
  1159. End If
  1160. Next
  1161. 零件_tb.Text = Strings.Format(Val(NUM1), "#,##0")
  1162. 工資_tb.Text = Strings.Format(Val(NUM2), "#,##0")
  1163. 總計_tb.Text = Strings.Format(Val(NUM1 + NUM2), "#,##0")
  1164. If 是否收稅_cb.Checked = True Then
  1165. 稅金_tb.Text = Strings.Format(Val((NUM1 + NUM2) * 0.05), "#,##0")
  1166. 應收合計_tb.Text = Strings.Format(Val(NUM1 + NUM2 + ((NUM1 + NUM2) * 0.05)), "#,##0")
  1167. 總計_tb.Text = Strings.Format(Val(NUM1 + NUM2 + ((NUM1 + NUM2) * 0.05)), "#,##0")
  1168. Else
  1169. 稅金_tb.Text = "0"
  1170. 應收合計_tb.Text = Strings.Format(Val(NUM1 + NUM2), "#,##0")
  1171. End If
  1172. End If
  1173. End Sub
  1174. Private Sub 物料_dgv_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 物料_dgv.CellClick
  1175. If e.RowIndex = -1 Then : Else
  1176. 料號_tb.Text = 物料_dgv(0, e.RowIndex).Value.ToString
  1177. 品名.Text = 物料_dgv(1, e.RowIndex).Value.ToString
  1178. 成本.Text = 物料_dgv(5, e.RowIndex).Value.ToString
  1179. 狀態_tb.Text = 物料_dgv(4, e.RowIndex).Value.ToString
  1180. End If
  1181. End Sub
  1182. Private Sub 流水號_tb_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 流水號_tb.TextChanged
  1183. ' 檢查流水號_tb 的值是否變化,如果是則清空料號_tb
  1184. If 流水號_tb.Text <> 上次的流水號 Then
  1185. 料號_tb.Text = ""
  1186. End If
  1187. ' 更新上次的流水號
  1188. 上次的流水號 = 流水號_tb.Text
  1189. End Sub
  1190. Private Sub 類別清單_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 選擇供應商_cb.SelectedIndexChanged
  1191. Set_清單2() : 料號_tb.Text = "" : 品名.Text = "" : 成本.Text = "" : 狀態_tb.Text = ""
  1192. End Sub
  1193. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 查詢1_bt.Click
  1194. boo = True : boo2 = False : 連動模組.SetCallingPage("車輛銷售管理") : 連動模組.ShowDialog() : 連動模組.BringToFront()
  1195. End Sub
  1196. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 查詢2_bt.Click
  1197. boo = False : boo2 = False : 連動模組.SetCallingPage("車輛銷售管理") : 連動模組.ShowDialog() : 連動模組.BringToFront()
  1198. End Sub
  1199. Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click
  1200. boo2 = True : boo = False : 連動模組.SetCallingPage("車輛銷售管理") : 連動模組.ShowDialog() : 連動模組.BringToFront()
  1201. End Sub
  1202. Private Sub 收支單中新增一筆資料_bt_Click(sender As Object, e As EventArgs) Handles 收支單中新增一筆資料_bt.Click
  1203. If 單號_tb.Text = "" Then
  1204. MsgBox("未選擇單號!!")
  1205. Else
  1206. If 料號_tb.Text = "" Or 品名.Text = "" Or 成本.Text = "" Or 狀態_tb.Text = "" Then
  1207. MsgBox("未選擇物料。")
  1208. Else
  1209. Set_流水號() : PA = 單號_tb.Text
  1210. SQL_車輛銷售管理_查詢最後一筆單號項次() : PA = ""
  1211. If dr.Read() Then : 新項次 = dr("項次") : Else : 新項次 = "00" : End If : conn.Close()
  1212. NUM1 = Double.Parse(新項次) + 1
  1213. If NUM1 < 10 Then : 新項次 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 99 Then : 新項次 = NUM1 : End If
  1214. PA15 = 新項次
  1215. SQL_車輛銷售管理_新增明細表1() : conn.Close()
  1216. Set_清單3()
  1217. MsgBox("明細表新增成功!!")
  1218. End If
  1219. End If
  1220. End Sub
  1221. Private Sub 收支單中新增一筆資料1_bt_Click(sender As Object, e As EventArgs) Handles 收支單中新增一筆資料1_bt.Click
  1222. For i As Integer = 0 To 明細表1_dgv.Rows.Count - 1
  1223. PA1 = 明細表1_dgv.Rows(i).Cells("各項支出名稱").Value.ToString : PA2 = 明細表1_dgv.Rows(i).Cells("數量").Value.ToString : PA3 = 明細表1_dgv.Rows(i).Cells("售價").Value
  1224. PA4 = 明細表1_dgv.Rows(i).Cells("備註").Value.ToString : PA5 = 明細表1_dgv.Rows(i).Cells("料號").Value.ToString : PA6 = 明細表1_dgv.Rows(i).Cells("項次").Value.ToString
  1225. PA10 = 明細表1_dgv.Rows(i).Cells("流水號").Value.ToString : PA8 = 明細表1_dgv.Rows(i).Cells("成本").Value.ToString : BL3 = 明細表1_dgv.Rows(i).Cells("已儲存").Value
  1226. PA7 = 明細表1_dgv.Rows(i).Cells("狀態").Value.ToString
  1227. SQL_車輛銷售管理_修改明細表() : conn.Close()
  1228. If PA7 = "物料" Then
  1229. If BL3 = 0 Then
  1230. Set_日期格式轉換()
  1231. Set_流水號1()
  1232. SQL_車輛銷售管理_新增倉儲明細表() : conn.Close()
  1233. Else
  1234. SQL_車輛銷售管理_修改倉儲明細表() : conn.Close()
  1235. End If
  1236. End If
  1237. Next
  1238. If 單號_tb.Text = "" Then
  1239. MsgBox("未選擇單號!!")
  1240. Else
  1241. If 料號_tb.Text = "" Or 品名.Text = "" Or 成本.Text = "" Then
  1242. MsgBox("未選擇物料。")
  1243. Else
  1244. Set_流水號() : PA = 單號_tb.Text
  1245. SQL_車輛銷售管理_查詢最後一筆單號項次() : PA = ""
  1246. If dr.Read() Then : 新項次 = dr("項次") : Else : 新項次 = "00" : End If : conn.Close()
  1247. NUM1 = Double.Parse(新項次) + 1
  1248. If NUM1 < 10 Then : 新項次 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 99 Then : 新項次 = NUM1 : End If
  1249. PA15 = 新項次
  1250. SQL_車輛銷售管理_新增明細表1() : conn.Close()
  1251. Set_清單3()
  1252. MsgBox("明細表新增成功!!")
  1253. End If
  1254. End If
  1255. End Sub
  1256. Public Sub ReceiveDataFromPageB(ByVal data As String, ByVal data1 As String, ByVal data2 As String, ByVal data3 As String)
  1257. ' 在這裡處理從頁面B接收到的數據,將其設定到頁面A的TextBox中
  1258. If boo2 = True Then
  1259. 車主名稱_tb.Text = data
  1260. 電話_tb.Text = data1
  1261. 地址_tb.Text = data2
  1262. 車號_tb.Text = data3
  1263. SQL_車輛銷售管理_人員明細(data, data3)
  1264. If dr.Read() Then
  1265. 車型_tb.Text = dr("廠牌")
  1266. 年_tb.Text = dr("年份型式")
  1267. 引擎號碼1_tb.Text = dr("引擎號碼")
  1268. 輪胎尺寸_tb.Text = dr("買入顏色")
  1269. End If
  1270. Else
  1271. If boo = True Then
  1272. 買入車主名稱_tb.Text = data
  1273. 買入車主電話_tb.Text = data1
  1274. 買入車主地址_tb.Text = data2
  1275. 買入牌照號碼_tb.Text = data3
  1276. Else
  1277. 賣出車主名稱_tb.Text = data
  1278. 賣出車主電話_tb.Text = data1
  1279. 賣出車主地址_tb.Text = data2
  1280. 買入牌照號碼_tb.Text = data3
  1281. End If
  1282. End If
  1283. End Sub
  1284. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  1285. If Panel7.Visible = True Then
  1286. Panel7.Visible = False
  1287. Else
  1288. Panel7.Visible = True
  1289. End If
  1290. End Sub
  1291. Private Sub 只顯示未付款_cb_CheckedChanged(sender As Object, e As EventArgs) Handles 只顯示未付款_cb.CheckedChanged
  1292. Set_清單1()
  1293. End Sub
  1294. Private Sub 顯示成本_cb_CheckedChanged(sender As Object, e As EventArgs) Handles 顯示成本_cb.CheckedChanged
  1295. Set_清單2()
  1296. End Sub
  1297. Private Sub 隱藏成本_cb_CheckedChanged(sender As Object, e As EventArgs) Handles 隱藏成本_cb.CheckedChanged
  1298. Set_清單3()
  1299. End Sub
  1300. Private Sub Button3_Click_1(sender As Object, e As EventArgs) Handles Button3.Click
  1301. SQL_車輛銷售管理_儲存列印資訊() : MsgBox("儲存成功!!")
  1302. End Sub
  1303. Private Sub 查詢_bt_MouseEnter(sender As Object, e As EventArgs) Handles 查詢_bt.MouseEnter
  1304. ToolTip1.SetToolTip(Me.查詢_bt, "查詢單號")
  1305. End Sub
  1306. Private Sub 查詢物_bt_MouseEnter(sender As Object, e As EventArgs) Handles 查詢物_bt.MouseEnter
  1307. ToolTip1.SetToolTip(Me.查詢物_bt, "查詢物料")
  1308. End Sub
  1309. Private Sub 新增_bt_MouseEnter(sender As Object, e As EventArgs) Handles 新增_bt.MouseEnter
  1310. ToolTip1.SetToolTip(Me.新增_bt, "新增準備")
  1311. End Sub
  1312. Private Sub 確認新增_bt_MouseEnter(sender As Object, e As EventArgs) Handles 確認新增_bt.MouseEnter
  1313. ToolTip1.SetToolTip(Me.確認新增_bt, "確認新增")
  1314. End Sub
  1315. Private Sub 修改_bt_MouseEnter(sender As Object, e As EventArgs) Handles 修改_bt.MouseEnter
  1316. ToolTip1.SetToolTip(Me.修改_bt, "修改存檔")
  1317. End Sub
  1318. Private Sub 刪除_bt_MouseEnter(sender As Object, e As EventArgs) Handles 刪除_bt.MouseEnter
  1319. ToolTip1.SetToolTip(Me.刪除_bt, "刪除")
  1320. End Sub
  1321. Private Sub 查詢1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 查詢1_bt.MouseEnter
  1322. ToolTip1.SetToolTip(Me.查詢1_bt, "查詢")
  1323. End Sub
  1324. Private Sub 匯出EXCEL_bt_MouseEnter(sender As Object, e As EventArgs) Handles 匯出EXCEL_bt.MouseEnter
  1325. ToolTip1.SetToolTip(Me.匯出EXCEL_bt, "匯出PDF")
  1326. End Sub
  1327. Private Sub 查詢2_bt_MouseEnter(sender As Object, e As EventArgs) Handles 查詢2_bt.MouseEnter
  1328. ToolTip1.SetToolTip(Me.查詢2_bt, "查詢")
  1329. End Sub
  1330. Private Sub 收支單中新增一筆資料_bt_MouseEnter(sender As Object, e As EventArgs) Handles 收支單中新增一筆資料_bt.MouseEnter
  1331. ToolTip1.SetToolTip(Me.收支單中新增一筆資料_bt, "收支單中新增帶有物料的資料")
  1332. End Sub
  1333. Private Sub 收支單中新增一筆空白資料_bt_MouseEnter(sender As Object, e As EventArgs) Handles 收支單中新增一筆空白資料_bt.MouseEnter
  1334. ToolTip1.SetToolTip(Me.收支單中新增一筆空白資料_bt, "收支單中新增空白的資料")
  1335. End Sub
  1336. Private Sub 刪除選中的一筆資料_bt_MouseEnter(sender As Object, e As EventArgs) Handles 刪除選中的一筆資料_bt.MouseEnter
  1337. ToolTip1.SetToolTip(Me.刪除選中的一筆資料_bt, "刪除選中的一筆資料")
  1338. End Sub
  1339. Private Sub 申請_bt_MouseEnter(sender As Object, e As EventArgs) Handles 申請_bt.MouseEnter
  1340. ToolTip1.SetToolTip(Me.申請_bt, "資料存檔")
  1341. End Sub
  1342. Private Sub 收支單中新增一筆資料1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 收支單中新增一筆資料1_bt.MouseEnter
  1343. ToolTip1.SetToolTip(Me.收支單中新增一筆資料1_bt, "收支單中新增帶有物料的資料")
  1344. End Sub
  1345. Private Sub 收支單中新增一筆空白資料1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 收支單中新增一筆空白資料1_bt.MouseEnter
  1346. ToolTip1.SetToolTip(Me.收支單中新增一筆空白資料1_bt, "收支單中新增空白的資料")
  1347. End Sub
  1348. Private Sub 刪除選中的一筆資料1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 刪除選中的一筆資料1_bt.MouseEnter
  1349. ToolTip1.SetToolTip(Me.刪除選中的一筆資料1_bt, "刪除選中的一筆資料")
  1350. End Sub
  1351. Private Sub 申請1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 申請1_bt.MouseEnter
  1352. ToolTip1.SetToolTip(Me.申請1_bt, "資料存檔")
  1353. End Sub
  1354. Private Sub Button3_MouseEnter(sender As Object, e As EventArgs) Handles Button3.MouseEnter
  1355. ToolTip1.SetToolTip(Me.Button3, "儲存列印資料")
  1356. End Sub
  1357. Private Sub Button1_MouseEnter(sender As Object, e As EventArgs) Handles Button1.MouseEnter
  1358. ToolTip1.SetToolTip(Me.Button1, "編輯列印資料")
  1359. End Sub
  1360. Private Sub 匯出EXCEL_bt_Click(sender As Object, e As EventArgs) Handles 匯出EXCEL_bt.Click
  1361. xlApp = CType(CreateObject("Excel.Application"), Microsoft.Office.Interop.Excel.Application)
  1362. xlApp.Visible = True
  1363. xlApp.DisplayAlerts = True
  1364. xlApp.Application.WindowState = xlMaximized
  1365. xlBook = xlApp.Workbooks.Add
  1366. xlSheet = NewMethod(xlBook)
  1367. xlBook.Activate()
  1368. xlSheet.Activate()
  1369. If 車廠型態 = True Then
  1370. xlSheet.Cells(1, 1) = 公司名稱.Text
  1371. xlSheet.Cells(2, 1) = "單號 " : xlSheet.Cells(2, 2) = 單號_tb.Text
  1372. xlSheet.Cells(2, 4) = "廠牌 " : xlSheet.Cells(2, 5) = 廠牌_tb.Text : xlSheet.Cells(3, 1) = "年份型式"
  1373. xlSheet.Cells(3, 2) = 年分_tb.Text : xlSheet.Cells(3, 4) = "引擎號碼" : xlSheet.Cells(3, 5) = 引擎_tb.Text
  1374. Dim currentDate As String = 買入日期_dtp.Text
  1375. If currentDate.Contains("年") And currentDate.Contains("月") And currentDate.Contains("日") Then
  1376. End If
  1377. xlSheet.Cells(4, 1) = "買入日期 " : xlSheet.Cells(4, 2) = currentDate : xlSheet.Cells(4, 3) = "牌照號碼"
  1378. xlSheet.Cells(4, 4) = 買入牌照號碼_tb.Text : xlSheet.Cells(4, 5) = "顏色" : xlSheet.Cells(4, 6) = 買入顏色_tb.Text
  1379. xlSheet.Cells(5, 1) = "車主名稱 " : xlSheet.Cells(5, 2) = 買入車主名稱_tb.Text
  1380. Dim phoneNumber1 As String = 買入車主電話_tb.Text
  1381. xlSheet.Cells(5, 4) = "電話 " : xlSheet.Cells(5, 5) = "'" & phoneNumber1
  1382. xlSheet.Cells(6, 1) = "地址 " : xlSheet.Cells(6, 2) = 買入車主地址_tb.Text
  1383. xlSheet.Cells(7, 1) = "進價 " : xlSheet.Cells(7, 2) = 進價_tb.Text
  1384. xlSheet.Cells(7, 4) = "經手人 " : xlSheet.Cells(7, 5) = 買入經手人_tb.Text
  1385. xlSheet.Cells(8, 1) = "各項支出名稱 " : xlSheet.Cells(8, 3) = "數量 "
  1386. xlSheet.Cells(8, 4) = "金額 " : xlSheet.Cells(8, 5) = "備註 "
  1387. For i As Integer = 0 To 明細表_dgv.Rows.Count - 1
  1388. xlSheet.Cells(i + 9, 1) = 明細表_dgv.Rows(i).Cells("各項支出名稱").Value : xlSheet.Cells(i + 9, 3) = 明細表_dgv.Rows(i).Cells("數量").Value
  1389. Dim value As Double = Convert.ToDouble(明細表_dgv.Rows(i).Cells("總售價").Value)
  1390. Dim formattedValue As String = value.ToString("#,##0")
  1391. xlSheet.Cells(i + 9, 4) = formattedValue : xlSheet.Cells(i + 9, 5) = 明細表_dgv.Rows(i).Cells("備註").Value
  1392. N2 = 10 + i
  1393. Next i
  1394. xlSheet.Cells(N2 + 1, 1) = "物料總支出 " : xlSheet.Cells(N2 + 1, 2) = 支出合計_tb.Text
  1395. xlSheet.Cells(N2 + 1, 4) = "物料總成本 " : xlSheet.Cells(N2 + 1, 5) = 總成本_tb.Text
  1396. xlSheet.Cells(N2 + 2, 1) = "賣出日期 " : xlSheet.Cells(N2 + 2, 2) = 賣出日期_dtp.Text : xlSheet.Cells(N2 + 2, 3) = "牌照號碼"
  1397. xlSheet.Cells(N2 + 2, 4) = 賣出牌照號碼_tb.Text : xlSheet.Cells(N2 + 2, 5) = "顏色" : xlSheet.Cells(N2 + 2, 6) = 賣出顏色_tb.Text
  1398. xlSheet.Cells(N2 + 3, 1) = "車主名稱 " : xlSheet.Cells(N2 + 3, 2) = 賣出車主名稱_tb.Text
  1399. Dim phoneNumber2 As String = 賣出車主電話_tb.Text
  1400. xlSheet.Cells(N2 + 3, 4) = "電話 " : xlSheet.Cells(N2 + 3, 5) = "'" & phoneNumber2
  1401. xlSheet.Cells(N2 + 4, 1) = "地址 " : xlSheet.Cells(N2 + 4, 2) = 賣出車主地址_tb.Text
  1402. xlSheet.Cells(N2 + 5, 1) = "售價 " : xlSheet.Cells(N2 + 5, 2) = 售價_tb.Text
  1403. xlSheet.Cells(N2 + 5, 4) = "經手人 " : xlSheet.Cells(N2 + 5, 5) = 賣出經手人_tb.Text
  1404. xlSheet.Cells(N2 + 6, 1) = "備註 " : xlSheet.Cells(N2 + 6, 2) = 備註_tb.Text
  1405. xlSheet.Cells(N2 + 7, 1) = "檢測日期 " : xlSheet.Cells(N2 + 7, 2) = 檢測日期_dtp.Text
  1406. BB(xlApp, xlSheet) '未改
  1407. Else
  1408. xlSheet.Cells(1, 1) = 公司名稱.Text
  1409. xlSheet.Cells(2, 1) = "結 帳 單"
  1410. xlSheet.Cells(3, 1) = "出險公司: " & 出險公司_tb.Text
  1411. xlSheet.Cells(3, 5) = "派修單號: " & 單號_tb.Text
  1412. xlSheet.Cells(4, 1) = "車主: " & 車主名稱_tb.Text : xlSheet.Cells(4, 3) = "車號: " & 車號_tb.Text
  1413. xlSheet.Cells(4, 5) = "應驗車日: " & 應驗車日_dtp.Text
  1414. xlSheet.Cells(4, 7) = "入廠日期: " & 入廠日期_dtp.Text
  1415. xlSheet.Cells(5, 1) = "地址: " & 地址_tb.Text
  1416. xlSheet.Cells(5, 5) = "車型: " & 車型_tb.Text
  1417. xlSheet.Cells(5, 7) = "前期未付: 0"
  1418. xlSheet.Cells(6, 1) = "電話: " & 電話_tb.Text
  1419. xlSheet.Cells(6, 3) = "進廠里程: " & 里程_tb.Text & "KM"
  1420. xlSheet.Cells(6, 5) = "保養預示: " & 保養預示_tb.Text & "KM"
  1421. xlSheet.Cells(6, 7) = "油表 : E \ | | / F"
  1422. xlSheet.Cells(7, 1) = "承修項目" : xlSheet.Cells(7, 3) = "工資"
  1423. xlSheet.Cells(7, 4) = "零件名稱" : xlSheet.Cells(7, 6) = "數量"
  1424. xlSheet.Cells(7, 7) = "單價" : xlSheet.Cells(7, 8) = "總價"
  1425. Dim a As Integer = 0
  1426. Dim b As Integer = 0
  1427. For i As Integer = 0 To 明細表1_dgv.Rows.Count - 1
  1428. If 明細表1_dgv.Rows(i).Cells("狀態").Value.ToString = "承修項目" Then
  1429. xlSheet.Cells(a + 8, 1) = 明細表1_dgv.Rows(i).Cells("各項支出名稱").Value
  1430. Dim value1 As Double = Convert.ToDouble(明細表1_dgv.Rows(i).Cells("總售價").Value)
  1431. Dim formattedValue1 As String = value1.ToString("#,##0")
  1432. xlSheet.Cells(a + 8, 3) = formattedValue1
  1433. a += 1
  1434. Else
  1435. xlSheet.Cells(b + 8, 4) = 明細表1_dgv.Rows(i).Cells("各項支出名稱").Value
  1436. xlSheet.Cells(b + 8, 9) = 明細表1_dgv.Rows(i).Cells("各項支出名稱").Value
  1437. Dim value1 As Double = Convert.ToDouble(明細表1_dgv.Rows(i).Cells("數量").Value)
  1438. Dim formattedValue1 As String = value1.ToString("F2")
  1439. xlSheet.Cells(b + 8, 6) = "'" & formattedValue1
  1440. Dim value2 As Double = Convert.ToDouble(明細表1_dgv.Rows(i).Cells("售價").Value)
  1441. Dim formattedValue2 As String = value2.ToString("#,##0")
  1442. xlSheet.Cells(b + 8, 7) = formattedValue2
  1443. Dim value3 As Double = Convert.ToDouble(明細表1_dgv.Rows(i).Cells("總售價").Value)
  1444. Dim formattedValue3 As String = value3.ToString("#,##0")
  1445. xlSheet.Cells(b + 8, 8) = formattedValue3
  1446. b += 1
  1447. End If
  1448. N2 = i + 8
  1449. Next i
  1450. xlSheet.Cells(N2 + 1, 1) = "工資 " : xlSheet.Cells(N2 + 1, 2) = 工資_tb.Text
  1451. xlSheet.Cells(N2 + 1, 3) = "零件 " : xlSheet.Cells(N2 + 1, 4) = 零件_tb.Text
  1452. xlSheet.Cells(N2 + 1, 5) = "總計 " : xlSheet.Cells(N2 + 1, 6) = 總計_tb.Text
  1453. xlSheet.Cells(N2 + 2, 1) = "稅金5% " : xlSheet.Cells(N2 + 2, 2) = 稅金_tb.Text : xlSheet.Cells(N2 + 2, 3) = "信用卡"
  1454. xlSheet.Cells(N2 + 2, 4) = 信用卡_tb.Text : xlSheet.Cells(N2 + 2, 5) = "客戶簽名"
  1455. xlSheet.Cells(N2 + 3, 1) = "應收合計 " : xlSheet.Cells(N2 + 3, 2) = 應收合計_tb.Text
  1456. xlSheet.Cells(N2 + 3, 3) = "賒帳 " : xlSheet.Cells(N2 + 3, 4) = 賒帳_tb.Text
  1457. xlSheet.Cells(N2 + 4, 1) = "支票 " : xlSheet.Cells(N2 + 4, 2) = 支票_tb.Text
  1458. xlSheet.Cells(N2 + 4, 3) = "現金 " : xlSheet.Cells(N2 + 4, 4) = 現金_tb.Text
  1459. xlSheet.Cells(N2 + 5, 1) = 註解1_tb.Text : xlSheet.Cells(N2 + 5, 6) = 註解2_tb.Text
  1460. xlSheet.Cells(N2 + 6, 1) = 註解3_tb.Text
  1461. BB1(xlApp, xlSheet)
  1462. End If
  1463. xlApp.Sheets(2).Delete : xlSheet.PageSetup.PrintArea = ""
  1464. '----轉成PDF-----
  1465. Dim pdfFolderPath As String = Path.Combine(System.Windows.Forms.Application.StartupPath, "pdf")
  1466. If Not Directory.Exists(pdfFolderPath) Then
  1467. Directory.CreateDirectory(pdfFolderPath)
  1468. End If
  1469. Dim pdfFilePath As String = Path.Combine(pdfFolderPath, 單號_tb.Text & "-結帳單.pdf")
  1470. xlBook.Sheets(1).ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, pdfFilePath, XlFixedFormatQuality.xlQualityStandard, True)
  1471. '--------
  1472. xlApp.Cells.Select() : xlApp.Application.WindowState = xlMinimized : xlBook.Close(False)
  1473. Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet)
  1474. Runtime.InteropServices.Marshal.ReleaseComObject(xlBook)
  1475. Runtime.InteropServices.Marshal.ReleaseComObject(xlApp)
  1476. xlApp.Quit() : xlSheet = Nothing : xlBook = Nothing : xlApp = Nothing : GC.Collect()
  1477. Try
  1478. Dim chromePath As String = "C:\Program Files\Google\Chrome\Application\chrome.exe"
  1479. If System.IO.File.Exists(chromePath) Then
  1480. Dim process As New Process()
  1481. process.StartInfo.FileName = "chrome"
  1482. process.StartInfo.Arguments = """" & pdfFilePath & """"
  1483. process.Start()
  1484. Else : Dim edgePath As String = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
  1485. If System.IO.File.Exists(edgePath) Then
  1486. Dim process As New Process()
  1487. process.StartInfo.FileName = "msedge"
  1488. process.StartInfo.Arguments = """" & pdfFilePath & """"
  1489. process.Start()
  1490. Else
  1491. Process.Start(pdfFilePath)
  1492. End If
  1493. End If
  1494. Catch ex As Exception
  1495. MsgBox("以存檔至桌面 。" & vbCrLf & "檔案名稱:" & 單號_tb.Text & "-結帳單.pdf")
  1496. End Try
  1497. End Sub
  1498. Private Sub BB(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Microsoft.Office.Interop.Excel.Worksheet)
  1499. xlSheet.Cells.Select()
  1500. With myExcel.Selection.Font
  1501. .Name = "微軟正黑體"
  1502. .Size = 12
  1503. .Strikethrough = False
  1504. .Superscript = False
  1505. .Subscript = False
  1506. .OutlineFont = False
  1507. .Shadow = False
  1508. .Underline = xlUnderlineStyleNone
  1509. .ThemeColor = xlThemeColorLight1
  1510. .TintAndShade = 0
  1511. .ThemeFont = xlThemeFontNone
  1512. End With
  1513. With myExcel.Selection
  1514. .HorizontalAlignment = xlCenter
  1515. .VerticalAlignment = xlCenter
  1516. .WrapText = False
  1517. .Orientation = 0
  1518. .AddIndent = False
  1519. .IndentLevel = 0
  1520. .ShrinkToFit = False
  1521. .ReadingOrder = xlContext
  1522. .MergeCells = False
  1523. End With
  1524. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone
  1525. myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  1526. With myExcel.Selection.Borders(xlEdgeLeft)
  1527. .LineStyle = xlContinuous
  1528. .ColorIndex = 0
  1529. .TintAndShade = 0
  1530. .Weight = xlThin
  1531. End With
  1532. With myExcel.Selection.Borders(xlEdgeTop)
  1533. .LineStyle = xlContinuous
  1534. .ColorIndex = 0
  1535. .TintAndShade = 0
  1536. .Weight = xlThin
  1537. End With
  1538. With myExcel.Selection.Borders(xlEdgeBottom)
  1539. .LineStyle = xlContinuous
  1540. .ColorIndex = 0
  1541. .TintAndShade = 0
  1542. .Weight = xlThin
  1543. End With
  1544. With myExcel.Selection.Borders(xlEdgeRight)
  1545. .LineStyle = xlContinuous
  1546. .ColorIndex = 0
  1547. .TintAndShade = 0
  1548. .Weight = xlThin
  1549. End With
  1550. With myExcel.Selection.Borders(xlInsideVertical)
  1551. .LineStyle = xlContinuous
  1552. .ColorIndex = 0
  1553. .TintAndShade = 0
  1554. .Weight = xlThin
  1555. End With
  1556. With myExcel.Selection.Borders(xlInsideHorizontal)
  1557. .LineStyle = xlContinuous
  1558. .ColorIndex = 0
  1559. .TintAndShade = 0
  1560. .Weight = xlThin
  1561. End With
  1562. xlSheet.Range("A1:F1").Select()
  1563. With myExcel.Selection.Font
  1564. .Name = "微軟正黑體"
  1565. .Size = 20
  1566. .Strikethrough = False
  1567. .Superscript = False
  1568. .Subscript = False
  1569. .OutlineFont = False
  1570. .Shadow = False
  1571. .Underline = xlUnderlineStyleNone
  1572. .ThemeColor = xlThemeColorLight1
  1573. .TintAndShade = 0
  1574. .ThemeFont = xlThemeFontNone
  1575. End With
  1576. xlSheet.Columns("A:A").ColumnWidth = 15.5
  1577. xlSheet.Columns("B:B").ColumnWidth = 15.5
  1578. xlSheet.Columns("C:C").ColumnWidth = 15.5
  1579. xlSheet.Columns("D:D").ColumnWidth = 15.5
  1580. xlSheet.Columns("E:E").ColumnWidth = 15.5
  1581. xlSheet.Columns("F:F").ColumnWidth = 15.5
  1582. xlSheet.Range("A1:F1").Select()
  1583. With myExcel.Selection
  1584. .HorizontalAlignment = xlCenter
  1585. .VerticalAlignment = xlCenter
  1586. .WrapText = False
  1587. .Orientation = 0
  1588. .AddIndent = False
  1589. .IndentLevel = 0
  1590. .ShrinkToFit = False
  1591. .ReadingOrder = xlContext
  1592. .MergeCells = False
  1593. End With
  1594. myExcel.Selection.Merge
  1595. xlSheet.Range("B2:C2").Select()
  1596. With myExcel.Selection
  1597. .HorizontalAlignment = xlCenter
  1598. .VerticalAlignment = xlCenter
  1599. .WrapText = False
  1600. .Orientation = 0
  1601. .AddIndent = False
  1602. .IndentLevel = 0
  1603. .ShrinkToFit = False
  1604. .ReadingOrder = xlContext
  1605. .MergeCells = False
  1606. End With
  1607. myExcel.Selection.Merge
  1608. xlSheet.Range("E2:F2").Select()
  1609. With myExcel.Selection
  1610. .HorizontalAlignment = xlCenter
  1611. .VerticalAlignment = xlCenter
  1612. .WrapText = False
  1613. .Orientation = 0
  1614. .AddIndent = False
  1615. .IndentLevel = 0
  1616. .ShrinkToFit = False
  1617. .ReadingOrder = xlContext
  1618. .MergeCells = False
  1619. End With
  1620. myExcel.Selection.Merge
  1621. xlSheet.Range("B3:C3").Select()
  1622. With myExcel.Selection
  1623. .HorizontalAlignment = xlCenter
  1624. .VerticalAlignment = xlCenter
  1625. .WrapText = False
  1626. .Orientation = 0
  1627. .AddIndent = False
  1628. .IndentLevel = 0
  1629. .ShrinkToFit = False
  1630. .ReadingOrder = xlContext
  1631. .MergeCells = False
  1632. End With
  1633. myExcel.Selection.Merge
  1634. xlSheet.Range("E3:F3").Select()
  1635. With myExcel.Selection
  1636. .HorizontalAlignment = xlCenter
  1637. .VerticalAlignment = xlCenter
  1638. .WrapText = False
  1639. .Orientation = 0
  1640. .AddIndent = False
  1641. .IndentLevel = 0
  1642. .ShrinkToFit = False
  1643. .ReadingOrder = xlContext
  1644. .MergeCells = False
  1645. End With
  1646. myExcel.Selection.Merge
  1647. xlSheet.Range("B5:C5").Select()
  1648. With myExcel.Selection
  1649. .HorizontalAlignment = xlCenter
  1650. .VerticalAlignment = xlCenter
  1651. .WrapText = False
  1652. .Orientation = 0
  1653. .AddIndent = False
  1654. .IndentLevel = 0
  1655. .ShrinkToFit = False
  1656. .ReadingOrder = xlContext
  1657. .MergeCells = False
  1658. End With
  1659. myExcel.Selection.Merge
  1660. xlSheet.Range("E5:F5").Select()
  1661. With myExcel.Selection
  1662. .HorizontalAlignment = xlCenter
  1663. .VerticalAlignment = xlCenter
  1664. .WrapText = False
  1665. .Orientation = 0
  1666. .AddIndent = False
  1667. .IndentLevel = 0
  1668. .ShrinkToFit = False
  1669. .ReadingOrder = xlContext
  1670. .MergeCells = False
  1671. End With
  1672. myExcel.Selection.Merge
  1673. xlSheet.Range("B6:F6").Select()
  1674. With myExcel.Selection
  1675. .HorizontalAlignment = xlCenter
  1676. .VerticalAlignment = xlCenter
  1677. .WrapText = False
  1678. .Orientation = 0
  1679. .AddIndent = False
  1680. .IndentLevel = 0
  1681. .ShrinkToFit = False
  1682. .ReadingOrder = xlContext
  1683. .MergeCells = False
  1684. End With
  1685. myExcel.Selection.Merge
  1686. xlSheet.Range("B7:C7").Select()
  1687. With myExcel.Selection
  1688. .HorizontalAlignment = xlCenter
  1689. .VerticalAlignment = xlCenter
  1690. .WrapText = False
  1691. .Orientation = 0
  1692. .AddIndent = False
  1693. .IndentLevel = 0
  1694. .ShrinkToFit = False
  1695. .ReadingOrder = xlContext
  1696. .MergeCells = False
  1697. End With
  1698. myExcel.Selection.Merge
  1699. xlSheet.Range("E7:F7").Select()
  1700. With myExcel.Selection
  1701. .HorizontalAlignment = xlCenter
  1702. .VerticalAlignment = xlCenter
  1703. .WrapText = False
  1704. .Orientation = 0
  1705. .AddIndent = False
  1706. .IndentLevel = 0
  1707. .ShrinkToFit = False
  1708. .ReadingOrder = xlContext
  1709. .MergeCells = False
  1710. End With
  1711. myExcel.Selection.Merge
  1712. xlSheet.Range("A8:B8").Select()
  1713. With myExcel.Selection
  1714. .HorizontalAlignment = xlCenter
  1715. .VerticalAlignment = xlCenter
  1716. .WrapText = False
  1717. .Orientation = 0
  1718. .AddIndent = False
  1719. .IndentLevel = 0
  1720. .ShrinkToFit = False
  1721. .ReadingOrder = xlContext
  1722. .MergeCells = False
  1723. End With
  1724. myExcel.Selection.Merge
  1725. xlSheet.Range("E8:F8").Select()
  1726. With myExcel.Selection
  1727. .HorizontalAlignment = xlCenter
  1728. .VerticalAlignment = xlCenter
  1729. .WrapText = False
  1730. .Orientation = 0
  1731. .AddIndent = False
  1732. .IndentLevel = 0
  1733. .ShrinkToFit = False
  1734. .ReadingOrder = xlContext
  1735. .MergeCells = False
  1736. End With
  1737. myExcel.Selection.Merge
  1738. For i As Integer = 9 To N2 - 1
  1739. xlSheet.Range("A" & i & ":B" & i).Select()
  1740. With myExcel.Selection
  1741. .HorizontalAlignment = xlCenter
  1742. .VerticalAlignment = xlCenter
  1743. .WrapText = False
  1744. .Orientation = 0
  1745. .AddIndent = False
  1746. .IndentLevel = 0
  1747. .ShrinkToFit = False
  1748. .ReadingOrder = xlContext
  1749. .MergeCells = False
  1750. End With
  1751. myExcel.Selection.Merge
  1752. xlSheet.Range("E" & i & ":F" & i).Select()
  1753. With myExcel.Selection
  1754. .HorizontalAlignment = xlCenter
  1755. .VerticalAlignment = xlCenter
  1756. .WrapText = False
  1757. .Orientation = 0
  1758. .AddIndent = False
  1759. .IndentLevel = 0
  1760. .ShrinkToFit = False
  1761. .ReadingOrder = xlContext
  1762. .MergeCells = False
  1763. End With
  1764. myExcel.Selection.Merge
  1765. Next i
  1766. xlSheet.Range("A" & N2 & ":F" & N2).Select()
  1767. With myExcel.Selection
  1768. .HorizontalAlignment = xlCenter
  1769. .VerticalAlignment = xlCenter
  1770. .WrapText = False
  1771. .Orientation = 0
  1772. .AddIndent = False
  1773. .IndentLevel = 0
  1774. .ShrinkToFit = False
  1775. .ReadingOrder = xlContext
  1776. .MergeCells = False
  1777. End With
  1778. myExcel.Selection.Merge
  1779. xlSheet.Range("B" & N2 + 1 & ":C" & N2 + 1).Select()
  1780. With myExcel.Selection
  1781. .HorizontalAlignment = xlCenter
  1782. .VerticalAlignment = xlCenter
  1783. .WrapText = False
  1784. .Orientation = 0
  1785. .AddIndent = False
  1786. .IndentLevel = 0
  1787. .ShrinkToFit = False
  1788. .ReadingOrder = xlContext
  1789. .MergeCells = False
  1790. End With
  1791. myExcel.Selection.Merge
  1792. xlSheet.Range("E" & N2 + 1 & ":F" & N2 + 1).Select()
  1793. With myExcel.Selection
  1794. .HorizontalAlignment = xlCenter
  1795. .VerticalAlignment = xlCenter
  1796. .WrapText = False
  1797. .Orientation = 0
  1798. .AddIndent = False
  1799. .IndentLevel = 0
  1800. .ShrinkToFit = False
  1801. .ReadingOrder = xlContext
  1802. .MergeCells = False
  1803. End With
  1804. myExcel.Selection.Merge
  1805. xlSheet.Range("B" & N2 + 3 & ":C" & N2 + 3).Select()
  1806. With myExcel.Selection
  1807. .HorizontalAlignment = xlCenter
  1808. .VerticalAlignment = xlCenter
  1809. .WrapText = False
  1810. .Orientation = 0
  1811. .AddIndent = False
  1812. .IndentLevel = 0
  1813. .ShrinkToFit = False
  1814. .ReadingOrder = xlContext
  1815. .MergeCells = False
  1816. End With
  1817. myExcel.Selection.Merge
  1818. xlSheet.Range("E" & N2 + 3 & ":F" & N2 + 3).Select()
  1819. With myExcel.Selection
  1820. .HorizontalAlignment = xlCenter
  1821. .VerticalAlignment = xlCenter
  1822. .WrapText = False
  1823. .Orientation = 0
  1824. .AddIndent = False
  1825. .IndentLevel = 0
  1826. .ShrinkToFit = False
  1827. .ReadingOrder = xlContext
  1828. .MergeCells = False
  1829. End With
  1830. myExcel.Selection.Merge
  1831. xlSheet.Range("B" & N2 + 4 & ":F" & N2 + 4).Select()
  1832. With myExcel.Selection
  1833. .HorizontalAlignment = xlCenter
  1834. .VerticalAlignment = xlCenter
  1835. .WrapText = False
  1836. .Orientation = 0
  1837. .AddIndent = False
  1838. .IndentLevel = 0
  1839. .ShrinkToFit = False
  1840. .ReadingOrder = xlContext
  1841. .MergeCells = False
  1842. End With
  1843. myExcel.Selection.Merge
  1844. xlSheet.Range("B" & N2 + 5 & ":C" & N2 + 5).Select()
  1845. With myExcel.Selection
  1846. .HorizontalAlignment = xlCenter
  1847. .VerticalAlignment = xlCenter
  1848. .WrapText = False
  1849. .Orientation = 0
  1850. .AddIndent = False
  1851. .IndentLevel = 0
  1852. .ShrinkToFit = False
  1853. .ReadingOrder = xlContext
  1854. .MergeCells = False
  1855. End With
  1856. myExcel.Selection.Merge
  1857. xlSheet.Range("E" & N2 + 5 & ":F" & N2 + 5).Select()
  1858. With myExcel.Selection
  1859. .HorizontalAlignment = xlCenter
  1860. .VerticalAlignment = xlCenter
  1861. .WrapText = False
  1862. .Orientation = 0
  1863. .AddIndent = False
  1864. .IndentLevel = 0
  1865. .ShrinkToFit = False
  1866. .ReadingOrder = xlContext
  1867. .MergeCells = False
  1868. End With
  1869. myExcel.Selection.Merge
  1870. xlSheet.Range("B" & N2 + 6 & ":F" & N2 + 6).Select()
  1871. With myExcel.Selection
  1872. .HorizontalAlignment = xlCenter
  1873. .VerticalAlignment = xlCenter
  1874. .WrapText = True
  1875. .Orientation = 0
  1876. .AddIndent = False
  1877. .IndentLevel = 0
  1878. .ShrinkToFit = False
  1879. .ReadingOrder = xlContext
  1880. .MergeCells = False
  1881. End With
  1882. myExcel.Selection.Merge
  1883. xlSheet.Range("B" & N2 + 7 & ":F" & N2 + 7).Select()
  1884. With myExcel.Selection
  1885. .HorizontalAlignment = xlCenter
  1886. .VerticalAlignment = xlCenter
  1887. .WrapText = False
  1888. .Orientation = 0
  1889. .AddIndent = False
  1890. .IndentLevel = 0
  1891. .ShrinkToFit = False
  1892. .ReadingOrder = xlContext
  1893. .MergeCells = False
  1894. End With
  1895. myExcel.Selection.Merge
  1896. For i = 1 To N2 + 6
  1897. xlSheet.Rows(i).RowHeight = xlSheet.Rows(i).RowHeight + 5
  1898. Next i
  1899. xlSheet.Rows(N2 + 6).RowHeight = xlSheet.Rows(N2 + 6).RowHeight + 20
  1900. xlSheet.Rows(N2 + 7).RowHeight = xlSheet.Rows(N2 + 7).RowHeight + 5
  1901. myExcel.Application.PrintCommunication = False
  1902. With myExcel.ActiveSheet.PageSetup
  1903. .PrintTitleRows = ""
  1904. .PrintTitleColumns = ""
  1905. End With
  1906. myExcel.Application.PrintCommunication = True
  1907. myExcel.ActiveSheet.PageSetup.PrintArea = ""
  1908. myExcel.Application.PrintCommunication = False
  1909. With myExcel.ActiveSheet.PageSetup
  1910. .LeftHeader = ""
  1911. .CenterHeader = ""
  1912. .RightHeader = ""
  1913. .LeftFooter = ""
  1914. .CenterFooter = ""
  1915. .RightFooter = ""
  1916. .LeftMargin = myExcel.Application.InchesToPoints(0.25)
  1917. .RightMargin = myExcel.Application.InchesToPoints(0.25)
  1918. .TopMargin = myExcel.Application.InchesToPoints(0.75)
  1919. .BottomMargin = myExcel.Application.InchesToPoints(0.75)
  1920. .HeaderMargin = myExcel.Application.InchesToPoints(0.3)
  1921. .FooterMargin = myExcel.Application.InchesToPoints(0.3)
  1922. .PrintHeadings = False
  1923. .PrintGridlines = False
  1924. .CenterHorizontally = False
  1925. .CenterVertically = False
  1926. .Draft = False
  1927. .FirstPageNumber = xlAutomatic
  1928. .BlackAndWhite = False
  1929. .Zoom = False
  1930. .FitToPagesWide = 1
  1931. .FitToPagesTall = False
  1932. .OddAndEvenPagesHeaderFooter = False
  1933. .DifferentFirstPageHeaderFooter = False
  1934. .ScaleWithDocHeaderFooter = True
  1935. .AlignMarginsHeaderFooter = True
  1936. .EvenPage.LeftHeader.Text = ""
  1937. .EvenPage.CenterHeader.Text = ""
  1938. .EvenPage.RightHeader.Text = ""
  1939. .EvenPage.LeftFooter.Text = ""
  1940. .EvenPage.CenterFooter.Text = ""
  1941. .EvenPage.RightFooter.Text = ""
  1942. .FirstPage.LeftHeader.Text = ""
  1943. .FirstPage.CenterHeader.Text = ""
  1944. .FirstPage.RightHeader.Text = ""
  1945. .FirstPage.LeftFooter.Text = ""
  1946. .FirstPage.CenterFooter.Text = ""
  1947. .FirstPage.RightFooter.Text = ""
  1948. End With
  1949. myExcel.Application.PrintCommunication = True
  1950. End Sub
  1951. Private Sub BB1(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Microsoft.Office.Interop.Excel.Worksheet)
  1952. xlSheet.Cells.Select()
  1953. With myExcel.Selection.Font
  1954. .Name = "微軟正黑體"
  1955. .Size = 11
  1956. .Strikethrough = False
  1957. .Superscript = False
  1958. .Subscript = False
  1959. .OutlineFont = False
  1960. .Shadow = False
  1961. .Underline = xlUnderlineStyleNone
  1962. .ThemeColor = xlThemeColorLight1
  1963. .TintAndShade = 0
  1964. .ThemeFont = xlThemeFontNone
  1965. End With
  1966. xlSheet.Range("A4:H" & N2 + 6).Select()
  1967. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone
  1968. myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  1969. With myExcel.Selection.Borders(xlEdgeLeft)
  1970. .LineStyle = xlContinuous
  1971. .ColorIndex = 0
  1972. .TintAndShade = 0
  1973. .Weight = xlThin
  1974. End With
  1975. With myExcel.Selection.Borders(xlEdgeTop)
  1976. .LineStyle = xlContinuous
  1977. .ColorIndex = 0
  1978. .TintAndShade = 0
  1979. .Weight = xlThin
  1980. End With
  1981. With myExcel.Selection.Borders(xlEdgeBottom)
  1982. .LineStyle = xlContinuous
  1983. .ColorIndex = 0
  1984. .TintAndShade = 0
  1985. .Weight = xlThin
  1986. End With
  1987. With myExcel.Selection.Borders(xlEdgeRight)
  1988. .LineStyle = xlContinuous
  1989. .ColorIndex = 0
  1990. .TintAndShade = 0
  1991. .Weight = xlThin
  1992. End With
  1993. With myExcel.Selection.Borders(xlInsideVertical)
  1994. .LineStyle = xlContinuous
  1995. .ColorIndex = 0
  1996. .TintAndShade = 0
  1997. .Weight = xlThin
  1998. End With
  1999. With myExcel.Selection.Borders(xlInsideHorizontal)
  2000. .LineStyle = xlContinuous
  2001. .ColorIndex = 0
  2002. .TintAndShade = 0
  2003. .Weight = xlThin
  2004. End With
  2005. xlSheet.Range("A1:H1").Select()
  2006. With myExcel.Selection.Font
  2007. .Name = "微軟正黑體"
  2008. .Size = 16
  2009. .Strikethrough = False
  2010. .Superscript = False
  2011. .Subscript = False
  2012. .OutlineFont = False
  2013. .Shadow = False
  2014. .Underline = xlUnderlineStyleNone
  2015. .ThemeColor = xlThemeColorLight1
  2016. .TintAndShade = 0
  2017. .ThemeFont = xlThemeFontNone
  2018. End With
  2019. xlSheet.Range("A2:H2").Select()
  2020. With myExcel.Selection.Font
  2021. .Name = "微軟正黑體"
  2022. .Size = 20
  2023. .Strikethrough = False
  2024. .Superscript = False
  2025. .Subscript = False
  2026. .OutlineFont = False
  2027. .Shadow = False
  2028. .Underline = xlUnderlineStyleNone
  2029. .ThemeColor = xlThemeColorLight1
  2030. .TintAndShade = 0
  2031. .ThemeFont = xlThemeFontNone
  2032. End With
  2033. xlSheet.Columns("A:A").ColumnWidth = 14
  2034. xlSheet.Columns("B:B").ColumnWidth = 14
  2035. xlSheet.Columns("C:C").ColumnWidth = 10
  2036. xlSheet.Columns("D:D").ColumnWidth = 13
  2037. xlSheet.Columns("E:E").ColumnWidth = 13
  2038. xlSheet.Columns("F:F").ColumnWidth = 10
  2039. xlSheet.Columns("G:G").ColumnWidth = 11
  2040. xlSheet.Columns("H:H").ColumnWidth = 11
  2041. xlSheet.Columns("I:I").ColumnWidth = 25
  2042. xlSheet.Rows(N2 + 5 & ":" & N2 + 5).RowHeight = 100
  2043. xlSheet.Rows(N2 + 6 & ":" & N2 + 6).RowHeight = 35
  2044. xlSheet.Range("I:I").Select()
  2045. With myExcel.Selection
  2046. .HorizontalAlignment = xlCenter
  2047. .VerticalAlignment = xlCenter
  2048. .WrapText = True
  2049. .Orientation = 0
  2050. .AddIndent = False
  2051. .IndentLevel = 0
  2052. .ShrinkToFit = False
  2053. .ReadingOrder = xlContext
  2054. .MergeCells = False
  2055. End With
  2056. xlSheet.Range("A1:H1").Select()
  2057. With myExcel.Selection
  2058. .HorizontalAlignment = xlCenter
  2059. .VerticalAlignment = xlCenter
  2060. .WrapText = False
  2061. .Orientation = 0
  2062. .AddIndent = False
  2063. .IndentLevel = 0
  2064. .ShrinkToFit = False
  2065. .ReadingOrder = xlContext
  2066. .MergeCells = False
  2067. End With
  2068. myExcel.Selection.Merge
  2069. xlSheet.Range("A2:H2").Select()
  2070. With myExcel.Selection
  2071. .HorizontalAlignment = xlCenter
  2072. .VerticalAlignment = xlCenter
  2073. .WrapText = False
  2074. .Orientation = 0
  2075. .AddIndent = False
  2076. .IndentLevel = 0
  2077. .ShrinkToFit = False
  2078. .ReadingOrder = xlContext
  2079. .MergeCells = False
  2080. End With
  2081. myExcel.Selection.Merge
  2082. myExcel.Selection.Font.Underline = xlUnderlineStyleSingle
  2083. xlSheet.Range("A3:D3").Select()
  2084. With myExcel.Selection
  2085. .HorizontalAlignment = xlLeft
  2086. .VerticalAlignment = xlCenter
  2087. .WrapText = False
  2088. .Orientation = 0
  2089. .AddIndent = False
  2090. .IndentLevel = 0
  2091. .ShrinkToFit = False
  2092. .ReadingOrder = xlContext
  2093. .MergeCells = False
  2094. End With
  2095. myExcel.Selection.Merge
  2096. xlSheet.Range("E3:H3").Select()
  2097. With myExcel.Selection
  2098. .HorizontalAlignment = xlRight
  2099. .VerticalAlignment = xlCenter
  2100. .WrapText = False
  2101. .Orientation = 0
  2102. .AddIndent = False
  2103. .IndentLevel = 0
  2104. .ShrinkToFit = False
  2105. .ReadingOrder = xlContext
  2106. .MergeCells = False
  2107. End With
  2108. myExcel.Selection.Merge
  2109. xlSheet.Range("A4:B4").Select()
  2110. With myExcel.Selection
  2111. .HorizontalAlignment = xlLeft
  2112. .VerticalAlignment = xlCenter
  2113. .WrapText = False
  2114. .Orientation = 0
  2115. .AddIndent = False
  2116. .IndentLevel = 0
  2117. .ShrinkToFit = False
  2118. .ReadingOrder = xlContext
  2119. .MergeCells = False
  2120. End With
  2121. myExcel.Selection.Merge
  2122. xlSheet.Range("C4:D4").Select()
  2123. With myExcel.Selection
  2124. .HorizontalAlignment = xlLeft
  2125. .VerticalAlignment = xlCenter
  2126. .WrapText = False
  2127. .Orientation = 0
  2128. .AddIndent = False
  2129. .IndentLevel = 0
  2130. .ShrinkToFit = False
  2131. .ReadingOrder = xlContext
  2132. .MergeCells = False
  2133. End With
  2134. myExcel.Selection.Merge
  2135. xlSheet.Range("E4:F4").Select()
  2136. With myExcel.Selection
  2137. .HorizontalAlignment = xlLeft
  2138. .VerticalAlignment = xlCenter
  2139. .WrapText = False
  2140. .Orientation = 0
  2141. .AddIndent = False
  2142. .IndentLevel = 0
  2143. .ShrinkToFit = False
  2144. .ReadingOrder = xlContext
  2145. .MergeCells = False
  2146. End With
  2147. myExcel.Selection.Merge
  2148. xlSheet.Range("G4:H4").Select()
  2149. With myExcel.Selection
  2150. .HorizontalAlignment = xlLeft
  2151. .VerticalAlignment = xlCenter
  2152. .WrapText = False
  2153. .Orientation = 0
  2154. .AddIndent = False
  2155. .IndentLevel = 0
  2156. .ShrinkToFit = False
  2157. .ReadingOrder = xlContext
  2158. .MergeCells = False
  2159. End With
  2160. myExcel.Selection.Merge
  2161. xlSheet.Range("A5:D5").Select()
  2162. With myExcel.Selection
  2163. .HorizontalAlignment = xlLeft
  2164. .VerticalAlignment = xlCenter
  2165. .WrapText = False
  2166. .Orientation = 0
  2167. .AddIndent = False
  2168. .IndentLevel = 0
  2169. .ShrinkToFit = False
  2170. .ReadingOrder = xlContext
  2171. .MergeCells = False
  2172. End With
  2173. myExcel.Selection.Merge
  2174. xlSheet.Range("E5:F5").Select()
  2175. With myExcel.Selection
  2176. .HorizontalAlignment = xlLeft
  2177. .VerticalAlignment = xlCenter
  2178. .WrapText = False
  2179. .Orientation = 0
  2180. .AddIndent = False
  2181. .IndentLevel = 0
  2182. .ShrinkToFit = False
  2183. .ReadingOrder = xlContext
  2184. .MergeCells = False
  2185. End With
  2186. myExcel.Selection.Merge
  2187. xlSheet.Range("G5:H5").Select()
  2188. With myExcel.Selection
  2189. .HorizontalAlignment = xlLeft
  2190. .VerticalAlignment = xlCenter
  2191. .WrapText = False
  2192. .Orientation = 0
  2193. .AddIndent = False
  2194. .IndentLevel = 0
  2195. .ShrinkToFit = False
  2196. .ReadingOrder = xlContext
  2197. .MergeCells = False
  2198. End With
  2199. myExcel.Selection.Merge
  2200. xlSheet.Range("A6:B6").Select()
  2201. With myExcel.Selection
  2202. .HorizontalAlignment = xlLeft
  2203. .VerticalAlignment = xlCenter
  2204. .WrapText = False
  2205. .Orientation = 0
  2206. .AddIndent = False
  2207. .IndentLevel = 0
  2208. .ShrinkToFit = False
  2209. .ReadingOrder = xlContext
  2210. .MergeCells = False
  2211. End With
  2212. myExcel.Selection.Merge
  2213. xlSheet.Range("C6:D6").Select()
  2214. With myExcel.Selection
  2215. .HorizontalAlignment = xlLeft
  2216. .VerticalAlignment = xlCenter
  2217. .WrapText = False
  2218. .Orientation = 0
  2219. .AddIndent = False
  2220. .IndentLevel = 0
  2221. .ShrinkToFit = False
  2222. .ReadingOrder = xlContext
  2223. .MergeCells = False
  2224. End With
  2225. myExcel.Selection.Merge
  2226. xlSheet.Range("E6:F6").Select()
  2227. With myExcel.Selection
  2228. .HorizontalAlignment = xlLeft
  2229. .VerticalAlignment = xlCenter
  2230. .WrapText = False
  2231. .Orientation = 0
  2232. .AddIndent = False
  2233. .IndentLevel = 0
  2234. .ShrinkToFit = False
  2235. .ReadingOrder = xlContext
  2236. .MergeCells = False
  2237. End With
  2238. myExcel.Selection.Merge
  2239. xlSheet.Range("G6:H6").Select()
  2240. With myExcel.Selection
  2241. .HorizontalAlignment = xlLeft
  2242. .VerticalAlignment = xlCenter
  2243. .WrapText = False
  2244. .Orientation = 0
  2245. .AddIndent = False
  2246. .IndentLevel = 0
  2247. .ShrinkToFit = False
  2248. .ReadingOrder = xlContext
  2249. .MergeCells = False
  2250. End With
  2251. myExcel.Selection.Merge
  2252. xlSheet.Range("A7:B7").Select()
  2253. With myExcel.Selection
  2254. .HorizontalAlignment = xlLeft
  2255. .VerticalAlignment = xlCenter
  2256. .WrapText = False
  2257. .Orientation = 0
  2258. .AddIndent = False
  2259. .IndentLevel = 0
  2260. .ShrinkToFit = False
  2261. .ReadingOrder = xlContext
  2262. .MergeCells = False
  2263. End With
  2264. myExcel.Selection.Merge
  2265. xlSheet.Range("D7:E7").Select()
  2266. With myExcel.Selection
  2267. .HorizontalAlignment = xlLeft
  2268. .VerticalAlignment = xlCenter
  2269. .WrapText = False
  2270. .Orientation = 0
  2271. .AddIndent = False
  2272. .IndentLevel = 0
  2273. .ShrinkToFit = False
  2274. .ReadingOrder = xlContext
  2275. .MergeCells = False
  2276. End With
  2277. myExcel.Selection.Merge
  2278. For i As Integer = 8 To N2
  2279. xlSheet.Range("A" & i & ":B" & i).Select()
  2280. With myExcel.Selection
  2281. .HorizontalAlignment = xlLeft
  2282. .VerticalAlignment = xlCenter
  2283. .WrapText = False
  2284. .Orientation = 0
  2285. .AddIndent = False
  2286. .IndentLevel = 0
  2287. .ShrinkToFit = False
  2288. .ReadingOrder = xlContext
  2289. .MergeCells = False
  2290. End With
  2291. myExcel.Selection.Merge
  2292. xlSheet.Range("D" & i & ":E" & i).Select()
  2293. With myExcel.Selection
  2294. .HorizontalAlignment = xlLeft
  2295. .VerticalAlignment = xlCenter
  2296. .WrapText = True
  2297. .Orientation = 0
  2298. .AddIndent = False
  2299. .IndentLevel = 0
  2300. .ShrinkToFit = False
  2301. .ReadingOrder = xlContext
  2302. .MergeCells = False
  2303. End With
  2304. myExcel.Selection.Merge
  2305. xlSheet.Rows(i & ":" & i).EntireRow.AutoFit
  2306. Next i
  2307. xlSheet.Range("F8:F" & N2).Select()
  2308. With myExcel.Selection
  2309. .HorizontalAlignment = xlRight
  2310. .VerticalAlignment = xlCenter
  2311. .WrapText = False
  2312. .Orientation = 0
  2313. .AddIndent = False
  2314. .IndentLevel = 0
  2315. .ShrinkToFit = False
  2316. .ReadingOrder = xlContext
  2317. .MergeCells = False
  2318. End With
  2319. xlSheet.Range("F" & N2 + 1 & ":H" & N2 + 1).Select()
  2320. With myExcel.Selection
  2321. .HorizontalAlignment = xlCenter
  2322. .VerticalAlignment = xlCenter
  2323. .WrapText = False
  2324. .Orientation = 0
  2325. .AddIndent = False
  2326. .IndentLevel = 0
  2327. .ShrinkToFit = False
  2328. .ReadingOrder = xlContext
  2329. .MergeCells = False
  2330. End With
  2331. myExcel.Selection.Merge
  2332. xlSheet.Range("E" & N2 + 2 & ":H" & N2 + 2).Select()
  2333. With myExcel.Selection
  2334. .HorizontalAlignment = xlLeft
  2335. .VerticalAlignment = xlCenter
  2336. .WrapText = False
  2337. .Orientation = 0
  2338. .AddIndent = False
  2339. .IndentLevel = 0
  2340. .ShrinkToFit = False
  2341. .ReadingOrder = xlContext
  2342. .MergeCells = False
  2343. End With
  2344. myExcel.Selection.Merge
  2345. xlSheet.Range("E" & N2 + 3 & ":H" & N2 + 4).Select()
  2346. With myExcel.Selection
  2347. .HorizontalAlignment = xlCenter
  2348. .VerticalAlignment = xlCenter
  2349. .WrapText = False
  2350. .Orientation = 0
  2351. .AddIndent = False
  2352. .IndentLevel = 0
  2353. .ShrinkToFit = False
  2354. .ReadingOrder = xlContext
  2355. .MergeCells = False
  2356. End With
  2357. myExcel.Selection.Merge
  2358. xlSheet.Range("A" & N2 + 5 & ":E" & N2 + 5).Select()
  2359. With myExcel.Selection
  2360. .HorizontalAlignment = xlLeft
  2361. .VerticalAlignment = xlCenter
  2362. .WrapText = True
  2363. .Orientation = 0
  2364. .AddIndent = False
  2365. .IndentLevel = 0
  2366. .ShrinkToFit = False
  2367. .ReadingOrder = xlContext
  2368. .MergeCells = False
  2369. End With
  2370. myExcel.Selection.Merge
  2371. xlSheet.Range("F" & N2 + 5 & ":H" & N2 + 5).Select()
  2372. With myExcel.Selection
  2373. .HorizontalAlignment = xlLeft
  2374. .VerticalAlignment = xlCenter
  2375. .WrapText = True
  2376. .Orientation = 0
  2377. .AddIndent = False
  2378. .IndentLevel = 0
  2379. .ShrinkToFit = False
  2380. .ReadingOrder = xlContext
  2381. .MergeCells = False
  2382. End With
  2383. myExcel.Selection.Merge
  2384. xlSheet.Range("A" & N2 + 6 & ":H" & N2 + 6).Select()
  2385. With myExcel.Selection
  2386. .HorizontalAlignment = xlLeft
  2387. .VerticalAlignment = xlCenter
  2388. .WrapText = True
  2389. .Orientation = 0
  2390. .AddIndent = False
  2391. .IndentLevel = 0
  2392. .ShrinkToFit = False
  2393. .ReadingOrder = xlContext
  2394. .MergeCells = False
  2395. End With
  2396. myExcel.Selection.Merge
  2397. xlSheet.Range("A7:B7,C7,D7:E7,F7,G7,H7,A" & N2 + 1 & ",A" & N2 + 2 & ",A" & N2 + 3 & ",A" & N2 + 4 & ",C" & N2 + 1 &
  2398. ",C" & N2 + 2 & ",C" & N2 + 3 & ",C" & N2 + 4 & ",E" & N2 + 1 & ",E" & N2 + 2 & ":H" & N2 + 2).Select()
  2399. With myExcel.Selection
  2400. .HorizontalAlignment = xlDistributed
  2401. .VerticalAlignment = xlCenter
  2402. .WrapText = False
  2403. .Orientation = 0
  2404. .AddIndent = False
  2405. .ShrinkToFit = False
  2406. .ReadingOrder = xlContext
  2407. End With
  2408. xlSheet.Columns("I:I").ColumnWidth = 0
  2409. myExcel.Application.PrintCommunication = False
  2410. With myExcel.ActiveSheet.PageSetup
  2411. .PrintTitleRows = ""
  2412. .PrintTitleColumns = ""
  2413. End With
  2414. myExcel.Application.PrintCommunication = True
  2415. myExcel.ActiveSheet.PageSetup.PrintArea = ""
  2416. myExcel.Application.PrintCommunication = False
  2417. With myExcel.ActiveSheet.PageSetup
  2418. .LeftHeader = ""
  2419. .CenterHeader = ""
  2420. .RightHeader = ""
  2421. .LeftFooter = ""
  2422. .CenterFooter = ""
  2423. .RightFooter = ""
  2424. .LeftMargin = myExcel.Application.InchesToPoints(0.25)
  2425. .RightMargin = myExcel.Application.InchesToPoints(0.25)
  2426. .TopMargin = myExcel.Application.InchesToPoints(0.75)
  2427. .BottomMargin = myExcel.Application.InchesToPoints(0.75)
  2428. .HeaderMargin = myExcel.Application.InchesToPoints(0.3)
  2429. .FooterMargin = myExcel.Application.InchesToPoints(0.3)
  2430. .PrintHeadings = False
  2431. .PrintGridlines = False
  2432. .CenterHorizontally = False
  2433. .CenterVertically = False
  2434. .Draft = False
  2435. .FirstPageNumber = xlAutomatic
  2436. .BlackAndWhite = False
  2437. .Zoom = False
  2438. .FitToPagesWide = 1
  2439. .FitToPagesTall = False
  2440. .OddAndEvenPagesHeaderFooter = False
  2441. .DifferentFirstPageHeaderFooter = False
  2442. .ScaleWithDocHeaderFooter = True
  2443. .AlignMarginsHeaderFooter = True
  2444. .EvenPage.LeftHeader.Text = ""
  2445. .EvenPage.CenterHeader.Text = ""
  2446. .EvenPage.RightHeader.Text = ""
  2447. .EvenPage.LeftFooter.Text = ""
  2448. .EvenPage.CenterFooter.Text = ""
  2449. .EvenPage.RightFooter.Text = ""
  2450. .FirstPage.LeftHeader.Text = ""
  2451. .FirstPage.CenterHeader.Text = ""
  2452. .FirstPage.RightHeader.Text = ""
  2453. .FirstPage.LeftFooter.Text = ""
  2454. .FirstPage.CenterFooter.Text = ""
  2455. .FirstPage.RightFooter.Text = ""
  2456. End With
  2457. myExcel.Application.PrintCommunication = True
  2458. End Sub
  2459. Private Shared Function NewMethod(xlBook As Microsoft.Office.Interop.Excel.Workbook) As Microsoft.Office.Interop.Excel.Worksheet
  2460. Return CType(xlBook.Worksheets.Add, Microsoft.Office.Interop.Excel.Worksheet)
  2461. End Function
  2462. End Class