123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767 |
- Option Explicit On
- Imports System.IO
- Imports Microsoft.Office.Interop.Excel.Constants
- Imports Microsoft.Office.Interop.Excel.XlBordersIndex
- Imports Microsoft.Office.Interop.Excel.XlLineStyle
- Imports Microsoft.Office.Interop.Excel.XlBorderWeight
- Imports Microsoft.Office.Interop.Excel.XlThemeColor
- Imports Microsoft.Office.Interop.Excel.XlWindowState
- Imports Microsoft.Office.Interop.Excel
- Public Class 考勤明細表
- Dim xlApp As Application
- Dim xlBook As Workbook
- Dim xlSheet As Worksheet
- Dim 暫時不開 As Boolean
- Dim 時段(6), 計算(6), X1 As String
- Dim 間隔1, 時長, 總時, VBN, CBN As Integer
- Dim RI As Integer = -1
- Dim SK As String = "要查找的 KEY"
- Dim Str As String = System.Windows.Forms.Application.StartupPath
- DIM 對話框(40) As String
- Private Sub Set_萬年曆()
- Dim ds1 As New DataSet
- 萬年曆_dgv.DataSource = Nothing : ds1.Clear()
- 萬年曆_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 萬年曆_dgv.ColumnHeadersHeight = 25 : 萬年曆_dgv.AllowUserToAddRows = False : 萬年曆_dgv.RowTemplate.Height = 25
-
- SQL_萬年曆()
- da.Fill(ds1) : 萬年曆_dgv.DataSource = ds1.Tables(0) : conn.Close()
- 萬年曆_dgv.Columns(0).Visible = False : 萬年曆_dgv.Columns(表頭(18)).FillWeight = 70
- 萬年曆_dgv.Columns(1).ReadOnly = True : 萬年曆_dgv.Columns(2).ReadOnly = True
- For i As Integer = 0 To 萬年曆_dgv.Rows.Count - 1
- If IsDBNull(萬年曆_dgv.Rows(i).Cells(表頭(18)).Value) Then : 萬年曆_dgv.Rows(i).Cells(表頭(18)).Value = False : End If
- If 萬年曆_dgv.Rows(i).Cells("MGB").Value.ToString = "星期一" Then : 萬年曆_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(0)
- ElseIf 萬年曆_dgv.Rows(i).Cells("MGB").Value.ToString = "星期二" Then : 萬年曆_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(1)
- ElseIf 萬年曆_dgv.Rows(i).Cells("MGB").Value.ToString = "星期三" Then : 萬年曆_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(2)
- ElseIf 萬年曆_dgv.Rows(i).Cells("MGB").Value.ToString = "星期四" Then : 萬年曆_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(3)
- ElseIf 萬年曆_dgv.Rows(i).Cells("MGB").Value.ToString = "星期五" Then : 萬年曆_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(4)
- ElseIf 萬年曆_dgv.Rows(i).Cells("MGB").Value.ToString = "星期六" Then : 萬年曆_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(5)
- ElseIf 萬年曆_dgv.Rows(i).Cells("MGB").Value.ToString = "星期日" Then : 萬年曆_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(6)
- End If
- '-------------清單介面優化------------------------------------
- If 深色風格 = False Then
- If 萬年曆_dgv.Rows(i).Cells(0).Value.ToString = "星期六" Then : 萬年曆_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
- ElseIf 萬年曆_dgv.Rows(i).Cells(0).Value.ToString = "星期日" Then : 萬年曆_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink : End If
- If 萬年曆_dgv.Rows(i).Cells(表頭(18)).Value = True Then : 萬年曆_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink : End If
- Else
- If 萬年曆_dgv.Rows(i).Cells(0).Value.ToString = "星期六" Then : 萬年曆_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Purple
- ElseIf 萬年曆_dgv.Rows(i).Cells(0).Value.ToString = "星期日" Then : 萬年曆_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkRed : End If
- If 萬年曆_dgv.Rows(i).Cells(表頭(18)).Value = True Then : 萬年曆_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkRed : End If
- End If
- Next
- End Sub
- Private Sub Set_查詢表()
- Dim ds1 As New DataSet
- 查詢表_dgv.DataSource = Nothing : ds1.Clear()
- 查詢表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 查詢表_dgv.ColumnHeadersHeight = 25 : 查詢表_dgv.AllowUserToAddRows = False : 查詢表_dgv.RowTemplate.Height = 25
-
- PA15 = Strings.Format(日期1_dtp.Value, "yyyy/MM/dd") : PA25 = 部門1_cb.SelectedIndex : PA14 = 級別2_cb.Text : SQL_考勤查詢清單() : PA25 = ""
-
- da.Fill(ds1) : 查詢表_dgv.DataSource = ds1.Tables(0) : conn.Close()
- 查詢表_dgv.Columns(0).FillWeight = 180 : 查詢表_dgv.Columns(1).Visible = False : 查詢表_dgv.Columns(2).Visible = False : 查詢表_dgv.Columns(表頭(17)).FillWeight = 50
- 查詢表_dgv.Columns(表頭(1)).FillWeight = 50 : 查詢表_dgv.Columns(表頭(18)).FillWeight = 50 : 查詢表_dgv.Columns(表頭(26)).FillWeight = 85
- 查詢表_dgv.Columns(表頭(19)).FillWeight = 160
- For I As Integer = 4 To 16 : 查詢表_dgv.Columns(表頭(I)).FillWeight = 70 : Next
-
- 查詢表_dgv.Columns("第一").Visible = False : 查詢表_dgv.Columns("第二").Visible = False : 查詢表_dgv.Columns("第三").Visible = False
- 查詢表_dgv.Columns("第四").Visible = False : 查詢表_dgv.Columns("第五").Visible = False : 查詢表_dgv.Columns("第六").Visible = False
- 查詢表_dgv.Columns("假別編號").Visible = False
- 查詢表_dgv.Columns(表頭(18)).ReadOnly = True
-
- 資料規格1() : 總時 = 0
- For I As Integer = 4 To 9 : 查詢表_dgv.Columns(表頭(I)).Visible = True : Next : For I As Integer = 10 To 15 : 查詢表_dgv.Columns(表頭(I)).Visible = False : Next : 總時 = 0
- For i As Integer = 0 To 查詢表_dgv.Rows.Count - 1
- Dim 驗證 As String = "" : Dim 取變數 As String
- 取變數 = 查詢表_dgv.Rows(i).Cells(表頭(19)).Value.ToString : NN1 = 0
- For ii As Integer = 1 To 20
- If ii = 1 Then : 驗證 = Strings.Left(取變數, ii) : NN1 += 1 : Else
- If Strings.Mid(取變數, ii, 1) = " " Then : Exit For : Else : 驗證 &= Strings.Mid(取變數, ii, 1) : NN1 += 1 : End If
- End If
- Next
- If 系統語言 = "繁體中文" Then : 查詢表_dgv.Rows(i).Cells(表頭(19)).Value = 驗證 : Else
- If Strings.Left(查詢表_dgv.Rows(i).Cells(表頭(19)).Value.ToString, 2) = "0." Then : 查詢表_dgv.Rows(i).Cells(表頭(19)).Value = "0.NA" : Else
- 查詢表_dgv.Rows(i).Cells(表頭(19)).Value = Strings.Left(查詢表_dgv.Rows(i).Cells(表頭(19)).Value.ToString, 2) &
- Strings.Mid(查詢表_dgv.Rows(i).Cells(表頭(19)).Value.ToString, NN1 + 2, 100)
- End If
- End If
- '-------------基本資料準備------------------------------------
- If 工人_ch.Checked = True Then : 查詢表_dgv.Rows(i).Cells(表頭(17)).Value = True
- Else : If IsDBNull(查詢表_dgv.Rows(i).Cells(表頭(17)).Value) Then : 查詢表_dgv.Rows(i).Cells(表頭(17)).Value = False : End If : End If
- If IsDBNull(查詢表_dgv.Rows(i).Cells(表頭(18)).Value) Then : 查詢表_dgv.Rows(i).Cells(表頭(18)).Value = False : End If
- If 查詢表_dgv.Rows(i).Cells("MGB").Value.ToString = "星期一" Then : 查詢表_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(0)
- ElseIf 查詢表_dgv.Rows(i).Cells("MGB").Value.ToString = "星期二" Then : 查詢表_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(1)
- ElseIf 查詢表_dgv.Rows(i).Cells("MGB").Value.ToString = "星期三" Then : 查詢表_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(2)
- ElseIf 查詢表_dgv.Rows(i).Cells("MGB").Value.ToString = "星期四" Then : 查詢表_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(3)
- ElseIf 查詢表_dgv.Rows(i).Cells("MGB").Value.ToString = "星期五" Then : 查詢表_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(4)
- ElseIf 查詢表_dgv.Rows(i).Cells("MGB").Value.ToString = "星期六" Then : 查詢表_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(5)
- ElseIf 查詢表_dgv.Rows(i).Cells("MGB").Value.ToString = "星期日" Then : 查詢表_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(6)
- End If
- Dim DFG(6) As String : Dim CV As Integer = 1 : For V As Integer = 0 To 6 : DFG(V) = "" : Next
- If 查詢表_dgv.Rows(i).Cells("第一").Value.ToString <> "" Then : DFG(CV) = 查詢表_dgv.Rows(i).Cells("第一").Value.ToString : CV += 1 : End If
- If 查詢表_dgv.Rows(i).Cells("第二").Value.ToString <> "" Then : DFG(CV) = 查詢表_dgv.Rows(i).Cells("第二").Value.ToString : CV += 1 : End If
- If 查詢表_dgv.Rows(i).Cells("第三").Value.ToString <> "" Then : DFG(CV) = 查詢表_dgv.Rows(i).Cells("第三").Value.ToString : CV += 1 : End If
- If 查詢表_dgv.Rows(i).Cells("第四").Value.ToString <> "" Then : DFG(CV) = 查詢表_dgv.Rows(i).Cells("第四").Value.ToString : CV += 1 : End If
- If 查詢表_dgv.Rows(i).Cells("第五").Value.ToString <> "" Then : DFG(CV) = 查詢表_dgv.Rows(i).Cells("第五").Value.ToString : CV += 1 : End If
- If 查詢表_dgv.Rows(i).Cells("第六").Value.ToString <> "" Then : DFG(CV) = 查詢表_dgv.Rows(i).Cells("第六").Value.ToString : CV += 1 : End If
-
- 時段(1) = DFG(1) : 時段(2) = DFG(2)
- 時段(3) = DFG(3) : 時段(4) = DFG(4)
- 時段(5) = DFG(5) : 時段(6) = DFG(6)
- For II As Integer = 4 To 16 : 查詢表_dgv.Rows(i).Cells(表頭(II)).Value = "" : Next
-
- If 查詢表_dgv.Rows(i).Cells("假別編號").Value.ToString = "" Then : 查詢表_dgv.Rows(i).Cells(表頭(26)).Value = ""
- ElseIf 查詢表_dgv.Rows(i).Cells("假別編號").Value.ToString = "1" Then : 查詢表_dgv.Rows(i).Cells(表頭(26)).Value = 對話框(9)
- ElseIf 查詢表_dgv.Rows(i).Cells("假別編號").Value.ToString = "2" Then : 查詢表_dgv.Rows(i).Cells(表頭(26)).Value = 對話框(10)
- ElseIf 查詢表_dgv.Rows(i).Cells("假別編號").Value.ToString = "3" Then : 查詢表_dgv.Rows(i).Cells(表頭(26)).Value = 對話框(11)
- ElseIf 查詢表_dgv.Rows(i).Cells("假別編號").Value.ToString = "4" Then : 查詢表_dgv.Rows(i).Cells(表頭(26)).Value = 對話框(12)
- ElseIf 查詢表_dgv.Rows(i).Cells("假別編號").Value.ToString = "5" Then : 查詢表_dgv.Rows(i).Cells(表頭(26)).Value = 對話框(13)
- End If
- '-------------時間推移計算------------------------------------
- If 時段(1) = "" And 時段(2) = "" And 時段(3) = "" And 時段(4) = "" And 時段(5) = "" And 時段(6) = "" Then
- ElseIf 時段(1) <> "" And 時段(2) = "" And 時段(3) = "" And 時段(4) = "" And 時段(5) = "" And 時段(6) = "" Then
- X1 = 時段(1) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- ElseIf 時段(1) <> "" And 時段(2) <> "" And 時段(3) = "" And 時段(4) = "" And 時段(5) = "" And 時段(6) = "" Then
- X1 = 時段(1) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(2) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 665 Then
- X1 = 時段(1) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(9)).Value = 時段(2)
- 'X1 = 時段(1) : Set_時段定點_加四小時() : 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = X1 : 時段(2) = X1
- 'X1 = 時段(2) : Set_時段定點_加一小時() : 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(6)).Value = X1 : 時段(3) = X1
- 'X1 = 時段(3) : Set_時段定點_加四小時() : 查詢表_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(7)).Value = X1 : 時段(4) = X1
- 'X1 = 時段(4) : Set_時段定點_加一小時() : 查詢表_dgv.Rows(i).Cells(表頭(14)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(8)).Value = X1
- 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = "12:00:00" : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = "12:00:00"
- 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = "13:00:00" : 查詢表_dgv.Rows(i).Cells(表頭(6)).Value = "13:00:00"
- 查詢表_dgv.Rows(i).Cells(表頭(13)).Value = "17:00:00" : 查詢表_dgv.Rows(i).Cells(表頭(7)).Value = "17:00:00"
- 查詢表_dgv.Rows(i).Cells(表頭(14)).Value = "18:00:00" : 查詢表_dgv.Rows(i).Cells(表頭(8)).Value = "18:00:00"
- ElseIf 間隔1 >= 325 And 間隔1 < 665 Then
- X1 = 時段(1) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(7)).Value = 時段(2)
- 'X1 = 時段(1) : Set_時段定點_加四小時() : 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = X1 : 時段(2) = X1
- 'X1 = 時段(2) : Set_時段定點_加一小時() : 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(6)).Value = X1 : 時段(3) = X1
- 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = "12:00:00" : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = "12:00:00"
- 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = "13:00:00" : 查詢表_dgv.Rows(i).Cells(表頭(6)).Value = "13:00:00"
- ElseIf 間隔1 < 325 Then
- X1 = 時段(1) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(1) : Set_時段定點_加四小時() : 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- End If
- ElseIf 時段(1) <> "" And 時段(2) <> "" And 時段(3) <> "" And 時段(4) = "" And 時段(5) = "" And 時段(6) = "" Then
- X1 = 時段(1) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(3) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 665 Then '---------大於十小時
- X1 = 時段(1) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(2) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 <= 325 Then
- X1 = 時段(1) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(9)).Value = 時段(3)
- 'X1 = 時段(2) : Set_時段定點_加一小時() : 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(6)).Value = X1 : 時段(3) = X1
- 'X1 = 時段(3) : Set_時段定點_加四小時() : 查詢表_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(7)).Value = X1 : 時段(4) = X1
- 'X1 = 時段(4) : Set_時段定點_加一小時() : 查詢表_dgv.Rows(i).Cells(表頭(14)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(8)).Value = X1
- 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = "13:00:00" : 查詢表_dgv.Rows(i).Cells(表頭(6)).Value = "13:00:00"
- 查詢表_dgv.Rows(i).Cells(表頭(13)).Value = "17:00:00" : 查詢表_dgv.Rows(i).Cells(表頭(7)).Value = "17:00:00"
- 查詢表_dgv.Rows(i).Cells(表頭(14)).Value = "18:00:00" : 查詢表_dgv.Rows(i).Cells(表頭(8)).Value = "18:00:00"
- ElseIf 間隔1 > 325 Then
- X1 = 時段(1) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(3) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(9)).Value = 時段(3)
- 'X1 = 時段(1) : Set_時段定點_加四小時() : 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = X1 : 時段(2) = X1
- 'X1 = 時段(2) : Set_時段定點_加一小時() : 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(6)).Value = X1 : 時段(3) = X1
- 'X1 = 時段(3) : Set_時段定點_加四小時() : 查詢表_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(7)).Value = X1 : 時段(4) = X1
- 'X1 = 時段(4) : Set_時段定點_加一小時() : 查詢表_dgv.Rows(i).Cells(表頭(14)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(8)).Value = X1
- 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = "12:00:00" : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = "12:00:00"
- 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = "13:00:00" : 查詢表_dgv.Rows(i).Cells(表頭(6)).Value = "13:00:00"
- 查詢表_dgv.Rows(i).Cells(表頭(13)).Value = "17:00:00" : 查詢表_dgv.Rows(i).Cells(表頭(7)).Value = "17:00:00"
- 查詢表_dgv.Rows(i).Cells(表頭(14)).Value = "18:00:00" : 查詢表_dgv.Rows(i).Cells(表頭(8)).Value = "18:00:00"
- End If
- ElseIf 間隔1 > 325 And 間隔1 < 665 Then
- X1 = 時段(1) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(3) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(7)).Value = 時段(3)
- 'X1 = 時段(1) : Set_時段定點_加四小時() : 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = X1 : 時段(2) = X1
- 'X1 = 時段(2) : Set_時段定點_加一小時() : 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(6)).Value = X1 : 時段(3) = X1
- 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = "12:00:00" : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = "12:00:00"
- 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = "13:00:00" : 查詢表_dgv.Rows(i).Cells(表頭(6)).Value = "13:00:00"
- ElseIf 間隔1 >= 325 Then
- X1 = 時段(2) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(3) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 90 Then
- X1 = 時段(1) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(7)).Value = 時段(3)
- X1 = 時段(2) : Set_時段定點_加一小時() : 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(6)).Value = X1
- Else
- X1 = 時段(1) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = X1
- End If
- Else
- X1 = 時段(1) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = X1
- End If
- ElseIf 時段(1) <> "" And 時段(2) <> "" And 時段(3) <> "" And 時段(4) <> "" And 時段(5) = "" And 時段(6) = "" Then
- X1 = 時段(1) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(4) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 665 Then
- X1 = 時段(1) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(9)).Value = 時段(4)
- 'X1 = 時段(3) : Set_時段定點_加四小時() : 查詢表_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(7)).Value = X1 : 時段(4) = X1
- 'X1 = 時段(4) : Set_時段定點_加一小時() : 查詢表_dgv.Rows(i).Cells(表頭(14)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(8)).Value = X1
- 查詢表_dgv.Rows(i).Cells(表頭(13)).Value = "17:00:00" : 查詢表_dgv.Rows(i).Cells(表頭(7)).Value = "17:00:00"
- 查詢表_dgv.Rows(i).Cells(表頭(14)).Value = "18:00:00" : 查詢表_dgv.Rows(i).Cells(表頭(8)).Value = "18:00:00"
- Else
- X1 = 時段(1) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(7)).Value = 時段(4)
- End If
- ElseIf 時段(1) <> "" And 時段(2) <> "" And 時段(3) <> "" And 時段(4) <> "" And 時段(5) <> "" And 時段(6) = "" Then
- X1 = 時段(1) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(5) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 665 Then
- X1 = 時段(4) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(5) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 90 Then
- X1 = 時段(1) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(7)).Value = 時段(4)
- X1 = 時段(5) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(9)).Value = 時段(6)
- X1 = 時段(5) : Set_時段定點_減一小時() : 查詢表_dgv.Rows(i).Cells(表頭(14)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(7)).Value = X1
- Else
- X1 = 時段(1) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(7)).Value = 時段(4)
- X1 = 時段(5) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(14)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(8)).Value = 時段(5)
- End If
- Else
- X1 = 時段(1) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(7)).Value = 時段(4)
- X1 = 時段(5) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(14)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(8)).Value = 時段(5)
- End If
- ElseIf 時段(1) <> "" And 時段(2) <> "" And 時段(3) <> "" And 時段(4) <> "" And 時段(5) <> "" And 時段(6) <> "" Then
- X1 = 時段(1) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(7)).Value = 時段(4)
- X1 = 時段(5) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(14)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(8)).Value = 時段(5)
- X1 = 時段(6) : Set_時段定點() : 查詢表_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 查詢表_dgv.Rows(i).Cells(表頭(9)).Value = 時段(6)
- End If
- '-------------時間彙總計算------------------------------------
- 時長 = 0
- If 查詢表_dgv.Rows(i).Cells(表頭(10)).Value.ToString <> "" And 查詢表_dgv.Rows(i).Cells(表頭(11)).Value.ToString <> "" And
- 查詢表_dgv.Rows(i).Cells(表頭(12)).Value.ToString = "" And 查詢表_dgv.Rows(i).Cells(表頭(13)).Value.ToString = "" And
- 查詢表_dgv.Rows(i).Cells(表頭(14)).Value.ToString = "" And 查詢表_dgv.Rows(i).Cells(表頭(15)).Value.ToString = "" Then
- 計算(0) = 查詢表_dgv.Rows(i).Cells(表頭(10)).Value.ToString : 計算(1) = 查詢表_dgv.Rows(i).Cells(表頭(11)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- If 時長 <= 8 Then : 查詢表_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M" : End If
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(10)).Value.ToString <> "" And 查詢表_dgv.Rows(i).Cells(表頭(11)).Value.ToString <> "" And
- 查詢表_dgv.Rows(i).Cells(表頭(12)).Value.ToString <> "" And 查詢表_dgv.Rows(i).Cells(表頭(13)).Value.ToString <> "" And
- 查詢表_dgv.Rows(i).Cells(表頭(14)).Value.ToString = "" And 查詢表_dgv.Rows(i).Cells(表頭(15)).Value.ToString = "" Then
- 計算(0) = 查詢表_dgv.Rows(i).Cells(表頭(10)).Value.ToString : 計算(1) = 查詢表_dgv.Rows(i).Cells(表頭(11)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- 計算(0) = 查詢表_dgv.Rows(i).Cells(表頭(12)).Value.ToString : 計算(1) = 查詢表_dgv.Rows(i).Cells(表頭(13)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- If 時長 <= 8 Then : 查詢表_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M" : Else
- If 查詢表_dgv.Rows(i).Cells(表頭(17)).Value = False Then
- 查詢表_dgv.Rows(i).Cells(表頭(16)).Value = "08 H 00 M"
- Else
- If 時長 < 10 Then : 查詢表_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M"
- Else : 查詢表_dgv.Rows(i).Cells(表頭(16)).Value = 時長 & " H 00 M" : End If
- End If
- End If
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(10)).Value.ToString <> "" And 查詢表_dgv.Rows(i).Cells(表頭(11)).Value.ToString <> "" And
- 查詢表_dgv.Rows(i).Cells(表頭(12)).Value.ToString <> "" And 查詢表_dgv.Rows(i).Cells(表頭(13)).Value.ToString <> "" And
- 查詢表_dgv.Rows(i).Cells(表頭(14)).Value.ToString <> "" And 查詢表_dgv.Rows(i).Cells(表頭(15)).Value.ToString <> "" Then
- 計算(0) = 查詢表_dgv.Rows(i).Cells(表頭(10)).Value.ToString : 計算(1) = 查詢表_dgv.Rows(i).Cells(表頭(11)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- 計算(0) = 查詢表_dgv.Rows(i).Cells(表頭(12)).Value.ToString : 計算(1) = 查詢表_dgv.Rows(i).Cells(表頭(13)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- 計算(0) = 查詢表_dgv.Rows(i).Cells(表頭(14)).Value.ToString : 計算(1) = 查詢表_dgv.Rows(i).Cells(表頭(15)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- If 時長 <= 8 Then : 查詢表_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M" : Else
- If 查詢表_dgv.Rows(i).Cells(表頭(17)).Value = False Then
- 查詢表_dgv.Rows(i).Cells(表頭(16)).Value = "08 H 00 M"
- Else
- If 時長 < 10 Then : 查詢表_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M"
- Else : 查詢表_dgv.Rows(i).Cells(表頭(16)).Value = 時長 & " H 00 M" : End If
- End If
- End If
- End If
- '-------------清單介面優化------------------------------------
- If 深色風格 = False Then
- If 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "01" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "02" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGreen
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "03" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "04" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightBlue
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "05" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightBlue : End If
- Else
- If 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "01" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Purple
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "02" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkGreen
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "03" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkRed
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "04" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkBlue
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "05" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkBlue : End If
- End If
- Next
- 查詢表_dgv.Columns(表頭(27)).FillWeight = 120
- End Sub
- Private Sub Set_使用者清單()
- Dim ds1 As New DataSet
- 清單1_dgv.DataSource = Nothing : ds1.Clear()
- 清單1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 清單1_dgv.ColumnHeadersHeight = 25 : 清單1_dgv.AllowUserToAddRows = False : 清單1_dgv.RowTemplate.Height = 25
- If 小間距1_ch.Checked = False And 中間距1_ch.Checked = False And 大間距1_ch.Checked = True Then : 清單1_dgv.RowTemplate.Height = 75
- ElseIf 小間距1_ch.Checked = False And 中間距1_ch.Checked = True And 大間距1_ch.Checked = False Then : 清單1_dgv.RowTemplate.Height = 45
- ElseIf 小間距1_ch.Checked = True And 中間距1_ch.Checked = False And 大間距1_ch.Checked = False Then : 清單1_dgv.RowTemplate.Height = 25 : End If
-
- PA25 = 地區_cb.SelectedIndex : SQL3 = "" : PA14 = 級別_cb.Text : SQL_考勤明細表清單() : PA25 = ""
- da.Fill(ds1) : 清單1_dgv.DataSource = ds1.Tables(0) : conn.Close()
- 清單1_dgv.Columns(0).FillWeight = 90 : 清單1_dgv.Columns(1).Visible = False : 清單1_dgv.Columns(2).Visible = False : 清單1_dgv.Columns(7).FillWeight = 20
- 清單1_dgv.Columns(4).Visible = False : 清單1_dgv.Columns(5).Visible = False : 清單1_dgv.Columns(6).Visible = False : 清單1_dgv.Columns(3).Visible = False
- 清單1_dgv.Columns(8).Visible = False : 清單1_dgv.Columns(9).Visible = False
- 清單1_dgv.Columns(0).ReadOnly = True : 清單1_dgv.Columns(3).ReadOnly = True
- For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
- If 深色風格 = False Then
- If 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "01" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
- ElseIf 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "02" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGreen
- ElseIf 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "03" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
- ElseIf 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "04" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightBlue
- ElseIf 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "05" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightBlue : End If
- Else
- If 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "01" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Purple
- ElseIf 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "02" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkGreen
- ElseIf 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "03" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkRed
- ElseIf 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "04" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkBlue
- ElseIf 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "05" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkBlue : End If
- End If
- Next
- 明細_dgv.DataSource = Nothing
- End Sub
- Private Sub Set_考勤彙總()
- Dim ds1 As New DataSet
- 考勤彙總_dgv.DataSource = Nothing : ds1.Clear()
- 考勤彙總_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 考勤彙總_dgv.ColumnHeadersHeight = 25 : 考勤彙總_dgv.AllowUserToAddRows = False : 考勤彙總_dgv.RowTemplate.Height = 25
- If 小間距1_ch.Checked = False And 中間距1_ch.Checked = False And 大間距1_ch.Checked = True Then : 考勤彙總_dgv.RowTemplate.Height = 75
- ElseIf 小間距1_ch.Checked = False And 中間距1_ch.Checked = True And 大間距1_ch.Checked = False Then : 考勤彙總_dgv.RowTemplate.Height = 45
- ElseIf 小間距1_ch.Checked = True And 中間距1_ch.Checked = False And 大間距1_ch.Checked = False Then : 考勤彙總_dgv.RowTemplate.Height = 25 : End If
-
- PA25 = 地區1_cb.SelectedIndex : PA14 = 級別1_cb.Text : SQL_考勤明細表清單() : PA25 = ""
- da.Fill(ds1) : 考勤彙總_dgv.DataSource = ds1.Tables(0) : conn.Close()
- 考勤彙總_dgv.Columns(0).FillWeight = 120 : 考勤彙總_dgv.Columns(7).FillWeight = 30 : 考勤彙總_dgv.Columns(表頭(20)).FillWeight = 50
- 考勤彙總_dgv.Columns(表頭(21)).FillWeight = 50 : 考勤彙總_dgv.Columns(表頭(22)).FillWeight = 50
- 考勤彙總_dgv.Columns("ID卡號").Visible = False : 考勤彙總_dgv.Columns(0).ReadOnly = True : 考勤彙總_dgv.Columns(3).ReadOnly = True
- 考勤彙總_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
- 考勤彙總_dgv.Columns(表頭(20)).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
- 考勤彙總_dgv.Columns(表頭(21)).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
- 考勤彙總_dgv.Columns(表頭(22)).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
- Dim 上班天數, 總時間 As Integer
- For i As Integer = 0 To 考勤彙總_dgv.Rows.Count - 1
- 考勤彙總_dgv.Rows(i).Cells(表頭(20)).Value = "" : 考勤彙總_dgv.Rows(i).Cells(表頭(21)).Value = ""
- If 深色風格 = False Then
- If 考勤彙總_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "01" Then : 考勤彙總_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
- ElseIf 考勤彙總_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "02" Then : 考勤彙總_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGreen
- ElseIf 考勤彙總_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "03" Then : 考勤彙總_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
- ElseIf 考勤彙總_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "04" Then : 考勤彙總_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightBlue
- ElseIf 考勤彙總_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "05" Then : 考勤彙總_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightBlue : End If
- Else
- If 考勤彙總_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "01" Then : 考勤彙總_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Purple
- ElseIf 考勤彙總_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "02" Then : 考勤彙總_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkGreen
- ElseIf 考勤彙總_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "03" Then : 考勤彙總_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkRed
- ElseIf 考勤彙總_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "04" Then : 考勤彙總_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkBlue
- ElseIf 考勤彙總_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "05" Then : 考勤彙總_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkBlue : End If
- End If
-
- Dim 驗證 As String = "" : Dim 取變數 As String
- 取變數 = 考勤彙總_dgv.Rows(i).Cells(表頭(19)).Value.ToString : NN1 = 0
- For ii As Integer = 1 To 20
- If ii = 1 Then : 驗證 = Strings.Left(取變數, ii) : NN1 += 1 : Else
- If Strings.Mid(取變數, ii, 1) = " " Then : Exit For : Else : 驗證 &= Strings.Mid(取變數, ii, 1) : NN1 += 1 : End If
- End If
- Next
- If 系統語言 = "繁體中文" Then : 考勤彙總_dgv.Rows(i).Cells(表頭(19)).Value = 驗證 : Else
- If Strings.Left(考勤彙總_dgv.Rows(i).Cells(表頭(19)).Value.ToString, 2) = "0." Then : 考勤彙總_dgv.Rows(i).Cells(表頭(19)).Value = "0.NA" : Else
- 考勤彙總_dgv.Rows(i).Cells(表頭(19)).Value = Strings.Left(考勤彙總_dgv.Rows(i).Cells(表頭(19)).Value.ToString, 2) &
- Strings.Mid(考勤彙總_dgv.Rows(i).Cells(表頭(19)).Value.ToString, NN1 + 2, 100)
- End If
- End If
- If 考勤彙總_dgv.Rows(i).Cells("ID卡號").Value.ToString <> "" Then
- 上班天數 = 0 : 總時間 = 0
- For II As Integer = 0 To 總清單_dgv.Rows.Count - 1
- If 考勤彙總_dgv.Rows(i).Cells("ID卡號").Value.ToString = 總清單_dgv.Rows(II).Cells("ID卡號").Value.ToString Then
- If 總清單_dgv.Rows(II).Cells(表頭(16)).Value.ToString <> "" And Strings.Left(總清單_dgv.Rows(II).Cells(表頭(16)).Value.ToString, 2) <> "00" Then
- 上班天數 += 1
- 總時間 += CInt(Strings.Left(總清單_dgv.Rows(II).Cells(表頭(16)).Value.ToString, 2))
- End If
- End If
- Next
-
- 考勤彙總_dgv.Rows(i).Cells(表頭(20)).Value = 上班天數
- If 總時間 < 10 Then : 考勤彙總_dgv.Rows(i).Cells(表頭(21)).Value = "0" & 總時間 & " H 00 M" : Else : 考勤彙總_dgv.Rows(i).Cells(表頭(21)).Value = 總時間 & " H 00 M" : End If
- End If
- Next
- End Sub
- Private Sub Set_總清單()
- Dim ds1 As New DataSet
- 總清單_dgv.DataSource = Nothing : ds1.Clear()
- 總清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 總清單_dgv.ColumnHeadersHeight = 25 : 總清單_dgv.AllowUserToAddRows = False : 總清單_dgv.RowTemplate.Height = 25
-
- PA25 = 地區_cb.SelectedIndex : SQL_考勤總明細() : PA25 = ""
- da.Fill(ds1) : 總清單_dgv.DataSource = ds1.Tables(0) : conn.Close()
- 總清單_dgv.Columns(表頭(17)).FillWeight = 70 : 總清單_dgv.Columns(表頭(18)).FillWeight = 70
- 總清單_dgv.Columns("第一").Visible = False : 總清單_dgv.Columns("第二").Visible = False : 總清單_dgv.Columns("第三").Visible = False
- 總清單_dgv.Columns("第四").Visible = False : 總清單_dgv.Columns("第五").Visible = False : 總清單_dgv.Columns("第六").Visible = False
-
- For I As Integer = 4 To 9 : 總清單_dgv.Columns(表頭(I)).Visible = False : Next : For I As Integer = 10 To 15 : 總清單_dgv.Columns(表頭(I)).Visible = True : Next : 總時 = 0
- For i As Integer = 0 To 總清單_dgv.Rows.Count - 1
- '-------------基本資料準備------------------------------------
- If 工人_ch.Checked = True Then : 總清單_dgv.Rows(i).Cells(表頭(17)).Value = True
- Else : If IsDBNull(總清單_dgv.Rows(i).Cells(表頭(17)).Value) Then : 總清單_dgv.Rows(i).Cells(表頭(17)).Value = False : End If : End If
- If IsDBNull(總清單_dgv.Rows(i).Cells(表頭(18)).Value) Then : 總清單_dgv.Rows(i).Cells(表頭(18)).Value = False : End If
- If 總清單_dgv.Rows(i).Cells("MGB").Value.ToString = "星期一" Then : 總清單_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(0)
- ElseIf 總清單_dgv.Rows(i).Cells("MGB").Value.ToString = "星期二" Then : 總清單_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(1)
- ElseIf 總清單_dgv.Rows(i).Cells("MGB").Value.ToString = "星期三" Then : 總清單_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(2)
- ElseIf 總清單_dgv.Rows(i).Cells("MGB").Value.ToString = "星期四" Then : 總清單_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(3)
- ElseIf 總清單_dgv.Rows(i).Cells("MGB").Value.ToString = "星期五" Then : 總清單_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(4)
- ElseIf 總清單_dgv.Rows(i).Cells("MGB").Value.ToString = "星期六" Then : 總清單_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(5)
- ElseIf 總清單_dgv.Rows(i).Cells("MGB").Value.ToString = "星期日" Then : 總清單_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(6)
- End If
- Dim DFG(6) As String : Dim CV As Integer = 1 : For V As Integer = 0 To 6 : DFG(V) = "" : Next
- If 總清單_dgv.Rows(i).Cells("第一").Value.ToString <> "" Then : DFG(CV) = 總清單_dgv.Rows(i).Cells("第一").Value.ToString : CV += 1 : End If
- If 總清單_dgv.Rows(i).Cells("第二").Value.ToString <> "" Then : DFG(CV) = 總清單_dgv.Rows(i).Cells("第二").Value.ToString : CV += 1 : End If
- If 總清單_dgv.Rows(i).Cells("第三").Value.ToString <> "" Then : DFG(CV) = 總清單_dgv.Rows(i).Cells("第三").Value.ToString : CV += 1 : End If
- If 總清單_dgv.Rows(i).Cells("第四").Value.ToString <> "" Then : DFG(CV) = 總清單_dgv.Rows(i).Cells("第四").Value.ToString : CV += 1 : End If
- If 總清單_dgv.Rows(i).Cells("第五").Value.ToString <> "" Then : DFG(CV) = 總清單_dgv.Rows(i).Cells("第五").Value.ToString : CV += 1 : End If
- If 總清單_dgv.Rows(i).Cells("第六").Value.ToString <> "" Then : DFG(CV) = 總清單_dgv.Rows(i).Cells("第六").Value.ToString : CV += 1 : End If
-
- 時段(1) = DFG(1) : 時段(2) = DFG(2)
- 時段(3) = DFG(3) : 時段(4) = DFG(4)
- 時段(5) = DFG(5) : 時段(6) = DFG(6)
- For II As Integer = 4 To 16 : 總清單_dgv.Rows(i).Cells(表頭(II)).Value = "" : Next
- '-------------時間推移計算------------------------------------
- If 時段(1) = "" And 時段(2) = "" And 時段(3) = "" And 時段(4) = "" And 時段(5) = "" And 時段(6) = "" Then
- ElseIf 時段(1) <> "" And 時段(2) = "" And 時段(3) = "" And 時段(4) = "" And 時段(5) = "" And 時段(6) = "" Then
- X1 = 時段(1) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- ElseIf 時段(1) <> "" And 時段(2) <> "" And 時段(3) = "" And 時段(4) = "" And 時段(5) = "" And 時段(6) = "" Then
- X1 = 時段(1) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(2) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 665 Then
- X1 = 時段(1) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(9)).Value = 時段(2)
- 總清單_dgv.Rows(i).Cells(表頭(11)).Value = "12:00:00" : 總清單_dgv.Rows(i).Cells(表頭(5)).Value = "12:00:00"
- 總清單_dgv.Rows(i).Cells(表頭(12)).Value = "13:00:00" : 總清單_dgv.Rows(i).Cells(表頭(6)).Value = "13:00:00"
- 總清單_dgv.Rows(i).Cells(表頭(13)).Value = "17:00:00" : 總清單_dgv.Rows(i).Cells(表頭(7)).Value = "17:00:00"
- 總清單_dgv.Rows(i).Cells(表頭(14)).Value = "18:00:00" : 總清單_dgv.Rows(i).Cells(表頭(8)).Value = "18:00:00"
- ElseIf 間隔1 >= 325 And 間隔1 < 665 Then
- X1 = 時段(1) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(7)).Value = 時段(2)
- 總清單_dgv.Rows(i).Cells(表頭(11)).Value = "12:00:00" : 總清單_dgv.Rows(i).Cells(表頭(5)).Value = "12:00:00"
- 總清單_dgv.Rows(i).Cells(表頭(12)).Value = "13:00:00" : 總清單_dgv.Rows(i).Cells(表頭(6)).Value = "13:00:00"
- ElseIf 間隔1 < 325 Then
- X1 = 時段(1) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(1) : Set_時段定點_加四小時() : 總清單_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- End If
- ElseIf 時段(1) <> "" And 時段(2) <> "" And 時段(3) <> "" And 時段(4) = "" And 時段(5) = "" And 時段(6) = "" Then
- X1 = 時段(1) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(3) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 665 Then '---------大於十小時
- X1 = 時段(1) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(2) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 <= 325 Then
- X1 = 時段(1) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(9)).Value = 時段(3)
- 總清單_dgv.Rows(i).Cells(表頭(12)).Value = "13:00:00" : 總清單_dgv.Rows(i).Cells(表頭(6)).Value = "13:00:00"
- 總清單_dgv.Rows(i).Cells(表頭(13)).Value = "17:00:00" : 總清單_dgv.Rows(i).Cells(表頭(7)).Value = "17:00:00"
- 總清單_dgv.Rows(i).Cells(表頭(14)).Value = "18:00:00" : 總清單_dgv.Rows(i).Cells(表頭(8)).Value = "18:00:00"
- ElseIf 間隔1 > 325 Then
- X1 = 時段(1) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(3) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(9)).Value = 時段(3)
- 總清單_dgv.Rows(i).Cells(表頭(11)).Value = "12:00:00" : 總清單_dgv.Rows(i).Cells(表頭(5)).Value = "12:00:00"
- 總清單_dgv.Rows(i).Cells(表頭(12)).Value = "13:00:00" : 總清單_dgv.Rows(i).Cells(表頭(6)).Value = "13:00:00"
- 總清單_dgv.Rows(i).Cells(表頭(13)).Value = "17:00:00" : 總清單_dgv.Rows(i).Cells(表頭(7)).Value = "17:00:00"
- 總清單_dgv.Rows(i).Cells(表頭(14)).Value = "18:00:00" : 總清單_dgv.Rows(i).Cells(表頭(8)).Value = "18:00:00"
- End If
- ElseIf 間隔1 > 325 And 間隔1 < 625 Then
- X1 = 時段(1) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(3) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(7)).Value = 時段(3)
- 總清單_dgv.Rows(i).Cells(表頭(11)).Value = "12:00:00" : 總清單_dgv.Rows(i).Cells(表頭(5)).Value = "12:00:00"
- 總清單_dgv.Rows(i).Cells(表頭(12)).Value = "13:00:00" : 總清單_dgv.Rows(i).Cells(表頭(6)).Value = "13:00:00"
- ElseIf 間隔1 >= 325 Then
- X1 = 時段(2) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(3) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 90 Then
- X1 = 時段(1) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(7)).Value = 時段(3)
- X1 = 時段(2) : Set_時段定點_加一小時() : 總清單_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(6)).Value = X1
- Else
- X1 = 時段(1) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(12)).Value = X1
- End If
- Else
- X1 = 時段(1) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(12)).Value = X1
- End If
- ElseIf 時段(1) <> "" And 時段(2) <> "" And 時段(3) <> "" And 時段(4) <> "" And 時段(5) = "" And 時段(6) = "" Then
- X1 = 時段(1) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(4) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 665 Then
- X1 = 時段(1) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(9)).Value = 時段(4)
- 總清單_dgv.Rows(i).Cells(表頭(13)).Value = "17:00:00" : 總清單_dgv.Rows(i).Cells(表頭(7)).Value = "17:00:00"
- 總清單_dgv.Rows(i).Cells(表頭(14)).Value = "18:00:00" : 總清單_dgv.Rows(i).Cells(表頭(8)).Value = "18:00:00"
- Else
- X1 = 時段(1) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(7)).Value = 時段(4)
- End If
- ElseIf 時段(1) <> "" And 時段(2) <> "" And 時段(3) <> "" And 時段(4) <> "" And 時段(5) <> "" And 時段(6) = "" Then
- X1 = 時段(1) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(5) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 665 Then
- X1 = 時段(4) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(5) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 90 Then
- X1 = 時段(1) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(7)).Value = 時段(4)
- X1 = 時段(5) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(9)).Value = 時段(6)
- X1 = 時段(5) : Set_時段定點_減一小時() : 總清單_dgv.Rows(i).Cells(表頭(14)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(7)).Value = X1
- Else
- X1 = 時段(1) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(7)).Value = 時段(4)
- X1 = 時段(5) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(14)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(8)).Value = 時段(5)
- End If
- Else
- X1 = 時段(1) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(7)).Value = 時段(4)
- X1 = 時段(5) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(14)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(8)).Value = 時段(5)
- End If
- ElseIf 時段(1) <> "" And 時段(2) <> "" And 時段(3) <> "" And 時段(4) <> "" And 時段(5) <> "" And 時段(6) <> "" Then
- X1 = 時段(1) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(7)).Value = 時段(4)
- X1 = 時段(5) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(14)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(8)).Value = 時段(5)
- X1 = 時段(6) : Set_時段定點() : 總清單_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 總清單_dgv.Rows(i).Cells(表頭(9)).Value = 時段(6)
- End If
- '-------------時間彙總計算------------------------------------
- 時長 = 0
- If 總清單_dgv.Rows(i).Cells(表頭(10)).Value.ToString <> "" And 總清單_dgv.Rows(i).Cells(表頭(11)).Value.ToString <> "" And
- 總清單_dgv.Rows(i).Cells(表頭(12)).Value.ToString = "" And 總清單_dgv.Rows(i).Cells(表頭(13)).Value.ToString = "" And
- 總清單_dgv.Rows(i).Cells(表頭(14)).Value.ToString = "" And 總清單_dgv.Rows(i).Cells(表頭(15)).Value.ToString = "" Then
- 計算(0) = 總清單_dgv.Rows(i).Cells(表頭(10)).Value.ToString : 計算(1) = 總清單_dgv.Rows(i).Cells(表頭(11)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- If 時長 <= 8 Then : 總清單_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M" : End If
- ElseIf 總清單_dgv.Rows(i).Cells(表頭(10)).Value.ToString <> "" And 總清單_dgv.Rows(i).Cells(表頭(11)).Value.ToString <> "" And
- 總清單_dgv.Rows(i).Cells(表頭(12)).Value.ToString <> "" And 總清單_dgv.Rows(i).Cells(表頭(13)).Value.ToString <> "" And
- 總清單_dgv.Rows(i).Cells(表頭(14)).Value.ToString = "" And 總清單_dgv.Rows(i).Cells(表頭(15)).Value.ToString = "" Then
- 計算(0) = 總清單_dgv.Rows(i).Cells(表頭(10)).Value.ToString : 計算(1) = 總清單_dgv.Rows(i).Cells(表頭(11)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- 計算(0) = 總清單_dgv.Rows(i).Cells(表頭(12)).Value.ToString : 計算(1) = 總清單_dgv.Rows(i).Cells(表頭(13)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- If 時長 <= 8 Then : 總清單_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M" : Else
- If 總清單_dgv.Rows(i).Cells(表頭(17)).Value = False Then
- 總清單_dgv.Rows(i).Cells(表頭(16)).Value = "08 H 00 M"
- Else
- If 時長 < 10 Then : 總清單_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M"
- Else : 總清單_dgv.Rows(i).Cells(表頭(16)).Value = 時長 & " H 00 M" : End If
- End If
- End If
- ElseIf 總清單_dgv.Rows(i).Cells(表頭(10)).Value.ToString <> "" And 總清單_dgv.Rows(i).Cells(表頭(11)).Value.ToString <> "" And
- 總清單_dgv.Rows(i).Cells(表頭(12)).Value.ToString <> "" And 總清單_dgv.Rows(i).Cells(表頭(13)).Value.ToString <> "" And
- 總清單_dgv.Rows(i).Cells(表頭(14)).Value.ToString <> "" And 總清單_dgv.Rows(i).Cells(表頭(15)).Value.ToString <> "" Then
- 計算(0) = 總清單_dgv.Rows(i).Cells(表頭(10)).Value.ToString : 計算(1) = 總清單_dgv.Rows(i).Cells(表頭(11)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- 計算(0) = 總清單_dgv.Rows(i).Cells(表頭(12)).Value.ToString : 計算(1) = 總清單_dgv.Rows(i).Cells(表頭(13)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- 計算(0) = 總清單_dgv.Rows(i).Cells(表頭(14)).Value.ToString : 計算(1) = 總清單_dgv.Rows(i).Cells(表頭(15)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- If 時長 <= 8 Then : 總清單_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M" : Else
- If 總清單_dgv.Rows(i).Cells(表頭(17)).Value = False Then
- 總清單_dgv.Rows(i).Cells(表頭(16)).Value = "08 H 00 M"
- Else
- If 時長 < 10 Then : 總清單_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M"
- Else : 總清單_dgv.Rows(i).Cells(表頭(16)).Value = 時長 & " H 00 M" : End If
- End If
- End If
- End If
- Next
- Set_考勤彙總()
- End Sub
- Private Sub Set_考勤明細()
- Dim ds1 As New DataSet
- 明細_dgv.DataSource = Nothing : ds1.Clear()
- 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 明細_dgv.ColumnHeadersHeight = 25 : 明細_dgv.AllowUserToAddRows = False : 明細_dgv.RowTemplate.Height = 25
- If 小間距1_ch.Checked = False And 中間距1_ch.Checked = False And 大間距1_ch.Checked = True Then : 明細_dgv.RowTemplate.Height = 75
- ElseIf 小間距1_ch.Checked = False And 中間距1_ch.Checked = True And 大間距1_ch.Checked = False Then : 明細_dgv.RowTemplate.Height = 45
- ElseIf 小間距1_ch.Checked = True And 中間距1_ch.Checked = False And 大間距1_ch.Checked = False Then : 明細_dgv.RowTemplate.Height = 25 : End If
- SQL_考勤明細()
- da.Fill(ds1) : 明細_dgv.DataSource = ds1.Tables(0) : conn.Close()
- 明細_dgv.Columns(0).Visible = False : 明細_dgv.Columns(1).FillWeight = 60 : 明細_dgv.Columns(2).FillWeight = 80 : 明細_dgv.Columns(表頭(17)).FillWeight = 50
- 明細_dgv.Columns(表頭(18)).FillWeight = 50 : 明細_dgv.Columns(表頭(26)).FillWeight = 85
- For I As Integer = 4 To 16 : 明細_dgv.Columns(表頭(I)).FillWeight = 70 : Next
-
- 明細_dgv.Columns("第一").Visible = False : 明細_dgv.Columns("第二").Visible = False : 明細_dgv.Columns("第三").Visible = False
- 明細_dgv.Columns("第四").Visible = False : 明細_dgv.Columns("第五").Visible = False : 明細_dgv.Columns("第六").Visible = False
- 明細_dgv.Columns("假別編號").Visible = False
- 明細_dgv.Columns(表頭(18)).ReadOnly = True
-
- 資料規格() : 總時 = 0 : 總時數_tb.Text = ""
- For i As Integer = 0 To 明細_dgv.Rows.Count - 1
- '-------------基本資料準備------------------------------------
- If 工人_ch.Checked = True Then : 明細_dgv.Rows(i).Cells(表頭(17)).Value = True
- Else : If IsDBNull(明細_dgv.Rows(i).Cells(表頭(17)).Value) Then : 明細_dgv.Rows(i).Cells(表頭(17)).Value = False : End If : End If
- If IsDBNull(明細_dgv.Rows(i).Cells(表頭(18)).Value) Then : 明細_dgv.Rows(i).Cells(表頭(18)).Value = False : End If
- If 明細_dgv.Rows(i).Cells("MGB").Value.ToString = "星期一" Then : 明細_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(0)
- ElseIf 明細_dgv.Rows(i).Cells("MGB").Value.ToString = "星期二" Then : 明細_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(1)
- ElseIf 明細_dgv.Rows(i).Cells("MGB").Value.ToString = "星期三" Then : 明細_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(2)
- ElseIf 明細_dgv.Rows(i).Cells("MGB").Value.ToString = "星期四" Then : 明細_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(3)
- ElseIf 明細_dgv.Rows(i).Cells("MGB").Value.ToString = "星期五" Then : 明細_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(4)
- ElseIf 明細_dgv.Rows(i).Cells("MGB").Value.ToString = "星期六" Then : 明細_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(5)
- ElseIf 明細_dgv.Rows(i).Cells("MGB").Value.ToString = "星期日" Then : 明細_dgv.Rows(i).Cells(表頭(2)).Value = 對話框(6)
- End If
- Dim DFG(6) As String : Dim CV As Integer = 1 : For V As Integer = 0 To 6 : DFG(V) = "" : Next
- If 明細_dgv.Rows(i).Cells("第一").Value.ToString <> "" Then : DFG(CV) = 明細_dgv.Rows(i).Cells("第一").Value.ToString : CV += 1 : End If
- If 明細_dgv.Rows(i).Cells("第二").Value.ToString <> "" Then : DFG(CV) = 明細_dgv.Rows(i).Cells("第二").Value.ToString : CV += 1 : End If
- If 明細_dgv.Rows(i).Cells("第三").Value.ToString <> "" Then : DFG(CV) = 明細_dgv.Rows(i).Cells("第三").Value.ToString : CV += 1 : End If
- If 明細_dgv.Rows(i).Cells("第四").Value.ToString <> "" Then : DFG(CV) = 明細_dgv.Rows(i).Cells("第四").Value.ToString : CV += 1 : End If
- If 明細_dgv.Rows(i).Cells("第五").Value.ToString <> "" Then : DFG(CV) = 明細_dgv.Rows(i).Cells("第五").Value.ToString : CV += 1 : End If
- If 明細_dgv.Rows(i).Cells("第六").Value.ToString <> "" Then : DFG(CV) = 明細_dgv.Rows(i).Cells("第六").Value.ToString : CV += 1 : End If
-
- 時段(1) = DFG(1) : 時段(2) = DFG(2)
- 時段(3) = DFG(3) : 時段(4) = DFG(4)
- 時段(5) = DFG(5) : 時段(6) = DFG(6)
- For II As Integer = 4 To 16 : 明細_dgv.Rows(i).Cells(表頭(II)).Value = "" : Next
-
- If 明細_dgv.Rows(i).Cells("假別編號").Value.ToString = "" Then : 明細_dgv.Rows(i).Cells(表頭(26)).Value = ""
- ElseIf 明細_dgv.Rows(i).Cells("假別編號").Value.ToString = "1" Then : 明細_dgv.Rows(i).Cells(表頭(26)).Value = 對話框(9)
- ElseIf 明細_dgv.Rows(i).Cells("假別編號").Value.ToString = "2" Then : 明細_dgv.Rows(i).Cells(表頭(26)).Value = 對話框(10)
- ElseIf 明細_dgv.Rows(i).Cells("假別編號").Value.ToString = "3" Then : 明細_dgv.Rows(i).Cells(表頭(26)).Value = 對話框(11)
- ElseIf 明細_dgv.Rows(i).Cells("假別編號").Value.ToString = "4" Then : 明細_dgv.Rows(i).Cells(表頭(26)).Value = 對話框(12)
- ElseIf 明細_dgv.Rows(i).Cells("假別編號").Value.ToString = "5" Then : 明細_dgv.Rows(i).Cells(表頭(26)).Value = 對話框(13)
- End If
- '-------------時間推移計算------------------------------------
- If 時段(1) = "" And 時段(2) = "" And 時段(3) = "" And 時段(4) = "" And 時段(5) = "" And 時段(6) = "" Then
- ElseIf 時段(1) <> "" And 時段(2) = "" And 時段(3) = "" And 時段(4) = "" And 時段(5) = "" And 時段(6) = "" Then
- X1 = 時段(1) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- ElseIf 時段(1) <> "" And 時段(2) <> "" And 時段(3) = "" And 時段(4) = "" And 時段(5) = "" And 時段(6) = "" Then
- X1 = 時段(1) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(2) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 665 Then
- X1 = 時段(1) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(9)).Value = 時段(2)
- 明細_dgv.Rows(i).Cells(表頭(11)).Value = "12:00:00" : 明細_dgv.Rows(i).Cells(表頭(5)).Value = "12:00:00"
- 明細_dgv.Rows(i).Cells(表頭(12)).Value = "13:00:00" : 明細_dgv.Rows(i).Cells(表頭(6)).Value = "13:00:00"
- 明細_dgv.Rows(i).Cells(表頭(13)).Value = "17:00:00" : 明細_dgv.Rows(i).Cells(表頭(7)).Value = "17:00:00"
- 明細_dgv.Rows(i).Cells(表頭(14)).Value = "18:00:00" : 明細_dgv.Rows(i).Cells(表頭(8)).Value = "18:00:00"
- ElseIf 間隔1 >= 325 And 間隔1 < 665 Then
- X1 = 時段(1) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(7)).Value = 時段(2)
- 明細_dgv.Rows(i).Cells(表頭(11)).Value = "12:00:00" : 明細_dgv.Rows(i).Cells(表頭(5)).Value = "12:00:00"
- 明細_dgv.Rows(i).Cells(表頭(12)).Value = "13:00:00" : 明細_dgv.Rows(i).Cells(表頭(6)).Value = "13:00:00"
- ElseIf 間隔1 < 325 Then
- X1 = 時段(1) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(1) : Set_時段定點_加四小時() : 明細_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- End If
- ElseIf 時段(1) <> "" And 時段(2) <> "" And 時段(3) <> "" And 時段(4) = "" And 時段(5) = "" And 時段(6) = "" Then
- X1 = 時段(1) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(3) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 665 Then '---------大於十小時
- X1 = 時段(1) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(2) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 <= 325 Then
- X1 = 時段(1) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(9)).Value = 時段(3)
- 明細_dgv.Rows(i).Cells(表頭(12)).Value = "13:00:00" : 明細_dgv.Rows(i).Cells(表頭(6)).Value = "13:00:00"
- 明細_dgv.Rows(i).Cells(表頭(13)).Value = "17:00:00" : 明細_dgv.Rows(i).Cells(表頭(7)).Value = "17:00:00"
- 明細_dgv.Rows(i).Cells(表頭(14)).Value = "18:00:00" : 明細_dgv.Rows(i).Cells(表頭(8)).Value = "18:00:00"
- ElseIf 間隔1 > 325 Then
- X1 = 時段(1) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(3) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(9)).Value = 時段(3)
- 明細_dgv.Rows(i).Cells(表頭(11)).Value = "12:00:00" : 明細_dgv.Rows(i).Cells(表頭(5)).Value = "12:00:00"
- 明細_dgv.Rows(i).Cells(表頭(12)).Value = "13:00:00" : 明細_dgv.Rows(i).Cells(表頭(6)).Value = "13:00:00"
- 明細_dgv.Rows(i).Cells(表頭(13)).Value = "17:00:00" : 明細_dgv.Rows(i).Cells(表頭(7)).Value = "17:00:00"
- 明細_dgv.Rows(i).Cells(表頭(14)).Value = "18:00:00" : 明細_dgv.Rows(i).Cells(表頭(8)).Value = "18:00:00"
- End If
- ElseIf 間隔1 > 325 And 間隔1 < 625 Then
- X1 = 時段(1) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(3) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(7)).Value = 時段(3)
- 明細_dgv.Rows(i).Cells(表頭(11)).Value = "12:00:00" : 明細_dgv.Rows(i).Cells(表頭(5)).Value = "12:00:00"
- 明細_dgv.Rows(i).Cells(表頭(12)).Value = "13:00:00" : 明細_dgv.Rows(i).Cells(表頭(6)).Value = "13:00:00"
- ElseIf 間隔1 >= 325 Then
- X1 = 時段(2) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(3) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 90 Then
- X1 = 時段(1) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(7)).Value = 時段(3)
- X1 = 時段(2) : Set_時段定點_加一小時() : 明細_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(6)).Value = X1
- Else
- X1 = 時段(1) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(12)).Value = X1
- End If
- Else
- X1 = 時段(1) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(12)).Value = X1
- End If
- ElseIf 時段(1) <> "" And 時段(2) <> "" And 時段(3) <> "" And 時段(4) <> "" And 時段(5) = "" And 時段(6) = "" Then
- X1 = 時段(1) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(4) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 665 Then
- X1 = 時段(1) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(9)).Value = 時段(4)
- 明細_dgv.Rows(i).Cells(表頭(13)).Value = "17:00:00" : 明細_dgv.Rows(i).Cells(表頭(7)).Value = "17:00:00"
- 明細_dgv.Rows(i).Cells(表頭(14)).Value = "18:00:00" : 明細_dgv.Rows(i).Cells(表頭(8)).Value = "18:00:00"
- Else
- X1 = 時段(1) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(7)).Value = 時段(4)
- End If
- ElseIf 時段(1) <> "" And 時段(2) <> "" And 時段(3) <> "" And 時段(4) <> "" And 時段(5) <> "" And 時段(6) = "" Then
- X1 = 時段(1) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(5) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 665 Then
- X1 = 時段(4) : Set_時段定點() : 計算(0) = X1 : X1 = 時段(5) : Set_時段定點() : 計算(1) = X1 : 時間比對()
- If 間隔1 >= 90 Then
- X1 = 時段(1) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(7)).Value = 時段(4)
- X1 = 時段(5) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(9)).Value = 時段(6)
- X1 = 時段(5) : Set_時段定點_減一小時() : 明細_dgv.Rows(i).Cells(表頭(14)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(7)).Value = X1
- Else
- X1 = 時段(1) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(7)).Value = 時段(4)
- X1 = 時段(5) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(14)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(8)).Value = 時段(5)
- End If
- Else
- X1 = 時段(1) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(7)).Value = 時段(4)
- X1 = 時段(5) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(14)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(8)).Value = 時段(5)
- End If
- ElseIf 時段(1) <> "" And 時段(2) <> "" And 時段(3) <> "" And 時段(4) <> "" And 時段(5) <> "" And 時段(6) <> "" Then
- X1 = 時段(1) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(10)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(4)).Value = 時段(1)
- X1 = 時段(2) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(11)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(5)).Value = 時段(2)
- X1 = 時段(3) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(12)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(6)).Value = 時段(3)
- X1 = 時段(4) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(13)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(7)).Value = 時段(4)
- X1 = 時段(5) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(14)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(8)).Value = 時段(5)
- X1 = 時段(6) : Set_時段定點() : 明細_dgv.Rows(i).Cells(表頭(15)).Value = X1 : 明細_dgv.Rows(i).Cells(表頭(9)).Value = 時段(6)
- End If
- '-------------時間彙總計算------------------------------------
- 時長 = 0
- If (明細_dgv.Rows(i).Cells(表頭(17)).Value = False And 明細_dgv.Rows(i).Cells(表頭(18)).Value = True) Or
- (明細_dgv.Rows(i).Cells("MGB").Value.ToString = "星期日" And 明細_dgv.Rows(i).Cells(表頭(17)).Value = False) Then
- 明細_dgv.Rows(i).Cells(表頭(16)).Value = "00 H 00 M"
- Else
- If 明細_dgv.Rows(i).Cells(表頭(10)).Value.ToString <> "" And 明細_dgv.Rows(i).Cells(表頭(11)).Value.ToString <> "" And
- 明細_dgv.Rows(i).Cells(表頭(12)).Value.ToString = "" And 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString = "" And
- 明細_dgv.Rows(i).Cells(表頭(14)).Value.ToString = "" And 明細_dgv.Rows(i).Cells(表頭(15)).Value.ToString = "" Then
- 計算(0) = 明細_dgv.Rows(i).Cells(表頭(10)).Value.ToString : 計算(1) = 明細_dgv.Rows(i).Cells(表頭(11)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- If 時長 <= 8 Then : 明細_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M" : End If
- ElseIf 明細_dgv.Rows(i).Cells(表頭(10)).Value.ToString <> "" And 明細_dgv.Rows(i).Cells(表頭(11)).Value.ToString <> "" And
- 明細_dgv.Rows(i).Cells(表頭(12)).Value.ToString <> "" And 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString <> "" And
- 明細_dgv.Rows(i).Cells(表頭(14)).Value.ToString = "" And 明細_dgv.Rows(i).Cells(表頭(15)).Value.ToString = "" Then
- 計算(0) = 明細_dgv.Rows(i).Cells(表頭(10)).Value.ToString : 計算(1) = 明細_dgv.Rows(i).Cells(表頭(11)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- 計算(0) = 明細_dgv.Rows(i).Cells(表頭(12)).Value.ToString : 計算(1) = 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- If 時長 <= 8 Then : 明細_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M" : Else
- If 明細_dgv.Rows(i).Cells(表頭(17)).Value = False Then
- 明細_dgv.Rows(i).Cells(表頭(16)).Value = "08 H 00 M"
- Else
- If 時長 < 10 Then : 明細_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M"
- Else : 明細_dgv.Rows(i).Cells(表頭(16)).Value = 時長 & " H 00 M" : End If
- End If
- End If
- ElseIf 明細_dgv.Rows(i).Cells(表頭(10)).Value.ToString <> "" And 明細_dgv.Rows(i).Cells(表頭(11)).Value.ToString <> "" And
- 明細_dgv.Rows(i).Cells(表頭(12)).Value.ToString <> "" And 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString <> "" And
- 明細_dgv.Rows(i).Cells(表頭(14)).Value.ToString <> "" And 明細_dgv.Rows(i).Cells(表頭(15)).Value.ToString <> "" Then
- 計算(0) = 明細_dgv.Rows(i).Cells(表頭(10)).Value.ToString : 計算(1) = 明細_dgv.Rows(i).Cells(表頭(11)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- 計算(0) = 明細_dgv.Rows(i).Cells(表頭(12)).Value.ToString : 計算(1) = 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- 計算(0) = 明細_dgv.Rows(i).Cells(表頭(14)).Value.ToString : 計算(1) = 明細_dgv.Rows(i).Cells(表頭(15)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- If 時長 <= 8 Then : 明細_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M" : Else
- If 明細_dgv.Rows(i).Cells(表頭(17)).Value = False Then
- 明細_dgv.Rows(i).Cells(表頭(16)).Value = "08 H 00 M"
- Else
- If 時長 < 10 Then : 明細_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M"
- Else : 明細_dgv.Rows(i).Cells(表頭(16)).Value = 時長 & " H 00 M" : End If
- End If
- End If
- End If
- If 明細_dgv.Rows(i).Cells(表頭(16)).Value.ToString <> "" Then
- 總時 += CInt(Strings.Left(明細_dgv.Rows(i).Cells(表頭(16)).Value.ToString, 2))
- If 總時 < 10 Then : 總時數_tb.Text = "0" & 總時 & " H 00 M" : Else : 總時數_tb.Text = 總時 & " H 00 M" : End If
- End If
- End If
- '-------------清單介面優化------------------------------------
- If 深色風格 = False Then
- If 明細_dgv.Rows(i).Cells(0).Value.ToString = "星期六" Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
- ElseIf 明細_dgv.Rows(i).Cells(0).Value.ToString = "星期日" Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink : End If
- If 明細_dgv.Rows(i).Cells(表頭(18)).Value = True Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink : End If
- Else
- If 明細_dgv.Rows(i).Cells(0).Value.ToString = "星期六" Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Purple
- ElseIf 明細_dgv.Rows(i).Cells(0).Value.ToString = "星期日" Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkRed : End If
- If 明細_dgv.Rows(i).Cells(表頭(18)).Value = True Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkRed : End If
- End If
- Next : 明細_dgv.Columns(表頭(27)).FillWeight = 120 : 明細_dgv.Columns("C_No").FillWeight = 50
- 'Set_明細_dgv_下拉式清單1() :
- End Sub
- Private Sub Set_明細_dgv_下拉式清單1()
- Dim Col As New DataGridViewComboBoxColumn With {
- .FillWeight = 40,
- .DataPropertyName = "假別編號"
- }
- Col.Items.Clear()
- Col.Items.Add("") : Col.Items.Add("1") : Col.Items.Add("2") : Col.Items.Add("3") : Col.Items.Add("4") : Col.Items.Add("5")
- Col.HeaderText = "C_No" : Col.Name = "C_No"
- 明細_dgv.Columns.Insert(27, Col)
- End Sub
- Private Sub 資料規格()
- If 實際打卡_cb.Checked = True Then
- For I As Integer = 4 To 9 : 明細_dgv.Columns(表頭(I)).Visible = True : Next : For I As Integer = 10 To 15 : 明細_dgv.Columns(表頭(I)).Visible = False : Next
- Else
- For I As Integer = 4 To 9 : 明細_dgv.Columns(表頭(I)).Visible = False : Next : For I As Integer = 10 To 15 : 明細_dgv.Columns(表頭(I)).Visible = True : Next
- End If
- End Sub
- Private Sub 資料規格1()
- If 實際打卡_cb.Checked = True Then
- For I As Integer = 4 To 9 : 查詢表_dgv.Columns(表頭(I)).Visible = True : Next : For I As Integer = 10 To 15 : 查詢表_dgv.Columns(表頭(I)).Visible = False : Next
- Else
- For I As Integer = 4 To 9 : 查詢表_dgv.Columns(表頭(I)).Visible = False : Next : For I As Integer = 10 To 15 : 查詢表_dgv.Columns(表頭(I)).Visible = True : Next
- End If
- End Sub
- Private Sub 時間比對()
- Dim dateA As Date = Date.ParseExact("[" & 計算(0) & "]", "[HH:mm:ss]", Nothing)
- Dim dateB As Date = Date.ParseExact("[" & 計算(1) & "]", "[HH:mm:ss]", Nothing)
- Dim hoursDiff As Integer = DateDiff(DateInterval.Minute, dateA, dateB)
- 間隔1 = Math.Abs(hoursDiff)
- End Sub
- Private Sub Set_時段定點()
- Dim 時 As String = Strings.Left(X1, 2) : Dim 分 As String = Strings.Mid(X1, 4, 2)
- If (時 = "23" And CInt(分) >= 30) Or (時 = "00" And CInt(分) < 0) Then : X1 = "23:59:59" : ElseIf (時 = "00" And CInt(分) >= 30) Or (時 = "01" And CInt(分) < 30) Then : X1 = "01:00:00"
- ElseIf (時 = "01" And CInt(分) >= 30) Or (時 = "02" And CInt(分) < 30) Then : X1 = "02:00:00" : ElseIf (時 = "02" And CInt(分) >= 30) Or (時 = "03" And CInt(分) < 30) Then : X1 = "03:00:00"
- ElseIf (時 = "03" And CInt(分) >= 30) Or (時 = "04" And CInt(分) < 30) Then : X1 = "04:00:00" : ElseIf (時 = "04" And CInt(分) >= 30) Or (時 = "05" And CInt(分) < 30) Then : X1 = "05:00:00"
- ElseIf (時 = "05" And CInt(分) >= 30) Or (時 = "06" And CInt(分) < 30) Then : X1 = "06:00:00" : ElseIf (時 = "06" And CInt(分) >= 30) Or (時 = "07" And CInt(分) < 30) Then : X1 = "07:00:00"
- ElseIf (時 = "07" And CInt(分) >= 30) Or (時 = "08" And CInt(分) < 30) Then : X1 = "08:00:00" : ElseIf (時 = "08" And CInt(分) >= 30) Or (時 = "09" And CInt(分) < 30) Then : X1 = "09:00:00"
- ElseIf (時 = "09" And CInt(分) >= 30) Or (時 = "10" And CInt(分) < 30) Then : X1 = "10:00:00" : ElseIf (時 = "10" And CInt(分) >= 30) Or (時 = "11" And CInt(分) < 30) Then : X1 = "11:00:00"
- ElseIf (時 = "11" And CInt(分) >= 30) Or (時 = "12" And CInt(分) < 30) Then : X1 = "12:00:00" : ElseIf (時 = "12" And CInt(分) >= 30) Or (時 = "13" And CInt(分) < 30) Then : X1 = "13:00:00"
- ElseIf (時 = "13" And CInt(分) >= 30) Or (時 = "14" And CInt(分) < 30) Then : X1 = "14:00:00" : ElseIf (時 = "14" And CInt(分) >= 30) Or (時 = "15" And CInt(分) < 30) Then : X1 = "15:00:00"
- ElseIf (時 = "15" And CInt(分) >= 30) Or (時 = "16" And CInt(分) < 30) Then : X1 = "16:00:00" : ElseIf (時 = "16" And CInt(分) >= 30) Or (時 = "17" And CInt(分) < 30) Then : X1 = "17:00:00"
- ElseIf (時 = "17" And CInt(分) >= 30) Or (時 = "18" And CInt(分) < 30) Then : X1 = "18:00:00" : ElseIf (時 = "18" And CInt(分) >= 30) Or (時 = "19" And CInt(分) < 30) Then : X1 = "19:00:00"
- ElseIf (時 = "19" And CInt(分) >= 30) Or (時 = "20" And CInt(分) < 30) Then : X1 = "20:00:00" : ElseIf (時 = "20" And CInt(分) >= 30) Or (時 = "21" And CInt(分) < 30) Then : X1 = "21:00:00"
- ElseIf (時 = "21" And CInt(分) >= 30) Or (時 = "22" And CInt(分) < 30) Then : X1 = "22:00:00" : ElseIf (時 = "22" And CInt(分) >= 30) Or (時 = "23" And CInt(分) < 30) Then : X1 = "23:00:00"
- End If
- End Sub
- Private Sub Set_時段定點_減一小時()
- Dim 時 As String = Strings.Left(X1, 2) : Dim 分 As String = Strings.Mid(X1, 4, 2)
- If (時 = "23" And CInt(分) >= 30) Or (時 = "00" And CInt(分) < 30) Then : X1 = "23:00:00" : ElseIf (時 = "00" And CInt(分) >= 30) Or (時 = "01" And CInt(分) < 30) Then : X1 = "00:00:00"
- ElseIf (時 = "01" And CInt(分) >= 30) Or (時 = "02" And CInt(分) < 30) Then : X1 = "01:00:00" : ElseIf (時 = "02" And CInt(分) >= 30) Or (時 = "03" And CInt(分) < 30) Then : X1 = "02:00:00"
- ElseIf (時 = "03" And CInt(分) >= 30) Or (時 = "04" And CInt(分) < 30) Then : X1 = "03:00:00" : ElseIf (時 = "04" And CInt(分) >= 30) Or (時 = "05" And CInt(分) < 30) Then : X1 = "04:00:00"
- ElseIf (時 = "05" And CInt(分) >= 30) Or (時 = "06" And CInt(分) < 30) Then : X1 = "05:00:00" : ElseIf (時 = "06" And CInt(分) >= 30) Or (時 = "07" And CInt(分) < 30) Then : X1 = "06:00:00"
- ElseIf (時 = "07" And CInt(分) >= 30) Or (時 = "08" And CInt(分) < 30) Then : X1 = "07:00:00" : ElseIf (時 = "08" And CInt(分) >= 30) Or (時 = "09" And CInt(分) < 30) Then : X1 = "08:00:00"
- ElseIf (時 = "09" And CInt(分) >= 30) Or (時 = "10" And CInt(分) < 30) Then : X1 = "09:00:00" : ElseIf (時 = "10" And CInt(分) >= 30) Or (時 = "11" And CInt(分) < 30) Then : X1 = "10:00:00"
- ElseIf (時 = "11" And CInt(分) >= 30) Or (時 = "12" And CInt(分) < 30) Then : X1 = "11:00:00" : ElseIf (時 = "12" And CInt(分) >= 30) Or (時 = "13" And CInt(分) < 30) Then : X1 = "12:00:00"
- ElseIf (時 = "13" And CInt(分) >= 30) Or (時 = "14" And CInt(分) < 30) Then : X1 = "13:00:00" : ElseIf (時 = "14" And CInt(分) >= 30) Or (時 = "15" And CInt(分) < 30) Then : X1 = "14:00:00"
- ElseIf (時 = "15" And CInt(分) >= 30) Or (時 = "16" And CInt(分) < 30) Then : X1 = "15:00:00" : ElseIf (時 = "16" And CInt(分) >= 30) Or (時 = "17" And CInt(分) < 30) Then : X1 = "16:00:00"
- ElseIf (時 = "17" And CInt(分) >= 30) Or (時 = "18" And CInt(分) < 30) Then : X1 = "17:00:00" : ElseIf (時 = "18" And CInt(分) >= 30) Or (時 = "19" And CInt(分) < 30) Then : X1 = "18:00:00"
- ElseIf (時 = "19" And CInt(分) >= 30) Or (時 = "20" And CInt(分) < 30) Then : X1 = "19:00:00" : ElseIf (時 = "20" And CInt(分) >= 30) Or (時 = "21" And CInt(分) < 30) Then : X1 = "20:00:00"
- ElseIf (時 = "21" And CInt(分) >= 30) Or (時 = "22" And CInt(分) < 30) Then : X1 = "21:00:00" : ElseIf (時 = "22" And CInt(分) >= 30) Or (時 = "23" And CInt(分) < 30) Then : X1 = "22:00:00"
- End If
- End Sub
- Private Sub Set_時段定點_加一小時()
- Dim 時 As String = Strings.Left(X1, 2) : Dim 分 As String = Strings.Mid(X1, 4, 2)
- If (時 = "23" And CInt(分) >= 30) Or (時 = "00" And CInt(分) < 30) Then : X1 = "01:00:00" : ElseIf (時 = "00" And CInt(分) >= 30) Or (時 = "01" And CInt(分) < 30) Then : X1 = "02:00:00"
- ElseIf (時 = "01" And CInt(分) >= 30) Or (時 = "02" And CInt(分) < 30) Then : X1 = "03:00:00" : ElseIf (時 = "02" And CInt(分) >= 30) Or (時 = "03" And CInt(分) < 30) Then : X1 = "04:00:00"
- ElseIf (時 = "03" And CInt(分) >= 30) Or (時 = "04" And CInt(分) < 30) Then : X1 = "05:00:00" : ElseIf (時 = "04" And CInt(分) >= 30) Or (時 = "05" And CInt(分) < 30) Then : X1 = "06:00:00"
- ElseIf (時 = "05" And CInt(分) >= 30) Or (時 = "06" And CInt(分) < 30) Then : X1 = "07:00:00" : ElseIf (時 = "06" And CInt(分) >= 30) Or (時 = "07" And CInt(分) < 30) Then : X1 = "08:00:00"
- ElseIf (時 = "07" And CInt(分) >= 30) Or (時 = "08" And CInt(分) < 30) Then : X1 = "09:00:00" : ElseIf (時 = "08" And CInt(分) >= 30) Or (時 = "09" And CInt(分) < 30) Then : X1 = "10:00:00"
- ElseIf (時 = "09" And CInt(分) >= 30) Or (時 = "10" And CInt(分) < 30) Then : X1 = "11:00:00" : ElseIf (時 = "10" And CInt(分) >= 30) Or (時 = "11" And CInt(分) < 30) Then : X1 = "12:00:00"
- ElseIf (時 = "11" And CInt(分) >= 30) Or (時 = "12" And CInt(分) < 30) Then : X1 = "13:00:00" : ElseIf (時 = "12" And CInt(分) >= 30) Or (時 = "13" And CInt(分) < 30) Then : X1 = "14:00:00"
- ElseIf (時 = "13" And CInt(分) >= 30) Or (時 = "14" And CInt(分) < 30) Then : X1 = "15:00:00" : ElseIf (時 = "14" And CInt(分) >= 30) Or (時 = "15" And CInt(分) < 30) Then : X1 = "16:00:00"
- ElseIf (時 = "15" And CInt(分) >= 30) Or (時 = "16" And CInt(分) < 30) Then : X1 = "17:00:00" : ElseIf (時 = "16" And CInt(分) >= 30) Or (時 = "17" And CInt(分) < 30) Then : X1 = "18:00:00"
- ElseIf (時 = "17" And CInt(分) >= 30) Or (時 = "18" And CInt(分) < 30) Then : X1 = "19:00:00" : ElseIf (時 = "18" And CInt(分) >= 30) Or (時 = "19" And CInt(分) < 30) Then : X1 = "20:00:00"
- ElseIf (時 = "19" And CInt(分) >= 30) Or (時 = "20" And CInt(分) < 30) Then : X1 = "21:00:00" : ElseIf (時 = "20" And CInt(分) >= 30) Or (時 = "21" And CInt(分) < 30) Then : X1 = "22:00:00"
- ElseIf (時 = "21" And CInt(分) >= 30) Or (時 = "22" And CInt(分) < 30) Then : X1 = "23:00:00" : ElseIf (時 = "22" And CInt(分) >= 30) Or (時 = "23" And CInt(分) < 30) Then : X1 = "24:00:00"
- End If
- End Sub
- Private Sub Set_時段定點_加四小時()
- Dim 時 As String = Strings.Left(X1, 2) : Dim 分 As String = Strings.Mid(X1, 4, 2)
- If (時 = "23" And CInt(分) >= 30) Or (時 = "00" And CInt(分) < 30) Then : X1 = "04:00:00" : ElseIf (時 = "00" And CInt(分) >= 30) Or (時 = "01" And CInt(分) < 30) Then : X1 = "05:00:00"
- ElseIf (時 = "01" And CInt(分) >= 30) Or (時 = "02" And CInt(分) < 30) Then : X1 = "06:00:00" : ElseIf (時 = "02" And CInt(分) >= 30) Or (時 = "03" And CInt(分) < 30) Then : X1 = "07:00:00"
- ElseIf (時 = "03" And CInt(分) >= 30) Or (時 = "04" And CInt(分) < 30) Then : X1 = "08:00:00" : ElseIf (時 = "04" And CInt(分) >= 30) Or (時 = "05" And CInt(分) < 30) Then : X1 = "09:00:00"
- ElseIf (時 = "05" And CInt(分) >= 30) Or (時 = "06" And CInt(分) < 30) Then : X1 = "10:00:00" : ElseIf (時 = "06" And CInt(分) >= 30) Or (時 = "07" And CInt(分) < 30) Then : X1 = "11:00:00"
- ElseIf (時 = "07" And CInt(分) >= 30) Or (時 = "08" And CInt(分) < 30) Then : X1 = "12:00:00" : ElseIf (時 = "08" And CInt(分) >= 30) Or (時 = "09" And CInt(分) < 30) Then : X1 = "13:00:00"
- ElseIf (時 = "09" And CInt(分) >= 30) Or (時 = "10" And CInt(分) < 30) Then : X1 = "14:00:00" : ElseIf (時 = "10" And CInt(分) >= 30) Or (時 = "11" And CInt(分) < 30) Then : X1 = "15:00:00"
- ElseIf (時 = "11" And CInt(分) >= 30) Or (時 = "12" And CInt(分) < 30) Then : X1 = "16:00:00" : ElseIf (時 = "12" And CInt(分) >= 30) Or (時 = "13" And CInt(分) < 30) Then : X1 = "17:00:00"
- ElseIf (時 = "13" And CInt(分) >= 30) Or (時 = "14" And CInt(分) < 30) Then : X1 = "18:00:00" : ElseIf (時 = "14" And CInt(分) >= 30) Or (時 = "15" And CInt(分) < 30) Then : X1 = "19:00:00"
- ElseIf (時 = "15" And CInt(分) >= 30) Or (時 = "16" And CInt(分) < 30) Then : X1 = "20:00:00" : ElseIf (時 = "16" And CInt(分) >= 30) Or (時 = "17" And CInt(分) < 30) Then : X1 = "21:00:00"
- ElseIf (時 = "17" And CInt(分) >= 30) Or (時 = "18" And CInt(分) < 30) Then : X1 = "22:00:00" : ElseIf (時 = "18" And CInt(分) >= 30) Or (時 = "19" And CInt(分) < 30) Then : X1 = "23:00:00"
- ElseIf (時 = "19" And CInt(分) >= 30) Or (時 = "20" And CInt(分) < 30) Then : X1 = "00:00:00" : ElseIf (時 = "20" And CInt(分) >= 30) Or (時 = "21" And CInt(分) < 30) Then : X1 = "01:00:00"
- ElseIf (時 = "21" And CInt(分) >= 30) Or (時 = "22" And CInt(分) < 30) Then : X1 = "02:00:00" : ElseIf (時 = "22" And CInt(分) >= 30) Or (時 = "23" And CInt(分) < 30) Then : X1 = "03:00:00"
- End If
- End Sub
- Private Sub 語言轉換讀取()
- If 系統語言 = "繁體中文" Then : 語言 = "CH" : ElseIf 系統語言 = "English" Then : 語言 = "EN" : ElseIf 系統語言 = "Indonesian" Then : 語言 = "IN" : End If
- Me.Text = 系統語言字典("H001-270-" & 語言) : ToolTip1.ToolTipTitle = 系統語言字典("G000-108-" & 語言) : 實際打卡_cb.Text = 系統語言字典("H609-121-" & 語言)
- 在職_bt.Text = 系統語言字典("H607-108-" & 語言) : 離職_bt.Text = 系統語言字典("H002-116-" & 語言) : 考勤計算_cb.Text = 系統語言字典("H609-122-" & 語言)
- 考勤明細表_tp.Text = 系統語言字典("H001-270-" & 語言) : 考勤彙總表_tp.Text = 系統語言字典("H609-126-" & 語言) : Label56.Text = 系統語言字典("H609-127-" & 語言)
- 假日設定_bt.Text = 系統語言字典("H609-127-" & 語言) : 考勤查詢表_tp.Text = 系統語言字典("H609-140-" & 語言) : 單一列印_cb.Text = 系統語言字典("H609-143-" & 語言)
- 工人_ch.Text = 系統語言字典("G000-159-" & 語言) : Label12.Text = 系統語言字典("H609-111-" & 語言) : Label21.Text = 系統語言字典("H609-111-" & 語言)
- Label11.Text = 系統語言字典("H609-139-" & 語言) : Label24.Text = 系統語言字典("H609-139-" & 語言) : Label8.Text = 系統語言字典("H609-130-" & 語言)
- Label6.Text = 系統語言字典("H609-109-" & 語言) : Label23.Text = 系統語言字典("H609-109-" & 語言) : Label9.Text = 系統語言字典("H609-131-" & 語言)
- Label7.Text = 系統語言字典("H609-110-" & 語言) : Label22.Text = 系統語言字典("H609-110-" & 語言) : Label10.Text = 系統語言字典("H609-132-" & 語言)
- Label13.Text = 系統語言字典("H609-112-" & 語言) : Label20.Text = 系統語言字典("H609-112-" & 語言) : 表頭(21) = 系統語言字典("H609-125-" & 語言)
- Label14.Text = 系統語言字典("H609-113-" & 語言) : Label19.Text = 系統語言字典("H609-113-" & 語言) : Label1.Text = 系統語言字典("H609-125-" & 語言)
- Label15.Text = 系統語言字典("H609-114-" & 語言) : Label18.Text = 系統語言字典("H609-114-" & 語言)
-
- 表頭(0) = 系統語言字典("H601-103-" & 語言) : 表頭(1) = 系統語言字典("H602-104-" & 語言) : 表頭(2) = 系統語言字典("H609-107-" & 語言) : 表頭(3) = 系統語言字典("H609-108-" & 語言)
- 表頭(10) = 系統語言字典("H609-115-" & 語言) : 表頭(11) = 系統語言字典("H609-116-" & 語言) : 表頭(12) = 系統語言字典("H609-117-" & 語言) : 表頭(13) = 系統語言字典("H609-118-" & 語言)
- 表頭(14) = 系統語言字典("H609-119-" & 語言) : 表頭(15) = 系統語言字典("H609-120-" & 語言) : 表頭(16) = 系統語言字典("H609-123-" & 語言) : 表頭(17) = 系統語言字典("H609-124-" & 語言)
- 表頭(22) = 系統語言字典("H607-103-" & 語言) : 表頭(18) = 系統語言字典("H609-128-" & 語言) : 表頭(19) = 系統語言字典("H601-108-" & 語言) : 表頭(20) = 系統語言字典("H609-129-" & 語言)
- 表頭(4) = 系統語言字典("H609-109-" & 語言) : 表頭(26) = 系統語言字典("H609-138-" & 語言) : 表頭(27) = 系統語言字典("G000-155-" & 語言) : 表頭(8) = 系統語言字典("H609-113-" & 語言)
- 表頭(9) = 系統語言字典("H609-114-" & 語言) : 表頭(7) = 系統語言字典("H609-112-" & 語言) : 表頭(6) = 系統語言字典("H609-111-" & 語言) : 表頭(5) = 系統語言字典("H609-110-" & 語言)
- 表頭(25) = 系統語言字典("H609-132-" & 語言) : 表頭(24) = 系統語言字典("H609-131-" & 語言) : 表頭(23) = 系統語言字典("H609-130-" & 語言)
-
- 對話框(0) = 系統語言字典("H609-100-" & 語言) : 對話框(1) = 系統語言字典("H609-101-" & 語言) : 對話框(7) = 系統語言字典("G000-110-" & 語言) : 對話框(12) = 系統語言字典("H609-136-" & 語言)
- 對話框(2) = 系統語言字典("H609-102-" & 語言) : 對話框(3) = 系統語言字典("H609-103-" & 語言) : 對話框(8) = 系統語言字典("G000-119-" & 語言) : 對話框(13) = 系統語言字典("H609-137-" & 語言)
- 對話框(4) = 系統語言字典("H609-104-" & 語言) : 對話框(5) = 系統語言字典("H609-105-" & 語言) : 對話框(10) = 系統語言字典("H609-134-" & 語言) : 對話框(11) = 系統語言字典("H609-135-" & 語言)
- 對話框(14) = 系統語言字典("G000-158-" & 語言) : 對話框(16) = 系統語言字典("H609-141-" & 語言) : 對話框(17) = 系統語言字典("H609-142-" & 語言) : 對話框(18) = 系統語言字典("H204-134-" & 語言)
- 對話框(9) = 系統語言字典("H609-133-" & 語言) : 對話框(6) = 系統語言字典("H609-106-" & 語言) : 對話框(15) = 系統語言字典("H609-139-" & 語言)
- 請假編號_cb.Items.Clear() : 請假編號_cb.Items.Add("") : 請假編號_cb.Items.Add(對話框(9)) : 請假編號_cb.Items.Add(對話框(10))
- 請假編號_cb.Items.Add(對話框(11)) : 請假編號_cb.Items.Add(對話框(12)) : 請假編號_cb.Items.Add(對話框(13))
- End Sub
- Private Sub 考勤編輯_bt_MouseEnter(sender As Object, e As EventArgs) Handles 考勤編輯_bt.MouseEnter
- ToolTip1.SetToolTip(Me.考勤編輯_bt, 對話框(15))
- End Sub
- Private Sub 考勤編輯1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 考勤編輯1_bt.MouseEnter
- ToolTip1.SetToolTip(Me.考勤編輯1_bt, 對話框(15))
- End Sub
- Private Sub 考勤調整_bt_MouseEnter(sender As Object, e As EventArgs) Handles 考勤調整_bt.MouseEnter
- ToolTip1.SetToolTip(Me.考勤調整_bt, 對話框(7))
- End Sub
- Private Sub 考勤調整1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 考勤調整1_bt.MouseEnter
- ToolTip1.SetToolTip(Me.考勤調整1_bt, 對話框(7))
- End Sub
- Private Sub 存檔_bt_MouseEnter(sender As Object, e As EventArgs) Handles 存檔_bt.MouseEnter
- ToolTip1.SetToolTip(Me.存檔_bt, 對話框(7))
- End Sub
- Private Sub 加班請假_bt_MouseEnter(sender As Object, e As EventArgs) Handles 加班請假_bt.MouseEnter
- ToolTip1.SetToolTip(Me.加班請假_bt, 對話框(7))
- End Sub
- Private Sub 年分清單()
- SQL_年分清單() : 年份_cb.Items.Clear() : 年份1_cb.Items.Clear() : 年份2_cb.Items.Clear()
- While (dr.Read()) : 年份_cb.Items.Add(dr("日期")) : 年份1_cb.Items.Add(dr("日期")) : 年份2_cb.Items.Add(dr("日期")) : End While : conn.Close()
- End Sub
- Private Sub 級別清單()
- SQL_考勤級別讀取() : 級別_cb.Items.Clear() : 級別_cb.Items.Add("") : 級別1_cb.Items.Clear() : 級別1_cb.Items.Add("") : 級別2_cb.Items.Clear() : 級別2_cb.Items.Add("")
- While (dr.Read()) : 級別_cb.Items.Add(dr("級別")) : 級別1_cb.Items.Add(dr("級別")) : 級別2_cb.Items.Add(dr("級別")) : End While : conn.Close()
- End Sub
- Private Sub 地區清單()
- 地區_cb.Items.Clear() : 地區_cb.Items.Add("") : 地區_cb.Items.Add(對話框(16)) : 地區_cb.Items.Add(對話框(17))
- 地區1_cb.Items.Clear() : 地區1_cb.Items.Add("") : 地區1_cb.Items.Add(對話框(16)) : 地區1_cb.Items.Add(對話框(17))
- 部門1_cb.Items.Clear() : 部門1_cb.Items.Add("") : 部門1_cb.Items.Add(對話框(16)) : 部門1_cb.Items.Add(對話框(17))
- End Sub
- Private Sub 考勤明細表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
- 風格() : H(609) = True : 介面 = "H609" : 語言轉換讀取() : 顯示說明(999, True)
- 在職 = True : Panel1.SendToBack() : 實際打卡_cb.Checked = True : 視窗4_pl.Visible = False : 視窗3_pl.Visible = False : 視窗2_pl.Visible = False
- If CInt(登入人級別) <= 5 Then : 高級_cb.Checked = True : Else : 高級_cb.Checked = False : End If
- 計算分流.Enabled = True
- End Sub
- Private Sub 計算分流_Tick(sender As Object, e As EventArgs) Handles 計算分流.Tick
- 計算分流.Enabled = False
- 地區清單() : 級別清單() : Set_使用者清單() : 年分清單() : 暫時不開 = True
- 年份_cb.Text = Year(Today) : 月份_cb.SelectedIndex = Month(Today) - 1 : 年份1_cb.Text = Year(Today) : 月份1_cb.SelectedIndex = Month(Today) - 1
- 年份2_cb.Text = Year(Today) : 月份2_cb.SelectedIndex = Month(Today) - 1 : Set_考勤明細() : Set_總清單()
- If 清單1_dgv.Rows.Count > 0 Then
- PA1 = 清單1_dgv.Rows(0).Cells("ID卡號").Value.ToString : 姓名_tb.Text = 清單1_dgv.Rows(0).Cells(表頭(0)).Value.ToString.ToUpper
- 員工代碼_tb.Text = 清單1_dgv.Rows(0).Cells(表頭(23)).Value.ToString.ToUpper : 員工崗位_tb.Text = 清單1_dgv.Rows(0).Cells(表頭(24)).Value.ToString.ToUpper
- 部門名稱_tb.Text = 清單1_dgv.Rows(0).Cells(表頭(25)).Value.ToString.ToUpper
- ID_tb.Text = PA1
- PA2 = 年份_cb.Text : PA3 = 月份_cb.Text : Set_考勤明細()
- End If : 首次開啟 = True
- End Sub
- Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click
- H(609) = True : 介面 = "H609" : 語言轉換讀取()
- 首次開啟 = False : 計算分流.Enabled = True
- End Sub
- Private Sub 考勤明細表_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
- H(607) = False : MyMod.虛擬桌面開啟()
- End Sub
- Private Sub 考勤明細表_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged
- MyMod.清單字體大小調整()
- 查詢表_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
- 考勤彙總_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
- 明細_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
- 清單1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
- End Sub
- Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
- timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
- End Sub
- Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
- timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
- End Sub
- Private Sub 查詢表_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 查詢表_dgv.RowPostPaint
- Dim linePen As New Pen(Color.Blue, 2)
- If e.RowIndex = 查詢表_dgv.Rows.Count - 1 Then
- Exit Sub
- Else
- If 查詢表_dgv(表頭(19), e.RowIndex).Value.ToString <> 查詢表_dgv(表頭(19), e.RowIndex + 1).Value.ToString Then
- Dim startX As Integer = IIf(查詢表_dgv.RowHeadersVisible, 查詢表_dgv.RowHeadersWidth, 0)
- Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
- Dim endX As Integer = startX + 查詢表_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 查詢表_dgv.HorizontalScrollingOffset
- e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
- Exit Sub
- End If
- End If
- For i As Integer = 0 To 查詢表_dgv.Rows.Count - 1
- If 深色風格 = False Then
- If 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "01" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "02" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGreen
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "03" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "04" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightBlue
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "05" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightBlue : End If
- Else
- If 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "01" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Purple
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "02" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkGreen
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "03" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkRed
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "04" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkBlue
- ElseIf 查詢表_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "05" Then : 查詢表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkBlue : End If
- End If
- Next
- End Sub
- Private Sub 清單1_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 清單1_dgv.RowPostPaint
- If 首次開啟 = True Then
- Dim linePen As New Pen(Color.Blue, 2)
- If e.RowIndex = 清單1_dgv.Rows.Count - 1 Then
- Exit Sub
- Else
- If 清單1_dgv(表頭(19), e.RowIndex).Value.ToString <> 清單1_dgv(表頭(19), e.RowIndex + 1).Value.ToString Then
- Dim startX As Integer = IIf(清單1_dgv.RowHeadersVisible, 清單1_dgv.RowHeadersWidth, 0)
- Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
- Dim endX As Integer = startX + 清單1_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 清單1_dgv.HorizontalScrollingOffset
- e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
- Exit Sub
- End If
- End If
- For i As Integer = 0 To 清單1_dgv.Rows.Count - 1
- If 深色風格 = False Then
- If 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "01" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
- ElseIf 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "02" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGreen
- ElseIf 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "03" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink
- ElseIf 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "04" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightBlue
- ElseIf 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "05" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightBlue : End If
- Else
- If 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "01" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Purple
- ElseIf 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "02" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkGreen
- ElseIf 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "03" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkRed
- ElseIf 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "04" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkBlue
- ElseIf 清單1_dgv.Rows(i).Cells(表頭(1)).Value.ToString = "05" Then : 清單1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkBlue : End If
- End If
- Next
- End If
- End Sub
- Private Sub 清單1_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 清單1_dgv.CellClick
- If e.RowIndex = -1 Then : Else
- PA1 = 清單1_dgv.Rows(e.RowIndex).Cells("ID卡號").Value.ToString : 姓名_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells(表頭(0)).Value.ToString.ToUpper
- 員工代碼_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells(表頭(23)).Value.ToString.ToUpper : 員工崗位_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells(表頭(24)).Value.ToString.ToUpper
- 部門名稱_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells(表頭(25)).Value.ToString.ToUpper
- ID_tb.Text = PA1
- PA2 = 年份_cb.Text : PA3 = 月份_cb.Text : Set_考勤明細()
- End If
- End Sub
- Private Sub 明細_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 明細_dgv.MouseUp
- 'If 明細_dgv.SelectedCells.Count = 1 Then : MsgBox(明細_dgv.SelectedCells(0).ColumnIndex & " " & 明細_dgv.SelectedCells(0).RowIndex) : End If
- If 明細_dgv.SelectedCells.Count > 0 Then
- If 明細_dgv.SelectedCells(0).ColumnIndex = 27 Then
- If 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(27).Value.ToString = "" Then : 請假編號_cb.Text = ""
- ElseIf 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(27).Value.ToString = "1" Then : 請假編號_cb.Text = 對話框(9)
- ElseIf 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(27).Value.ToString = "2" Then : 請假編號_cb.Text = 對話框(10)
- ElseIf 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(27).Value.ToString = "3" Then : 請假編號_cb.Text = 對話框(11)
- ElseIf 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(27).Value.ToString = "4" Then : 請假編號_cb.Text = 對話框(12)
- ElseIf 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(27).Value.ToString = "5" Then : 請假編號_cb.Text = 對話框(13) : End If
- CB選擇清單(請假編號_cb, 請假編號_cb.Text)
- If 請假編號_cb.Text = "" Then
- 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(26).Value = "" : 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(27).Value = ""
- ElseIf 請假編號_cb.Text = 對話框(9) Then
- 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(26).Value = "1" : 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(27).Value = "1"
- ElseIf 請假編號_cb.Text = 對話框(10) Then
- 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(26).Value = "2" : 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(27).Value = "2"
- ElseIf 請假編號_cb.Text = 對話框(11) Then
- 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(26).Value = "3" : 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(27).Value = "3"
- ElseIf 請假編號_cb.Text = 對話框(12) Then
- 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(26).Value = "4" : 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(27).Value = "4"
- ElseIf 請假編號_cb.Text = 對話框(13) Then
- 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(26).Value = "5" : 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(27).Value = "5"
- End If
- If 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells("假別編號").Value.ToString = "" Then
- 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(表頭(26)).Value = ""
- ElseIf 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells("假別編號").Value.ToString = "1" Then
- 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(表頭(26)).Value = 對話框(9)
- ElseIf 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells("假別編號").Value.ToString = "2" Then
- 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(表頭(26)).Value = 對話框(10)
- ElseIf 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells("假別編號").Value.ToString = "3" Then
- 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(表頭(26)).Value = 對話框(11)
- ElseIf 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells("假別編號").Value.ToString = "4" Then
- 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(表頭(26)).Value = 對話框(12)
- ElseIf 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells("假別編號").Value.ToString = "5" Then
- 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(表頭(26)).Value = 對話框(13)
- End If
- End If
- End If
- End Sub
- Private Sub 明細_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 明細_dgv.CellClick
- If e.RowIndex = -1 Then : Else
- 日期_tb.Text = 明細_dgv.Rows(e.RowIndex).Cells(表頭(3)).Value.ToString
- If 明細_dgv.Rows(e.RowIndex).Cells(表頭(4)).Value.ToString = "" Then : 時段1_rtp.Value = "08:00:00" : S1.Checked = False : 時段1_rtp.Enabled = True
- Else : 時段1_rtp.Value = 明細_dgv.Rows(e.RowIndex).Cells(表頭(4)).Value.ToString : S1.Checked = True : 時段1_rtp.Enabled = False : End If
- If 高級_cb.Checked = True And 時段1_rtp.Enabled = False Then : 時段1_rtp.Enabled = True : End If
-
- If 明細_dgv.Rows(e.RowIndex).Cells(表頭(5)).Value.ToString = "" Then : 時段2_rtp.Value = "12:00:00" : S2.Checked = False : 時段2_rtp.Enabled = True
- Else : 時段2_rtp.Value = 明細_dgv.Rows(e.RowIndex).Cells(表頭(5)).Value.ToString : S2.Checked = True : 時段2_rtp.Enabled = False : End If
- If 高級_cb.Checked = True And 時段2_rtp.Enabled = False Then : 時段2_rtp.Enabled = True : End If
-
- If 明細_dgv.Rows(e.RowIndex).Cells(表頭(6)).Value.ToString = "" Then : 時段3_rtp.Value = "13:00:00" : S3.Checked = False : 時段3_rtp.Enabled = True
- Else : 時段3_rtp.Value = 明細_dgv.Rows(e.RowIndex).Cells(表頭(6)).Value.ToString : S3.Checked = True : 時段3_rtp.Enabled = False : End If
- If 高級_cb.Checked = True And 時段3_rtp.Enabled = False Then : 時段3_rtp.Enabled = True : End If
-
- If 明細_dgv.Rows(e.RowIndex).Cells(表頭(7)).Value.ToString = "" Then : 時段4_rtp.Value = "17:00:00" : S4.Checked = False : 時段4_rtp.Enabled = True
- Else : 時段4_rtp.Value = 明細_dgv.Rows(e.RowIndex).Cells(表頭(7)).Value.ToString : S4.Checked = True : 時段4_rtp.Enabled = False : End If
- If 高級_cb.Checked = True And 時段4_rtp.Enabled = False Then : 時段4_rtp.Enabled = True : End If
-
- If 明細_dgv.Rows(e.RowIndex).Cells(表頭(8)).Value.ToString = "" Then : 時段5_rtp.Value = "18:00:00" : S5.Checked = False : 時段5_rtp.Enabled = True
- Else : 時段5_rtp.Value = 明細_dgv.Rows(e.RowIndex).Cells(表頭(8)).Value.ToString : S5.Checked = True : 時段5_rtp.Enabled = False : End If
- If 高級_cb.Checked = True And 時段5_rtp.Enabled = False Then : 時段5_rtp.Enabled = True : End If
-
- If 明細_dgv.Rows(e.RowIndex).Cells(表頭(9)).Value.ToString = "" Then : 時段6_rtp.Value = "20:00:00" : S6.Checked = False : 時段6_rtp.Enabled = True
- Else : 時段6_rtp.Value = 明細_dgv.Rows(e.RowIndex).Cells(表頭(9)).Value.ToString : S6.Checked = True : 時段6_rtp.Enabled = False : End If
- If 高級_cb.Checked = True And 時段6_rtp.Enabled = False Then : 時段6_rtp.Enabled = True : End If
-
- 總時 = 0 : 總時數_tb.Text = ""
- For i As Integer = 0 To 明細_dgv.Rows.Count - 1
- '-------------時間彙總計算------------------------------------
- 時長 = 0
- If (明細_dgv.Rows(i).Cells(表頭(17)).Value = False And 明細_dgv.Rows(i).Cells(表頭(18)).Value = True) Or
- (明細_dgv.Rows(i).Cells("MGB").Value.ToString = "星期日" And 明細_dgv.Rows(i).Cells(表頭(17)).Value = False) Then
- 明細_dgv.Rows(i).Cells(表頭(16)).Value = "00 H 00 M"
- Else
- If 明細_dgv.Rows(i).Cells(表頭(10)).Value.ToString <> "" And 明細_dgv.Rows(i).Cells(表頭(11)).Value.ToString <> "" And
- 明細_dgv.Rows(i).Cells(表頭(12)).Value.ToString = "" And 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString = "" And
- 明細_dgv.Rows(i).Cells(表頭(14)).Value.ToString = "" And 明細_dgv.Rows(i).Cells(表頭(15)).Value.ToString = "" Then
- 計算(0) = 明細_dgv.Rows(i).Cells(表頭(10)).Value.ToString : 計算(1) = 明細_dgv.Rows(i).Cells(表頭(11)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- If 時長 <= 8 Then : 明細_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M" : End If
- ElseIf 明細_dgv.Rows(i).Cells(表頭(10)).Value.ToString <> "" And 明細_dgv.Rows(i).Cells(表頭(11)).Value.ToString <> "" And
- 明細_dgv.Rows(i).Cells(表頭(12)).Value.ToString <> "" And 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString <> "" And
- 明細_dgv.Rows(i).Cells(表頭(14)).Value.ToString = "" And 明細_dgv.Rows(i).Cells(表頭(15)).Value.ToString = "" Then
- 計算(0) = 明細_dgv.Rows(i).Cells(表頭(10)).Value.ToString : 計算(1) = 明細_dgv.Rows(i).Cells(表頭(11)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- 計算(0) = 明細_dgv.Rows(i).Cells(表頭(12)).Value.ToString : 計算(1) = 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- If 時長 <= 8 Then : 明細_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M" : Else
- If 明細_dgv.Rows(i).Cells(表頭(17)).Value = False Then
- 明細_dgv.Rows(i).Cells(表頭(16)).Value = "08 H 00 M"
- Else
- If 時長 < 10 Then : 明細_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M"
- Else : 明細_dgv.Rows(i).Cells(表頭(16)).Value = 時長 & " H 00 M" : End If
- End If
- End If
- ElseIf 明細_dgv.Rows(i).Cells(表頭(10)).Value.ToString <> "" And 明細_dgv.Rows(i).Cells(表頭(11)).Value.ToString <> "" And
- 明細_dgv.Rows(i).Cells(表頭(12)).Value.ToString <> "" And 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString <> "" And
- 明細_dgv.Rows(i).Cells(表頭(14)).Value.ToString <> "" And 明細_dgv.Rows(i).Cells(表頭(15)).Value.ToString <> "" Then
- 計算(0) = 明細_dgv.Rows(i).Cells(表頭(10)).Value.ToString : 計算(1) = 明細_dgv.Rows(i).Cells(表頭(11)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- 計算(0) = 明細_dgv.Rows(i).Cells(表頭(12)).Value.ToString : 計算(1) = 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- 計算(0) = 明細_dgv.Rows(i).Cells(表頭(14)).Value.ToString : 計算(1) = 明細_dgv.Rows(i).Cells(表頭(15)).Value.ToString : 時間比對() : 時長 += (間隔1 / 60)
- If 時長 <= 8 Then : 明細_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M" : Else
- If 明細_dgv.Rows(i).Cells(表頭(17)).Value = False Then
- 明細_dgv.Rows(i).Cells(表頭(16)).Value = "08 H 00 M"
- Else
- If 時長 < 10 Then : 明細_dgv.Rows(i).Cells(表頭(16)).Value = "0" & 時長 & " H 00 M"
- Else : 明細_dgv.Rows(i).Cells(表頭(16)).Value = 時長 & " H 00 M" : End If
- End If
- End If
- End If
- End If
- If 明細_dgv.Rows(i).Cells(表頭(16)).Value.ToString <> "" Then
- 總時 += CInt(Strings.Left(明細_dgv.Rows(i).Cells(表頭(16)).Value.ToString, 2))
- If 總時 < 10 Then : 總時數_tb.Text = "0" & 總時 & " H 00 M" : Else : 總時數_tb.Text = 總時 & " H 00 M" : End If
- End If
-
- If 明細_dgv.Rows(i).Cells("假別編號").Value.ToString = "" Then : 明細_dgv.Rows(i).Cells(表頭(26)).Value = ""
- ElseIf 明細_dgv.Rows(i).Cells("假別編號").Value.ToString = "1" Then : 明細_dgv.Rows(i).Cells(表頭(26)).Value = 對話框(9)
- ElseIf 明細_dgv.Rows(i).Cells("假別編號").Value.ToString = "2" Then : 明細_dgv.Rows(i).Cells(表頭(26)).Value = 對話框(10)
- ElseIf 明細_dgv.Rows(i).Cells("假別編號").Value.ToString = "3" Then : 明細_dgv.Rows(i).Cells(表頭(26)).Value = 對話框(11)
- ElseIf 明細_dgv.Rows(i).Cells("假別編號").Value.ToString = "4" Then : 明細_dgv.Rows(i).Cells(表頭(26)).Value = 對話框(12)
- ElseIf 明細_dgv.Rows(i).Cells("假別編號").Value.ToString = "5" Then : 明細_dgv.Rows(i).Cells(表頭(26)).Value = 對話框(13)
- End If
- Next
- End If
- End Sub
- Private Sub 假日設定_bt_Click(sender As Object, e As EventArgs) Handles 假日設定_bt.Click
- If 視窗4_pl.Visible = False Then
- 暫時不開 = True
- PA2 = 年份1_cb.Text : PA3 = 月份1_cb.Text : Set_萬年曆()
- Dim XC As Integer = Me.Size.Width : Dim YC As Integer = Me.Size.Height
- Dim XD As Integer = 視窗4_pl.Width : Dim YD As Integer = 視窗4_pl.Height
- 視窗4_pl.Location = New System.Drawing.Point((XC - XD) / 2, (YC - YD) / 2) : 視窗4_pl.Visible = True : 視窗4_pl.BringToFront()
- 暫時不開 = False
- Else : 視窗4_pl.Visible = False : End If
- End Sub
- Private Sub 考勤編輯_bt_Click(sender As Object, e As EventArgs) Handles 考勤編輯_bt.Click
- Dim XC As Integer = Me.Size.Width : Dim YC As Integer = Me.Size.Height
- Dim XD As Integer = 視窗3_pl.Width : Dim YD As Integer = 視窗3_pl.Height
- If 視窗3_pl.Visible = False Then : 視窗3_pl.Location = New System.Drawing.Point((XC - XD) / 2, (YC - YD) / 2) : 視窗3_pl.Visible = True : 視窗3_pl.BringToFront()
- 時段1_rtp.Enabled = False : 時段2_rtp.Enabled = False : 時段3_rtp.Enabled = False
- 時段4_rtp.Enabled = False : 時段5_rtp.Enabled = False : 時段6_rtp.Enabled = False
- Else : 視窗3_pl.Visible = False : End If
- End Sub
- Private Sub 考勤編輯1_bt_Click(sender As Object, e As EventArgs) Handles 考勤編輯1_bt.Click
- If 視窗2_pl.Visible = False Then
- 時段A1_rtp.Value = "08:00:00" : 時段A2_rtp.Value = "12:00:00" : 時段A3_rtp.Value = "13:00:00"
- 時段A4_rtp.Value = "17:00:00" : 時段A5_rtp.Value = "18:00:00" : 時段A6_rtp.Value = "20:00:00"
- Dim XC As Integer = Me.Size.Width : Dim YC As Integer = Me.Size.Height
- Dim XD As Integer = 視窗2_pl.Width : Dim YD As Integer = 視窗2_pl.Height
- 視窗2_pl.Location = New System.Drawing.Point((XC - XD) / 2, (YC - YD) / 2) : 視窗2_pl.Visible = True : 視窗2_pl.BringToFront()
- Else : 視窗2_pl.Visible = False : End If
- End Sub
- Private Sub CanceL2_bt_Click(sender As Object, e As EventArgs) Handles CanceL2_bt.Click
- If 視窗2_pl.Visible = False Then : 視窗2_pl.Visible = True : 視窗2_pl.BringToFront() : Else : 視窗2_pl.Visible = False : Set_查詢表() : End If
- End Sub
- Private Sub CanceL3_bt_Click(sender As Object, e As EventArgs) Handles CanceL3_bt.Click
- If 視窗3_pl.Visible = False Then : 視窗3_pl.Visible = True : 視窗3_pl.BringToFront() : Else : 視窗3_pl.Visible = False : Set_考勤明細() : End If
- End Sub
- Private Sub CanceL4_bt_Click(sender As Object, e As EventArgs) Handles CanceL4_bt.Click
- If 視窗4_pl.Visible = False Then : 視窗4_pl.Visible = True : 視窗4_pl.BringToFront() : Else : 視窗4_pl.Visible = False : Set_考勤明細() : End If
- End Sub
- Private Sub 月份1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 月份1_cb.SelectedIndexChanged
- If 暫時不開 = False Then : PA2 = 年份1_cb.Text : PA3 = 月份1_cb.Text : Set_萬年曆() : End If
- End Sub
- Private Sub 年份1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 年份1_cb.SelectedIndexChanged
- If 暫時不開 = False Then : PA2 = 年份1_cb.Text : PA3 = 月份1_cb.Text : Set_萬年曆() : End If
- End Sub
- Private Sub 在職_bt_Click(sender As Object, e As EventArgs) Handles 在職_bt.Click
- 在職 = True : Set_使用者清單()
- End Sub
- Private Sub 離職_bt_Click(sender As Object, e As EventArgs) Handles 離職_bt.Click
- 在職 = False : Set_使用者清單()
- End Sub
- Private Sub 實際打卡_cb_CheckedChanged(sender As Object, e As EventArgs) Handles 實際打卡_cb.Click
- 實際打卡_cb.Checked = True : 考勤計算_cb.Checked = False : 資料規格()
- End Sub
- Private Sub 考勤計算_cb_CheckedChanged(sender As Object, e As EventArgs) Handles 考勤計算_cb.Click
- 實際打卡_cb.Checked = False : 考勤計算_cb.Checked = True : 資料規格()
- End Sub
- Private Sub 級別_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 級別_cb.SelectedIndexChanged
- Set_使用者清單()
- End Sub
- Private Sub 級別1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 級別1_cb.SelectedIndexChanged
- Set_考勤彙總()
- End Sub
- Private Sub 級別2_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 級別2_cb.SelectedIndexChanged
- Set_查詢表()
- End Sub
- Private Sub 部門1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 部門1_cb.SelectedIndexChanged
- Set_查詢表()
- End Sub
- Private Sub 存檔_bt_Click(sender As Object, e As EventArgs) Handles 存檔_bt.Click
- For i As Integer = 0 To 萬年曆_dgv.Rows.Count - 1
- PA15 = 萬年曆_dgv.Rows(i).Cells(表頭(3)).Value.ToString() : BL1 = 萬年曆_dgv.Rows(i).Cells(表頭(18)).Value : SQL_萬年曆_休假標註()
- Next : Set_萬年曆() : MGB(對話框(8), 1)
- End Sub
- Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.SelectedIndexChanged
- If TabControl1.SelectedTab Is 考勤彙總表_tp Then
- PA = "" : PA2 = 年份2_cb.Text : PA3 = 月份2_cb.Text : Set_總清單()
- ElseIf TabControl1.SelectedTab Is 考勤查詢表_tp Then
- 日期1_tb.Text = Strings.Format(日期1_dtp.Value, "yyyy/MM/dd") : Set_查詢表()
- End If
- End Sub
- Private Sub 工人_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 工人_ch.Click
- If 工人_ch.Checked = True Then : 工人 = True : Else : 工人 = False : End If
- If TabControl1.SelectedTab Is 考勤明細表_tp Then : Set_使用者清單()
- ElseIf TabControl1.SelectedTab Is 考勤彙總表_tp Then : Set_考勤彙總()
- ElseIf TabControl1.SelectedTab Is 考勤查詢表_tp Then : Set_查詢表() : End If
- End Sub
- Private Sub 加班請假_bt_Click(sender As Object, e As EventArgs) Handles 加班請假_bt.Click
- If ID_tb.Text = "" Or 姓名_tb.Text = "" Then : MGB(對話框(14), 1) : Else
- For i As Integer = 0 To 明細_dgv.Rows.Count - 1 '
- BL1 = 明細_dgv.Rows(i).Cells(表頭(17)).Value : PA17 = 明細_dgv.Rows(i).Cells("假別編號").Value.ToString
- PA18 = 明細_dgv.Rows(i).Cells(表頭(27)).Value.ToString : PA15 = 明細_dgv.Rows(i).Cells(表頭(3)).Value.ToString : PA1 = ID_tb.Text
- SQL_人事考勤明細表查詢() : If dr.Read Then : SQL_人事考勤明細表修改() : Else : SQL_人事考勤明細表新增() : End If
- Next : Set_考勤明細() : MGB(對話框(8), 1)
- End If
- End Sub
- Private Sub 考勤調整_bt_Click(sender As Object, e As EventArgs) Handles 考勤調整_bt.Click
- If ID_tb.Text = "" Or 姓名_tb.Text = "" Then : MGB(對話框(14), 1) : Else
- PA15 = 日期_tb.Text : PA1 = ID_tb.Text
- If 時段1_rtp.Enabled = True And S1.Checked = True Then
- SQL_人事考勤明細表查詢()
- If dr.Read Then : SQL2 = "第一" : PA45 = Strings.Format(時段1_rtp.Value, "HH:mm:ss") : PA45 = PA45.Replace(".", ":") : SQL_人事考勤明細表修改1()
- Else : PA9 = Strings.Format(時段1_rtp.Value, "HH:mm:ss") : PA9 = PA9.Replace(".", ":") : PA10 = "" : PA11 = "" : PA12 = "" : PA13 = "" : PA14 = ""
- SQL_人事考勤明細表新增1() : End If
- End If
- If 時段2_rtp.Enabled = True And S2.Checked = True Then
- SQL_人事考勤明細表查詢()
- If dr.Read Then : SQL2 = "第二" : PA45 = Strings.Format(時段2_rtp.Value, "HH:mm:ss") : PA45 = PA45.Replace(".", ":") : SQL_人事考勤明細表修改1()
- Else : PA9 = "" : PA10 = Strings.Format(時段2_rtp.Value, "HH:mm:ss") : PA10 = PA10.Replace(".", ":") : PA11 = "" : PA12 = "" : PA13 = "" : PA14 = ""
- SQL_人事考勤明細表新增1() : End If
- End If
- If 時段3_rtp.Enabled = True And S3.Checked = True Then
- SQL_人事考勤明細表查詢()
- If dr.Read Then : SQL2 = "第三" : PA45 = Strings.Format(時段3_rtp.Value, "HH:mm:ss") : PA45 = PA45.Replace(".", ":") : SQL_人事考勤明細表修改1()
- Else : PA9 = "" : PA10 = "" : PA11 = Strings.Format(時段3_rtp.Value, "HH:mm:ss") : PA11 = PA11.Replace(".", ":") : PA12 = "" : PA13 = "" : PA14 = ""
- SQL_人事考勤明細表新增1() : End If
- End If
- If 時段4_rtp.Enabled = True And S4.Checked = True Then
- SQL_人事考勤明細表查詢()
- If dr.Read Then : SQL2 = "第四" : PA45 = Strings.Format(時段4_rtp.Value, "HH:mm:ss") : PA45 = PA45.Replace(".", ":") : SQL_人事考勤明細表修改1()
- Else : PA9 = "" : PA10 = "" : PA11 = "" : PA12 = Strings.Format(時段4_rtp.Value, "HH:mm:ss") : PA12 = PA12.Replace(".", ":") : PA13 = "" : PA14 = ""
- SQL_人事考勤明細表新增1() : End If
- End If
- If 時段5_rtp.Enabled = True And S5.Checked = True Then
- SQL_人事考勤明細表查詢()
- If dr.Read Then : SQL2 = "第五" : PA45 = Strings.Format(時段5_rtp.Value, "HH:mm:ss") : PA45 = PA45.Replace(".", ":") : SQL_人事考勤明細表修改1()
- Else : PA9 = "" : PA10 = "" : PA11 = "" : PA12 = "" : PA13 = Strings.Format(時段5_rtp.Value, "HH:mm:ss") : PA13 = PA13.Replace(".", ":") : PA14 = ""
- SQL_人事考勤明細表新增1() : End If
- End If
- If 時段6_rtp.Enabled = True And S6.Checked = True Then
- SQL_人事考勤明細表查詢()
- If dr.Read Then : SQL2 = "第六" : PA45 = Strings.Format(時段6_rtp.Value, "HH:mm:ss") : PA45 = PA45.Replace(".", ":") : SQL_人事考勤明細表修改1()
- Else : PA9 = "" : PA10 = "" : PA11 = "" : PA12 = "" : PA13 = "" : PA14 = Strings.Format(時段6_rtp.Value, "HH:mm:ss") : PA14 = PA14.Replace(".", ":")
- SQL_人事考勤明細表新增1() : End If
- End If
- 加班請假_bt.PerformClick() : Set_考勤明細()
- End If
- End Sub
- Private Sub 考勤調整1_bt_Click_1(sender As Object, e As EventArgs) Handles 考勤調整1_bt.Click
- For i As Integer = 0 To 查詢表_dgv.Rows.Count - 1
- PA1 = 查詢表_dgv.Rows(i).Cells("ID卡號").Value.ToString : PA15 = 日期1_tb.Text
- If 查詢表_dgv.Rows(i).Cells(表頭(4)).Value.ToString = "" And SS1.Checked = True Then
- SQL_人事考勤明細表查詢()
- If dr.Read Then : SQL2 = "第一" : PA45 = Strings.Format(時段A1_rtp.Value, "HH:mm:ss") : PA45 = PA45.Replace(".", ":") : SQL_人事考勤明細表修改1()
- Else : PA9 = Strings.Format(時段A1_rtp.Value, "HH:mm:ss") : PA9 = PA9.Replace(".", ":") : PA10 = "" : PA11 = "" : PA12 = "" : PA13 = "" : PA14 = ""
- SQL_人事考勤明細表新增1() : End If
- End If
- If 查詢表_dgv.Rows(i).Cells(表頭(5)).Value.ToString = "" And SS2.Checked = True Then
- SQL_人事考勤明細表查詢()
- If dr.Read Then : SQL2 = "第二" : PA45 = Strings.Format(時段A2_rtp.Value, "HH:mm:ss") : PA45 = PA45.Replace(".", ":") : SQL_人事考勤明細表修改1()
- Else : PA9 = "" : PA10 = Strings.Format(時段A2_rtp.Value, "HH:mm:ss") : PA10 = PA10.Replace(".", ":") : PA11 = "" : PA12 = "" : PA13 = "" : PA14 = ""
- SQL_人事考勤明細表新增1() : End If
- End If
- If 查詢表_dgv.Rows(i).Cells(表頭(6)).Value.ToString = "" And SS3.Checked = True Then
- SQL_人事考勤明細表查詢()
- If dr.Read Then : SQL2 = "第三" : PA45 = Strings.Format(時段A3_rtp.Value, "HH:mm:ss") : PA45 = PA45.Replace(".", ":") : SQL_人事考勤明細表修改1()
- Else : PA9 = "" : PA10 = "" : PA11 = Strings.Format(時段A3_rtp.Value, "HH:mm:ss") : PA11 = PA11.Replace(".", ":") : PA12 = "" : PA13 = "" : PA14 = ""
- SQL_人事考勤明細表新增1() : End If
- End If
- If 查詢表_dgv.Rows(i).Cells(表頭(7)).Value.ToString = "" And SS4.Checked = True Then
- SQL_人事考勤明細表查詢()
- If dr.Read Then : SQL2 = "第四" : PA45 = Strings.Format(時段A4_rtp.Value, "HH:mm:ss") : PA45 = PA45.Replace(".", ":") : SQL_人事考勤明細表修改1()
- Else : PA9 = "" : PA10 = "" : PA11 = "" : PA12 = Strings.Format(時段A4_rtp.Value, "HH:mm:ss") : PA12 = PA12.Replace(".", ":") : PA13 = "" : PA14 = ""
- SQL_人事考勤明細表新增1() : End If
- End If
- If 查詢表_dgv.Rows(i).Cells(表頭(8)).Value.ToString = "" And SS5.Checked = True Then
- SQL_人事考勤明細表查詢()
- If dr.Read Then : SQL2 = "第五" : PA45 = Strings.Format(時段A5_rtp.Value, "HH:mm:ss") : PA45 = PA45.Replace(".", ":") : SQL_人事考勤明細表修改1()
- Else : PA9 = "" : PA10 = "" : PA11 = "" : PA12 = "" : PA13 = Strings.Format(時段A5_rtp.Value, "HH:mm:ss") : PA13 = PA13.Replace(".", ":") : PA14 = ""
- SQL_人事考勤明細表新增1() : End If
- End If
- If 查詢表_dgv.Rows(i).Cells(表頭(9)).Value.ToString = "" And SS6.Checked = True Then
- SQL_人事考勤明細表查詢()
- If dr.Read Then : SQL2 = "第六" : PA45 = Strings.Format(時段A6_rtp.Value, "HH:mm:ss") : PA45 = PA45.Replace(".", ":") : SQL_人事考勤明細表修改1()
- Else : PA9 = "" : PA10 = "" : PA11 = "" : PA12 = "" : PA13 = "" : PA14 = Strings.Format(時段A6_rtp.Value, "HH:mm:ss") : PA14 = PA14.Replace(".", ":")
- SQL_人事考勤明細表新增1() : End If
- End If
- Next : Set_查詢表()
- End Sub
- Private Sub 時段1_rtp_Click(sender As Object, e As EventArgs) Handles 時段1_rtp.Click
- If S1.Checked = False Then : S1.Checked = True : End If
- End Sub
- Private Sub 時段2_rtp_Click(sender As Object, e As EventArgs) Handles 時段2_rtp.Click
- If S2.Checked = False Then : S2.Checked = True : End If
- End Sub
- Private Sub 時段3_rtp_Click(sender As Object, e As EventArgs) Handles 時段3_rtp.Click
- If S3.Checked = False Then : S3.Checked = True : End If
- End Sub
- Private Sub 時段4_rtp_Click(sender As Object, e As EventArgs) Handles 時段4_rtp.Click
- If S4.Checked = False Then : S4.Checked = True : End If
- End Sub
- Private Sub 時段5_rtp_Click(sender As Object, e As EventArgs) Handles 時段5_rtp.Click
- If S5.Checked = False Then : S5.Checked = True : End If
- End Sub
- Private Sub 時段6_rtp_Click(sender As Object, e As EventArgs) Handles 時段6_rtp.Click
- If S6.Checked = False Then : S6.Checked = True : End If
- End Sub
- Private Sub 時段A1_rtp_Click(sender As Object, e As EventArgs) Handles 時段A1_rtp.Click
- If SS1.Checked = False Then : SS1.Checked = True : End If
- End Sub
- Private Sub 時段A2_rtp_Click(sender As Object, e As EventArgs) Handles 時段A2_rtp.Click
- If SS2.Checked = False Then : SS2.Checked = True : End If
- End Sub
- Private Sub 時段A3_rtp_Click(sender As Object, e As EventArgs) Handles 時段A3_rtp.Click
- If SS3.Checked = False Then : SS3.Checked = True : End If
- End Sub
- Private Sub 時段A4_rtp_Click(sender As Object, e As EventArgs) Handles 時段A4_rtp.Click
- If SS4.Checked = False Then : SS4.Checked = True : End If
- End Sub
- Private Sub 時段A5_rtp_Click(sender As Object, e As EventArgs) Handles 時段A5_rtp.Click
- If SS5.Checked = False Then : SS5.Checked = True : End If
- End Sub
- Private Sub 時段A6_rtp_Click(sender As Object, e As EventArgs) Handles 時段A6_rtp.Click
- If SS6.Checked = False Then : SS6.Checked = True : End If
- End Sub
- Private Sub S1_CheckedChanged(sender As Object, e As EventArgs) Handles S1.Click
- If S1.Checked = False Then : S1.Checked = True : Else : S1.Checked = False : End If
- End Sub
- Private Sub S2_CheckedChanged(sender As Object, e As EventArgs) Handles S2.Click
- If S2.Checked = False Then : S2.Checked = True : Else : S2.Checked = False : End If
- End Sub
- Private Sub S3_CheckedChanged(sender As Object, e As EventArgs) Handles S3.Click
- If S3.Checked = False Then : S3.Checked = True : Else : S3.Checked = False : End If
- End Sub
- Private Sub S4_CheckedChanged(sender As Object, e As EventArgs) Handles S4.Click
- If S4.Checked = False Then : S4.Checked = True : Else : S4.Checked = False : End If
- End Sub
- Private Sub S5_CheckedChanged(sender As Object, e As EventArgs) Handles S5.Click
- If S5.Checked = False Then : S5.Checked = True : Else : S5.Checked = False : End If
- End Sub
- Private Sub S6_CheckedChanged(sender As Object, e As EventArgs) Handles S6.Click
- If S6.Checked = False Then : S6.Checked = True : Else : S6.Checked = False : End If
- End Sub
- Private Sub 高級_cb_CheckedChanged(sender As Object, e As EventArgs) Handles 高級_cb.Click
- If 高級_cb.Checked = True And 時段1_rtp.Enabled = False Then : 時段1_rtp.Enabled = True : End If
- If 高級_cb.Checked = True And 時段2_rtp.Enabled = False Then : 時段2_rtp.Enabled = True : End If
- If 高級_cb.Checked = True And 時段3_rtp.Enabled = False Then : 時段3_rtp.Enabled = True : End If
- If 高級_cb.Checked = True And 時段4_rtp.Enabled = False Then : 時段4_rtp.Enabled = True : End If
- If 高級_cb.Checked = True And 時段5_rtp.Enabled = False Then : 時段5_rtp.Enabled = True : End If
- If 高級_cb.Checked = True And 時段6_rtp.Enabled = False Then : 時段6_rtp.Enabled = True : End If
- End Sub
- Private Sub 日期1_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 日期1_dtp.ValueChanged
- 日期1_tb.Text = Strings.Format(日期1_dtp.Value, "yyyy/MM/dd") : Set_查詢表()
- End Sub
- Private Sub 部門_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 部門_cb.SelectedIndexChanged
- Set_查詢表()
- End Sub
- Private Sub 地區_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 地區_cb.SelectedIndexChanged
- Set_使用者清單()
- End Sub
- Private Sub 地區1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 地區1_cb.SelectedIndexChanged
- Set_考勤彙總()
- End Sub
- Private Sub DA3_bt_Click(sender As Object, e As EventArgs) Handles DA3_bt.Click
- 日期1_dtp.Value = 日期1_dtp.Value.AddDays(+1)
- End Sub
- Private Sub DA1_bt_Click(sender As Object, e As EventArgs) Handles DA1_bt.Click
- 日期1_dtp.Value = 日期1_dtp.Value.AddDays(-1)
- End Sub
- Private Shared Function NewMethod(xlBook As Workbook) As Worksheet
- Return CType(xlBook.Worksheets.Add, Worksheet)
- End Function
- Private Sub 列印()
- xlSheet = NewMethod(xlBook)
- xlApp.Sheets(1).Name = 姓名_tb.Text
- xlBook.Activate() : xlSheet.Activate()
-
- xlSheet.Cells(1, 1) = "LAPORAN KEHADIRAN KARYAWAN"
- xlSheet.Cells(2, 1) = "Fingerprint" : xlSheet.Cells(2, 7) = "Jabatan KKaryawan"
- xlSheet.Cells(3, 1) = "Kode Karyawan" : xlSheet.Cells(3, 7) = "Tanggal Gabung"
- xlSheet.Cells(4, 1) = "Nama Karyawan" : xlSheet.Cells(4, 7) = "Nama Departemer"
- xlSheet.Cells(5, 1) = "HARI" : xlSheet.Cells(5, 2) = "TANGGAL" : xlSheet.Cells(5, 3) = "JAM KERJA" : xlSheet.Cells(5, 4) = "KEGIATAN" : xlSheet.Cells(5, 5) = "JAM MASUK"
- xlSheet.Cells(5, 6) = "JAM KELUAR" : xlSheet.Cells(5, 7) = "TERLAMBAT" : xlSheet.Cells(5, 8) = "CEPAT PULANG" : xlSheet.Cells(5, 9) = "LEMBUR"
- xlSheet.Cells(5, 10) = "OTI" : xlSheet.Cells(5, 11) = "OTII" : xlSheet.Cells(5, 12) = "JUMLAH JAM" : xlSheet.Cells(5, 13) = "CATATAN"
- VBN = 0 : CBN = 0
- For II As Integer = 0 To 明細_dgv.Rows.Count - 1 : CBN = 6 + II
- If 明細_dgv.Rows(II).Cells("MGB").Value.ToString = "星期日" Then : VBN = 6 + II : AA(xlApp, xlSheet) : End If
- xlSheet.Cells(6 + II, 1) = 明細_dgv.Rows(II).Cells(表頭(2)).Value.ToString : xlSheet.Cells(6 + II, 2) = 明細_dgv.Rows(II).Cells(表頭(3)).Value.ToString
- '--------------第三格-----------------
- If 明細_dgv.Rows(II).Cells("MGB").Value.ToString = "星期日" Or 明細_dgv.Rows(II).Cells(表頭(18)).Value = True Then
- If 明細_dgv.Rows(II).Cells(表頭(17)).Value = False Then : xlSheet.Cells(6 + II, 3) = "" : Else
- If 明細_dgv.Rows(II).Cells("MGB").Value.ToString = "星期六" Then : xlSheet.Cells(6 + II, 3) = "08:00-12:00" : Else : xlSheet.Cells(6 + II, 3) = "08:00-17:00" : End If
- End If
- ElseIf 明細_dgv.Rows(II).Cells("MGB").Value.ToString = "星期六" Then : xlSheet.Cells(6 + II, 3) = "08:00-12:00" : Else : xlSheet.Cells(6 + II, 3) = "08:00-17:00" : End If
- '--------------第四格-----------------
- If 明細_dgv.Rows(II).Cells(表頭(26)).Value.ToString <> "" Then
- xlSheet.Cells(6 + II, 4) = 明細_dgv.Rows(II).Cells(表頭(26)).Value.ToString
- Else
- If (明細_dgv.Rows(II).Cells(表頭(17)).Value = False And 明細_dgv.Rows(II).Cells(表頭(18)).Value = True) Or
- (明細_dgv.Rows(II).Cells("MGB").Value.ToString = "星期日" And 明細_dgv.Rows(II).Cells(表頭(17)).Value = False) Then
- xlSheet.Cells(6 + II, 4) = ""
- Else
- If 明細_dgv.Rows(II).Cells("MGB").Value.ToString = "星期日" And 明細_dgv.Rows(II).Cells(表頭(17)).Value = False Then : xlSheet.Cells(6 + II, 4) = ""
- ElseIf 明細_dgv.Rows(II).Cells("MGB").Value.ToString = "星期日" And 明細_dgv.Rows(II).Cells(表頭(17)).Value = True Then : xlSheet.Cells(6 + II, 4) = "Work"
- Else : xlSheet.Cells(6 + II, 4) = "Work" : End If
- End If
- End If
-
- If (明細_dgv.Rows(II).Cells(表頭(17)).Value = False And 明細_dgv.Rows(II).Cells(表頭(18)).Value = True) Or
- (明細_dgv.Rows(II).Cells("MGB").Value.ToString = "星期日" And 明細_dgv.Rows(II).Cells(表頭(17)).Value = False) Then
- xlSheet.Cells(6 + II, 5) = "" : xlSheet.Cells(6 + II, 6) = ""
- Else
- '--------------第五格-----------------
- If 明細_dgv.Rows(II).Cells(表頭(4)).Value.ToString <> "" Then
- xlSheet.Cells(6 + II, 5) = 明細_dgv.Rows(II).Cells(表頭(4)).Value.ToString : Else : xlSheet.Cells(6 + II, 5) = "" : End If
- '--------------第六格-----------------
- If 明細_dgv.Rows(II).Cells(表頭(4)).Value.ToString <> "" And 明細_dgv.Rows(II).Cells(表頭(7)).Value.ToString <> "" Then
- xlSheet.Cells(6 + II, 6) = 明細_dgv.Rows(II).Cells(表頭(7)).Value.ToString
- ElseIf 明細_dgv.Rows(II).Cells(表頭(4)).Value.ToString <> "" And 明細_dgv.Rows(II).Cells(表頭(5)).Value.ToString <> "" Then
- xlSheet.Cells(6 + II, 6) = 明細_dgv.Rows(II).Cells(表頭(5)).Value.ToString
- Else : xlSheet.Cells(6 + II, 6) = "" : End If
- '--------------第八、九格-----------------
- If 明細_dgv.Rows(II).Cells(表頭(8)).Value.ToString <> "" And 明細_dgv.Rows(II).Cells(表頭(9)).Value.ToString <> "" Then
- xlSheet.Cells(6 + II, 8) = 明細_dgv.Rows(II).Cells(表頭(8)).Value.ToString : xlSheet.Cells(6 + II, 9) = 明細_dgv.Rows(II).Cells(表頭(9)).Value.ToString
- End If
- '--------------第十、十一格-----------------
- If 明細_dgv.Rows(II).Cells(表頭(16)).Value.ToString = "" Then : Else
- If CInt(Strings.Left(明細_dgv.Rows(II).Cells(表頭(16)).Value.ToString, 2)) > 8 Then
- If CInt(Strings.Left(明細_dgv.Rows(II).Cells(表頭(16)).Value.ToString, 2)) - 8 = 1 Then : xlSheet.Cells(6 + II, 10) = "1" : xlSheet.Cells(6 + II, 11) = ""
- ElseIf CInt(Strings.Left(明細_dgv.Rows(II).Cells(表頭(16)).Value.ToString, 2)) - 8 > 1 Then
- xlSheet.Cells(6 + II, 10) = "1" : xlSheet.Cells(6 + II, 11) = CInt(Strings.Left(明細_dgv.Rows(II).Cells(表頭(16)).Value.ToString, 2)) - 9
- End If
- Else : xlSheet.Cells(6 + II, 10) = "" : xlSheet.Cells(6 + II, 11) = "" : End If
- End If
- End If
- '--------------第十二、十三格-----------------
- xlSheet.Cells(6 + II, 12) = 明細_dgv.Rows(II).Cells(表頭(16)).Value.ToString : xlSheet.Cells(6 + II, 13) = 明細_dgv.Rows(II).Cells(表頭(27)).Value.ToString
- Next
- xlSheet.Cells(CBN + 1, 1) = "Total Kerja" : xlSheet.Cells(CBN + 1, 10) = "=SUM(J6:J" & CBN & ")" : xlSheet.Cells(CBN + 1, 11) = "=SUM(K6:K" & CBN & ")"
- xlSheet.Cells(CBN + 1, 12) = 總時數_tb.Text : BB(xlApp, xlSheet)
- End Sub
- Private Sub 列印_bt_Click(sender As Object, e As EventArgs) Handles 列印_bt.Click
- xlApp = CType(CreateObject("Excel.Application"), Application)
- xlBook = xlApp.Workbooks.Add
- xlApp.DisplayAlerts = True
- xlApp.Visible = True
- xlApp.Application.WindowState = xlMaximized
-
- If 單一列印_cb.Checked = True Then : If 姓名_tb.Text = "" Then : MGB(對話框(14), 1) : Else : 列印() : End If : Else
- For I As Integer = 0 To 清單1_dgv.Rows.Count - 1
- PA1 = 清單1_dgv.Rows(I).Cells("ID卡號").Value.ToString : 姓名_tb.Text = 清單1_dgv.Rows(I).Cells(表頭(0)).Value.ToString.ToUpper
- 員工代碼_tb.Text = 清單1_dgv.Rows(I).Cells(表頭(23)).Value.ToString.ToUpper : 員工崗位_tb.Text = 清單1_dgv.Rows(I).Cells(表頭(24)).Value.ToString.ToUpper
- 部門名稱_tb.Text = 清單1_dgv.Rows(I).Cells(表頭(25)).Value.ToString.ToUpper
- ID_tb.Text = PA1 : PA2 = 年份_cb.Text : PA3 = 月份_cb.Text : Set_考勤明細() : 列印()
- Next
- End If
-
- xlSheet.PageSetup.PrintArea = ""
- xlApp.Cells.Select()
- xlApp.Application.WindowState = xlMinimized
- MGB(對話框(18), 1)
- End Sub
- Private Sub AA(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
- xlSheet.Range("A" & VBN & ":M" & VBN).Select()
- With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorAccent2
- .TintAndShade = 0.599993896298105 : .PatternTintAndShade = 0 : End With
- End Sub
- Private Sub BB(ByVal myExcel As Application, ByVal xlSheet As Worksheet)
- xlSheet.Range("A1:D1").Select()
- With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorAccent5
- .TintAndShade = 0.799981688894314 : .PatternTintAndShade = 0 : End With
- xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = 8
- xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 11
- With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
- .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
- xlSheet.Columns("C:C").Select : myExcel.Selection.ColumnWidth = 11
- With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
- .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
- xlSheet.Columns("D:D").Select : myExcel.Selection.ColumnWidth = 12
- With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
- .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
- xlSheet.Columns("E:I").Select : myExcel.Selection.ColumnWidth = 9
- With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
- .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
- xlSheet.Columns("J:K").Select : myExcel.Selection.ColumnWidth = 5
- With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
- .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
- xlSheet.Columns("L:L").Select : myExcel.Selection.ColumnWidth = 11
- With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
- .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
- xlSheet.Columns("M:M").Select : myExcel.Selection.ColumnWidth = 12
- xlSheet.Rows("5:5").Select
- With myExcel.Selection : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False
- .ReadingOrder = xlContext : .MergeCells = False : End With
- xlSheet.Range("G2:G4").Select()
- With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
- .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
-
- xlSheet.Range("A5:M5").Select()
- myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
- With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
- With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
-
- xlSheet.Range("A6:M" & CBN).Select()
- myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
- With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
- With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
-
- xlSheet.Range("A" & CBN + 1 & ":I" & CBN + 1).Select()
- With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
- .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
- With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
- .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
- xlSheet.Range("A" & CBN + 1 & ":M" & CBN + 1).Select()
- myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
- With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
- With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
- With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
- myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
-
- xlSheet.Range("H" & CBN).Select() : myExcel.ActiveWindow.DisplayGridlines = False
- xlSheet.Rows("6:6").Select : myExcel.ActiveWindow.FreezePanes = True
- xlSheet.Range("M2").Select()
- End Sub
- '----------------------自創視窗滑鼠拖曳功能---------------------------------------------------------------------------------------------------------
- Dim OldX, OldY As Long
- Dim drag As Boolean
- Private Sub 視窗4_pl_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗4_pl.MouseDown
- If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If
- End Sub
- Private Sub 視窗4_pl_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗4_pl.MouseMove
- If drag Then : 視窗4_pl.Left = 視窗4_pl.Left + e.X - OldX : 視窗4_pl.Top = 視窗4_pl.Top + e.Y - OldY : End If
- End Sub
- Private Sub 視窗4_pl_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗4_pl.MouseUp
- drag = False
- End Sub
- Private Sub 視窗3_pl_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗3_pl.MouseDown
- If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If
- End Sub
- Private Sub 視窗3_pl_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗3_pl.MouseMove
- If drag Then : 視窗3_pl.Left = 視窗3_pl.Left + e.X - OldX : 視窗3_pl.Top = 視窗3_pl.Top + e.Y - OldY : End If
- End Sub
- Private Sub 視窗3_pl_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗3_pl.MouseUp
- drag = False
- End Sub
- Private Sub 視窗2_pl_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗2_pl.MouseDown
- If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If
- End Sub
- Private Sub 視窗2_pl_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗2_pl.MouseMove
- If drag Then : 視窗2_pl.Left = 視窗2_pl.Left + e.X - OldX : 視窗2_pl.Top = 視窗2_pl.Top + e.Y - OldY : End If
- End Sub
- Private Sub 視窗2_pl_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗2_pl.MouseUp
- drag = False
- End Sub
- Private Sub Label11_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label11.MouseDown
- If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If
- End Sub
- Private Sub Label11_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label11.MouseMove
- If drag Then : 視窗3_pl.Left = 視窗3_pl.Left + e.X - OldX : 視窗3_pl.Top = 視窗3_pl.Top + e.Y - OldY : End If
- End Sub
- Private Sub Label11_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label24.MouseUp
- drag = False
- End Sub
- Private Sub Label24_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label24.MouseDown
- If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If
- End Sub
- Private Sub Label24_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label24.MouseMove
- If drag Then : 視窗2_pl.Left = 視窗2_pl.Left + e.X - OldX : 視窗2_pl.Top = 視窗2_pl.Top + e.Y - OldY : End If
- End Sub
- Private Sub Label24_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label24.MouseUp
- drag = False
- End Sub
-
- Private Sub 風格()
- If 深色風格 = False Then
- 考勤明細表_tp.BackColor = SystemColors.Control : 考勤彙總表_tp.BackColor = SystemColors.Control : 視窗4_pl.BackColor = SystemColors.Control
- 考勤查詢表_tp.BackColor = SystemColors.Control : Panel6.BackColor = Color.White : 視窗3_pl.BackColor = SystemColors.Control : Panel4.BackColor = Color.White
- 視窗2_pl.BackColor = SystemColors.Control : Panel5.BackColor = Color.White
- '----------------黑-------------------------------------------
- 小間距1_ch.ForeColor = Color.Black : 中間距1_ch.ForeColor = Color.Black : 大間距1_ch.ForeColor = Color.Black : Label8.ForeColor = Color.Black
- Label17.ForeColor = Color.Black : Label16.ForeColor = Color.Black : Label9.ForeColor = Color.Black : Label10.ForeColor = Color.Black
- Label1.ForeColor = Color.Black : Label5.ForeColor = Color.Black : Label4.ForeColor = Color.Black : Label56.ForeColor = Color.Black
- Label24.ForeColor = Color.Black : Label23.ForeColor = Color.Black : Label22.ForeColor = Color.Black : Label21.ForeColor = Color.Black
- Label20.ForeColor = Color.Black : Label19.ForeColor = Color.Black : Label18.ForeColor = Color.Black : Label3.ForeColor = Color.Black
- Label2.ForeColor = Color.Black : Label6.ForeColor = Color.Black : Label7.ForeColor = Color.Black : Label12.ForeColor = Color.Black
- Label13.ForeColor = Color.Black : Label14.ForeColor = Color.Black : Label15.ForeColor = Color.Black : 高級_cb.ForeColor = Color.Black
-
- 語轉扭_bt.BackColor = Color.White : 語轉扭_bt.ForeColor = Color.Black :: 姓名_tb.BackColor = Color.White : 姓名_tb.ForeColor = Color.Black
- 在職_bt.BackColor = Color.White : 在職_bt.ForeColor = Color.Black : 離職_bt.BackColor = Color.White : 離職_bt.ForeColor = Color.Black
- 員工代碼_tb.BackColor = Color.White : 員工代碼_tb.ForeColor = Color.Black : 員工崗位_tb.BackColor = Color.White : 員工崗位_tb.ForeColor = Color.Black
- 部門名稱_tb.BackColor = Color.White : 部門名稱_tb.ForeColor = Color.Black : 日期_tb.BackColor = Color.White : 日期_tb.ForeColor = Color.Black
- 日期1_tb.BackColor = Color.White : 日期1_tb.ForeColor = Color.Black : 總時數_tb.BackColor = Color.White : 總時數_tb.ForeColor = Color.Black
- 時段1_rtp.BackColor = Color.White : 時段1_rtp.ForeColor = Color.Black : 時段2_rtp.BackColor = Color.White : 時段2_rtp.ForeColor = Color.Black
- 時段3_rtp.BackColor = Color.White : 時段3_rtp.ForeColor = Color.Black : 時段4_rtp.BackColor = Color.White : 時段4_rtp.ForeColor = Color.Black
- 時段5_rtp.BackColor = Color.White : 時段5_rtp.ForeColor = Color.Black : 時段6_rtp.BackColor = Color.White : 時段6_rtp.ForeColor = Color.Black
- 時段A1_rtp.BackColor = Color.White : 時段A1_rtp.ForeColor = Color.Black : 時段A2_rtp.BackColor = Color.White : 時段A2_rtp.ForeColor = Color.Black
- 時段A3_rtp.BackColor = Color.White : 時段A3_rtp.ForeColor = Color.Black : 時段A4_rtp.BackColor = Color.White : 時段A4_rtp.ForeColor = Color.Black
- 時段A5_rtp.BackColor = Color.White : 時段A5_rtp.ForeColor = Color.Black : 時段A6_rtp.BackColor = Color.White : 時段A6_rtp.ForeColor = Color.Black
-
- 存檔_bt.BackColor = Color.White : 考勤調整_bt.BackColor = Color.White : 考勤編輯_bt.BackColor = Color.White : 加班請假_bt.BackColor = Color.White
- 列印_bt.BackColor = Color.White : 考勤調整1_bt.BackColor = Color.White : 考勤編輯1_bt.BackColor = Color.White : DA1_bt.BackColor = Color.White
- DA3_bt.BackColor = Color.White
-
- 清單1_dgv.EnableHeadersVisualStyles = True : 清單1_dgv.BackgroundColor = Color.White : 清單1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
- 清單1_dgv.DefaultCellStyle.BackColor = Color.White : 清單1_dgv.DefaultCellStyle.ForeColor = Color.Black
- 明細_dgv.EnableHeadersVisualStyles = True : 明細_dgv.BackgroundColor = Color.White : 明細_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
- 明細_dgv.DefaultCellStyle.BackColor = Color.White : 明細_dgv.DefaultCellStyle.ForeColor = Color.Black
- 萬年曆_dgv.EnableHeadersVisualStyles = True : 萬年曆_dgv.BackgroundColor = Color.White : 萬年曆_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
- 萬年曆_dgv.DefaultCellStyle.BackColor = Color.White : 萬年曆_dgv.DefaultCellStyle.ForeColor = Color.Black
- 考勤彙總_dgv.EnableHeadersVisualStyles = True : 考勤彙總_dgv.BackgroundColor = Color.White : 考勤彙總_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
- 考勤彙總_dgv.DefaultCellStyle.BackColor = Color.White : 考勤彙總_dgv.DefaultCellStyle.ForeColor = Color.Black
- 查詢表_dgv.EnableHeadersVisualStyles = True : 查詢表_dgv.BackgroundColor = Color.White : 查詢表_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
- 查詢表_dgv.DefaultCellStyle.BackColor = Color.White : 查詢表_dgv.DefaultCellStyle.ForeColor = Color.Black
- Else
- 考勤明細表_tp.BackColor = Color.Black : 考勤彙總表_tp.BackColor = Color.Black : 考勤查詢表_tp.BackColor = Color.Black
- 視窗4_pl.BackColor = Color.DimGray : Panel6.BackColor = Color.Black : 視窗3_pl.BackColor = Color.DimGray : Panel4.BackColor = Color.Black
- 視窗2_pl.BackColor = Color.DimGray : Panel5.BackColor = Color.Black
- '----------------黑-------------------------------------------
- 小間距1_ch.ForeColor = Color.White : 中間距1_ch.ForeColor = Color.White : 大間距1_ch.ForeColor = Color.White : Label8.ForeColor = Color.White
- Label17.ForeColor = Color.White : Label16.ForeColor = Color.White : Label9.ForeColor = Color.White : Label10.ForeColor = Color.White
- Label1.ForeColor = Color.White : Label5.ForeColor = Color.White : Label4.ForeColor = Color.White : Label56.ForeColor = Color.White
- Label24.ForeColor = Color.White : Label23.ForeColor = Color.White : Label22.ForeColor = Color.White : Label21.ForeColor = Color.White
- Label20.ForeColor = Color.White : Label19.ForeColor = Color.White : Label18.ForeColor = Color.White : Label3.ForeColor = Color.White
- Label2.ForeColor = Color.White : Label6.ForeColor = Color.White : Label7.ForeColor = Color.White : Label12.ForeColor = Color.White
- Label13.ForeColor = Color.White : Label14.ForeColor = Color.White : Label15.ForeColor = Color.White : 高級_cb.ForeColor = Color.White
-
- 語轉扭_bt.BackColor = Color.DimGray : 語轉扭_bt.ForeColor = Color.White :: 姓名_tb.BackColor = Color.DimGray : 姓名_tb.ForeColor = Color.White
- 在職_bt.BackColor = Color.DimGray : 在職_bt.ForeColor = Color.White : 離職_bt.BackColor = Color.DimGray : 離職_bt.ForeColor = Color.White
- 員工代碼_tb.BackColor = Color.DimGray : 員工代碼_tb.ForeColor = Color.White : 員工崗位_tb.BackColor = Color.DimGray : 員工崗位_tb.ForeColor = Color.White
- 部門名稱_tb.BackColor = Color.DimGray : 部門名稱_tb.ForeColor = Color.White : 日期_tb.BackColor = Color.DimGray : 日期_tb.ForeColor = Color.White
- 日期1_tb.BackColor = Color.DimGray : 日期1_tb.ForeColor = Color.White : 總時數_tb.BackColor = Color.DimGray : 總時數_tb.ForeColor = Color.White
- 時段1_rtp.BackColor = Color.Black : 時段1_rtp.ForeColor = Color.White : 時段2_rtp.BackColor = Color.Black : 時段2_rtp.ForeColor = Color.White
- 時段3_rtp.BackColor = Color.Black : 時段3_rtp.ForeColor = Color.White : 時段4_rtp.BackColor = Color.Black : 時段4_rtp.ForeColor = Color.White
- 時段5_rtp.BackColor = Color.Black : 時段5_rtp.ForeColor = Color.White : 時段6_rtp.BackColor = Color.Black : 時段6_rtp.ForeColor = Color.White
- 時段A1_rtp.BackColor = Color.Black : 時段A1_rtp.ForeColor = Color.White : 時段A2_rtp.BackColor = Color.Black : 時段A2_rtp.ForeColor = Color.White
- 時段A3_rtp.BackColor = Color.Black : 時段A3_rtp.ForeColor = Color.White : 時段A4_rtp.BackColor = Color.Black : 時段A4_rtp.ForeColor = Color.White
- 時段A5_rtp.BackColor = Color.Black : 時段A5_rtp.ForeColor = Color.White : 時段A6_rtp.BackColor = Color.Black : 時段A6_rtp.ForeColor = Color.White
-
- 存檔_bt.BackColor = Color.DimGray : 考勤調整_bt.BackColor = Color.DimGray : 考勤編輯_bt.BackColor = Color.DimGray : 加班請假_bt.BackColor = Color.DimGray
- 列印_bt.BackColor = Color.DimGray : 考勤調整1_bt.BackColor = Color.DimGray : 考勤編輯1_bt.BackColor = Color.DimGray : DA1_bt.BackColor = Color.DimGray
- DA3_bt.BackColor = Color.DimGray
-
- 清單1_dgv.EnableHeadersVisualStyles = False : 清單1_dgv.BackgroundColor = Color.DimGray : 清單1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
- 清單1_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 清單1_dgv.DefaultCellStyle.BackColor = Color.Black : 清單1_dgv.DefaultCellStyle.ForeColor = Color.White
- 明細_dgv.EnableHeadersVisualStyles = False : 明細_dgv.BackgroundColor = Color.DimGray : 明細_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
- 明細_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 明細_dgv.DefaultCellStyle.BackColor = Color.Black : 明細_dgv.DefaultCellStyle.ForeColor = Color.White
- 萬年曆_dgv.EnableHeadersVisualStyles = False : 萬年曆_dgv.BackgroundColor = Color.DimGray : 萬年曆_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
- 萬年曆_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 萬年曆_dgv.DefaultCellStyle.BackColor = Color.Black : 萬年曆_dgv.DefaultCellStyle.ForeColor = Color.White
- 考勤彙總_dgv.EnableHeadersVisualStyles = False : 考勤彙總_dgv.BackgroundColor = Color.DimGray : 考勤彙總_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
- 考勤彙總_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 考勤彙總_dgv.DefaultCellStyle.BackColor = Color.Black : 考勤彙總_dgv.DefaultCellStyle.ForeColor = Color.White
- 查詢表_dgv.EnableHeadersVisualStyles = False : 查詢表_dgv.BackgroundColor = Color.DimGray : 查詢表_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
- 查詢表_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 查詢表_dgv.DefaultCellStyle.BackColor = Color.Black : 查詢表_dgv.DefaultCellStyle.ForeColor = Color.White
- End If
- End Sub
- End Class
|