No Description
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 128KB

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