Açıklama Yok
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

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