Nav apraksta
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

合約報價單.vb 554KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833
  1. Imports System.IO
  2. Imports Microsoft.Office.Interop.Excel.XlUnderlineStyle
  3. Imports Microsoft.Office.Interop.Excel.Constants
  4. Imports Microsoft.Office.Interop.Excel.XlBordersIndex
  5. Imports Microsoft.Office.Interop.Excel.XlLineStyle
  6. Imports Microsoft.Office.Interop.Excel.XlBorderWeight
  7. Imports Microsoft.Office.Interop.Excel.XlThemeFont
  8. Imports Microsoft.Office.Interop.Excel.XlThemeColor
  9. Imports Microsoft.Office.Interop.Excel.XlWindowState
  10. Imports Microsoft.Office.Interop.Excel
  11. Imports Microsoft.Office.Interop.Word
  12. Imports PdfSharp.Pdf
  13. Imports PdfSharp.Pdf.IO
  14. Imports System.Text.RegularExpressions
  15. Imports PInvoke
  16. Public Class 合約報價單
  17. ReadOnly ds4, ds7, ds8, ds9, ds10, ds11, ds13 As New DataSet
  18. Dim KKK2, 物料規格, ESTR, 目前選擇, 條件選擇, 頁面, 群組碼(21) As String
  19. Dim EDR, A1, A2, A3, B2, B3, AA1, AA2, AA3, AA5, BB2, BB3, BB4, BB5, OX1, OY1, OY2, 選取位置, NUM1, DGV_X, DGV_Y, XN1, XN2 As Integer
  20. Dim 啟動運算, 已超出, 放大, 不再動作1, 簽回檔, 複製報價, 初次讀檔, 不寫入 As Boolean
  21. Dim 人民幣匯率, 美金匯率, 印尼匯率, 匯率1 As Double
  22. Dim xlApp As Microsoft.Office.Interop.Excel.Application : Dim xlBook As Workbook : Dim xlSheet As Worksheet
  23. Dim 解答位置, 公式位置 As Integer : Dim X軸 As String
  24. Private Sub Set_合約清單1()
  25. Dim ds6 As New DataSet : 合約1_dgv.DataSource = Nothing : ds6.Clear()
  26. 合約1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  27. 合約1_dgv.ColumnHeadersHeight = 25 : 合約1_dgv.AllowUserToAddRows = False
  28. PA = 關鍵字搜尋1_tb.Text : PA46 = 合約編號2_cb.Text
  29. SQL_合約清單_報價用()
  30. da.Fill(ds6) : 合約1_dgv.DataSource = ds6.Tables(0) : conn.Close()
  31. 合約1_dgv.Columns(0).FillWeight = 130 : 合約1_dgv.Columns(表頭(8)).FillWeight = 280 : 合約1_dgv.Columns("簽回").FillWeight = 40 : 合約1_dgv.Columns("審核通過").FillWeight = 40
  32. 合約1_dgv.Columns("停止").FillWeight = 40
  33. For i As Integer = 1 To 39 : 合約1_dgv.Columns(i).Visible = False : Next
  34. For i As Integer = 0 To 合約1_dgv.Rows.Count - 1
  35. If IsDBNull(合約1_dgv("停止", i).Value) = True Then : 合約1_dgv("停止", i).Value = False : End If
  36. If IsDBNull(合約1_dgv("簽回", i).Value) = True Then : 合約1_dgv("簽回", i).Value = False : End If
  37. Next : 合約1_dgv.Columns(表頭(8)).Visible = True
  38. End Sub
  39. Private Sub Set_合約報價總表()
  40. Dim ds14, ds15 As New DataSet
  41. 報價總表_dgv.DataSource = Nothing : ds15.Clear()
  42. 報價總表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  43. 報價總表_dgv.ColumnHeadersHeight = 40 : 報價總表_dgv.AllowUserToAddRows = False : 報價總表_dgv.RowTemplate.Height = 45
  44. 報價總表_dgv.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True
  45. 報價總表_存_dgv.DataSource = Nothing : ds14.Clear()
  46. 報價總表_存_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  47. 報價總表_存_dgv.ColumnHeadersHeight = 40 : 報價總表_存_dgv.AllowUserToAddRows = False : 報價總表_存_dgv.RowTemplate.Height = 45
  48. 報價總表_存_dgv.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True
  49. SQL_合約報價總表() : 啟動運算 = False
  50. da.Fill(ds15) : 報價總表_dgv.DataSource = ds15.Tables(0) : conn.Close()
  51. da.Fill(ds14) : 報價總表_存_dgv.DataSource = ds14.Tables(0) : conn.Close()
  52. For Each column As DataGridViewColumn In 報價總表_dgv.Columns : column.SortMode = DataGridViewColumnSortMode.NotSortable : Next
  53. 報價總表_dgv.Columns(0).Visible = False : 報價總表_dgv.Columns(8).Visible = False : 報價總表_dgv.Columns(10).Visible = False
  54. 報價總表_dgv.Columns(12).Visible = False : 報價總表_dgv.Columns("存檔").Visible = False
  55. 報價總表_dgv.Columns(0).FillWeight = 50 : 報價總表_dgv.Columns(1).FillWeight = 50 : 報價總表_dgv.Columns(2).FillWeight = 210
  56. 報價總表_dgv.Columns(3).FillWeight = 50 : 報價總表_dgv.Columns(4).FillWeight = 50 : 報價總表_dgv.Columns(5).FillWeight = 80
  57. 報價總表_dgv.Columns(6).FillWeight = 80 : 報價總表_dgv.Columns(7).FillWeight = 90 : 報價總表_dgv.Columns(9).FillWeight = 50
  58. 報價總表_dgv.Columns(10).FillWeight = 40 : 報價總表_dgv.Columns(11).FillWeight = 40 : 報價總表_dgv.Columns(12).FillWeight = 40
  59. 報價總表_dgv.Columns(13).FillWeight = 40
  60. For i As Integer = 4 To 6 : 報價總表_dgv.Columns(i).DefaultCellStyle.Format = "#,##0" : Next
  61. For i As Integer = 4 To 6 : 報價總表_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : Next
  62. For i As Integer = 0 To 7 : 報價總表_dgv.Columns(i).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter : Next
  63. 報價總表_dgv.Columns(2).ReadOnly = True : 報價總表_dgv.Columns(6).ReadOnly = True
  64. 報價總表_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  65. 啟動運算 = True : 報價總表_dgv_自動計算()
  66. If DGV位置1.Value >= 報價總表_dgv.Rows.Count Then : DGV位置1.Value = 報價總表_dgv.Rows.Count - 1 : End If
  67. If DGV位置1.Value > 0 Then : 報價總表_dgv.CurrentCell = 報價總表_dgv.Rows(DGV位置1.Value).Cells(1) : End If
  68. Dim mycol1 As DataGridViewImageColumn = 報價總表_dgv.Columns(10) : mycol1.ImageLayout = DataGridViewImageCellLayout.Zoom
  69. Dim mycol2 As DataGridViewImageColumn = 報價總表_dgv.Columns(11) : mycol2.ImageLayout = DataGridViewImageCellLayout.Zoom
  70. Dim mycol3 As DataGridViewImageColumn = 報價總表_dgv.Columns(12) : mycol3.ImageLayout = DataGridViewImageCellLayout.Zoom
  71. Dim mycol4 As DataGridViewImageColumn = 報價總表_dgv.Columns(13) : mycol4.ImageLayout = DataGridViewImageCellLayout.Zoom
  72. For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  73. If 深色風格 = False Then
  74. For j As Integer = 1 To 7 : 報價總表_dgv.Columns(j).DefaultCellStyle.BackColor = Color.WhiteSmoke : Next
  75. Else
  76. For j As Integer = 1 To 7 : 報價總表_dgv.Columns(j).DefaultCellStyle.BackColor = Color.Black : Next
  77. End If
  78. 報價總表_dgv.Rows(i).Cells(10).Value = My.Resources.system
  79. 報價總表_dgv.Rows(i).Cells(11).Value = My.Resources.add_2
  80. 報價總表_dgv.Rows(i).Cells(12).Value = My.Resources.Edit_Text
  81. 報價總表_dgv.Rows(i).Cells(13).Value = My.Resources.GarbageEmpty
  82. 報價總表_dgv.Rows(i).Cells("存檔").Value = False
  83. Next
  84. End Sub
  85. Private Sub 報價總表_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 報價總表_dgv.RowPostPaint
  86. If 深色風格 = False Then
  87. Dim linePen As New Pen(Color.Blue, 3)
  88. If e.RowIndex = 報價明細表_dgv.Rows.Count - 1 Then
  89. Dim columnIndex As Integer = 7 : Dim cellBounds As System.Drawing.Rectangle = 報價總表_dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True)
  90. Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1
  91. e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd) : Exit Sub
  92. Else
  93. Dim columnIndex As Integer = 7 : Dim cellBounds As System.Drawing.Rectangle = 報價總表_dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True)
  94. Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1
  95. e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd)
  96. End If
  97. Else
  98. Dim linePen As New Pen(Color.Yellow, 3)
  99. If e.RowIndex = 報價明細表_dgv.Rows.Count - 1 Then
  100. Dim columnIndex As Integer = 7 : Dim cellBounds As System.Drawing.Rectangle = 報價總表_dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True)
  101. Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1
  102. e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd) : Exit Sub
  103. Else
  104. Dim columnIndex As Integer = 7 : Dim cellBounds As System.Drawing.Rectangle = 報價總表_dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True)
  105. Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1
  106. e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd)
  107. End If
  108. End If
  109. End Sub
  110. Private Sub Set_合約報價明細表_間距調整()
  111. If 小間距1_ch.Checked = True Then : 報價明細表1_dgv.RowTemplate.Height = 25
  112. ElseIf 中間距1_ch.Checked = True Then : 報價明細表1_dgv.RowTemplate.Height = 45
  113. ElseIf 大間距1_ch.Checked = True Then : 報價明細表1_dgv.RowTemplate.Height = 65 : End If
  114. End Sub
  115. Private Sub 小間距1_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 小間距1_ch.Click
  116. 小間距1_ch.Checked = True : 中間距1_ch.Checked = False : 大間距1_ch.Checked = False : Set_合約報價明細表_編輯用()
  117. End Sub
  118. Private Sub 中間距1_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 中間距1_ch.Click
  119. 小間距1_ch.Checked = False : 中間距1_ch.Checked = True : 大間距1_ch.Checked = False : Set_合約報價明細表_編輯用()
  120. End Sub
  121. Private Sub 大間距1_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 大間距1_ch.Click
  122. 小間距1_ch.Checked = False : 中間距1_ch.Checked = False : 大間距1_ch.Checked = True : Set_合約報價明細表_編輯用()
  123. End Sub
  124. Private Sub Set_合約報價明細表_編輯用()
  125. Dim ds15, ds16 As New DataSet
  126. 報價明細表1_dgv.DataSource = Nothing : ds15.Clear()
  127. 報價明細表1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  128. 報價明細表1_dgv.ColumnHeadersHeight = 25 : 報價明細表1_dgv.AllowUserToAddRows = False
  129. Set_合約報價明細表_間距調整()
  130. 報價明細表1_dgv.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True
  131. 報價明細表3_dgv.DataSource = Nothing : ds15.Clear()
  132. 報價明細表3_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  133. 報價明細表3_dgv.ColumnHeadersHeight = 25 : 報價明細表3_dgv.AllowUserToAddRows = False
  134. Set_合約報價明細表_間距調整()
  135. PA = 合約編號_tb.Text
  136. SQL_合約報價明細表_編輯用1()
  137. da.Fill(ds15) : 報價明細表1_dgv.DataSource = ds15.Tables(0) : conn.Close()
  138. SQL_合約報價明細表_編輯用2()
  139. da.Fill(ds16) : 報價明細表3_dgv.DataSource = ds16.Tables(0) : conn.Close()
  140. For Each column As DataGridViewColumn In 報價明細表1_dgv.Columns : column.SortMode = DataGridViewColumnSortMode.NotSortable : Next
  141. For Each column As DataGridViewColumn In 報價明細表3_dgv.Columns : column.SortMode = DataGridViewColumnSortMode.NotSortable : Next
  142. 報價明細表1_dgv.Columns("流水號").FillWeight = 50 : 報價明細表1_dgv.Columns(6).FillWeight = 60 : 報價明細表1_dgv.Columns(2).FillWeight = 200
  143. 報價明細表1_dgv.Columns(1).FillWeight = 40 : 報價明細表1_dgv.Columns(表頭(10)).Visible = False
  144. 報價明細表3_dgv.Columns("流水號").FillWeight = 50 : 報價明細表3_dgv.Columns(6).FillWeight = 60 : 報價明細表3_dgv.Columns(2).FillWeight = 200
  145. 報價明細表3_dgv.Columns(1).FillWeight = 40 : 報價明細表3_dgv.Columns(表頭(10)).Visible = False
  146. 報價明細表1_dgv.Columns(6).DefaultCellStyle.Format = "#,##0" : 報價明細表3_dgv.Columns(6).DefaultCellStyle.Format = "#,##0"
  147. 報價明細表1_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  148. 報價明細表3_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  149. For i As Integer = 0 To 62 : 報價明細表1_dgv.Columns(i).Visible = False : Next : For i As Integer = 0 To 61 : 報價明細表3_dgv.Columns(i).Visible = False : Next
  150. 報價明細表1_dgv.Columns(1).Visible = True : 報價明細表1_dgv.Columns(2).Visible = True : 報價明細表1_dgv.Columns(6).Visible = False
  151. 報價明細表1_dgv.Columns(5).Visible = False : 報價明細表1_dgv.Columns(4).Visible = False : 報價明細表1_dgv.Columns("Dele").Visible = False
  152. 報價明細表3_dgv.Columns(1).Visible = True : 報價明細表3_dgv.Columns(2).Visible = True : 報價明細表3_dgv.Columns(6).Visible = True
  153. 報價明細表3_dgv.Columns(5).Visible = False : 報價明細表3_dgv.Columns(4).Visible = False : 報價明細表3_dgv.Columns("流水號").Visible = False : 報價明細表3_dgv.Columns("Dele").Visible = False
  154. 報價明細表1_dgv.Columns(1).ReadOnly = True : 報價明細表1_dgv.Columns(2).ReadOnly = True : 報價明細表1_dgv.Columns(4).ReadOnly = True : 報價明細表1_dgv.Columns(5).ReadOnly = True
  155. 報價明細表1_dgv.Columns(6).ReadOnly = True : 報價明細表1_dgv.Columns(10).ReadOnly = True : 報價明細表1_dgv.Columns(11).ReadOnly = True : 報價明細表1_dgv.Columns(12).ReadOnly = True
  156. 報價明細表1_dgv.Columns(14).ReadOnly = True : 報價明細表1_dgv.Columns(15).ReadOnly = True : 報價明細表1_dgv.Columns(16).ReadOnly = True : 報價明細表1_dgv.Columns(17).ReadOnly = True
  157. 報價明細表3_dgv.Columns(1).ReadOnly = True : 報價明細表3_dgv.Columns(2).ReadOnly = True : 報價明細表3_dgv.Columns(4).ReadOnly = True : 報價明細表3_dgv.Columns(5).ReadOnly = True
  158. 報價明細表3_dgv.Columns(6).ReadOnly = True : 報價明細表3_dgv.Columns(10).ReadOnly = True : 報價明細表3_dgv.Columns(11).ReadOnly = True : 報價明細表3_dgv.Columns(12).ReadOnly = True
  159. 報價明細表3_dgv.Columns(14).ReadOnly = True : 報價明細表3_dgv.Columns(15).ReadOnly = True : 報價明細表3_dgv.Columns(16).ReadOnly = True : 報價明細表3_dgv.Columns(17).ReadOnly = True
  160. End Sub
  161. Private Sub 小間距3_ch_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 小間距3_ch.Click
  162. 小間距3_ch.Checked = True : 中間距3_ch.Checked = False : 大間距3_ch.Checked = False : 修改樓層_迴圈_bt.PerformClick() : Set_合約報價明細表()
  163. End Sub
  164. Private Sub 中間距3_ch_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 中間距3_ch.Click
  165. 小間距3_ch.Checked = False : 中間距3_ch.Checked = True : 大間距3_ch.Checked = False : 修改樓層_迴圈_bt.PerformClick() : Set_合約報價明細表()
  166. End Sub
  167. Private Sub 大間距3_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 大間距3_ch.Click
  168. 小間距3_ch.Checked = False : 中間距3_ch.Checked = False : 大間距3_ch.Checked = True : 修改樓層_迴圈_bt.PerformClick() : Set_合約報價明細表()
  169. End Sub
  170. Private Sub Set_合約報價明細表()
  171. Dim ds14, ds15, ds16 As New DataSet
  172. 報價明細表_dgv.DataSource = Nothing : ds14.Clear()
  173. 報價明細表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  174. 報價明細表_dgv.ColumnHeadersHeight = 40 : 報價明細表_dgv.AllowUserToAddRows = False : 報價明細表_dgv.RowTemplate.Height = 45
  175. 報價明細表_dgv.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True
  176. 報價明細表4_dgv.DataSource = Nothing : ds16.Clear()
  177. 報價明細表4_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  178. 報價明細表4_dgv.ColumnHeadersHeight = 40 : 報價明細表4_dgv.AllowUserToAddRows = False
  179. 報價明細表4_dgv.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True
  180. For i As Integer = 0 To Y軸_dgv.Rows.Count - 1 : Y軸_dgv.EndEdit(0) : Y軸_dgv.Rows.RemoveAt(0) : Next : Y軸_dgv.ScrollBars = System.Windows.Forms.ScrollBars.None
  181. Y軸_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  182. Y軸_dgv.ColumnHeadersHeight = 40 : Y軸_dgv.AllowUserToAddRows = False
  183. Y軸_dgv.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True
  184. If 小間距3_ch.Checked = True Then : Y軸_dgv.RowTemplate.Height = 45 : 報價明細表4_dgv.RowTemplate.Height = 45
  185. ElseIf 中間距3_ch.Checked = True Then : Y軸_dgv.RowTemplate.Height = 65 : 報價明細表4_dgv.RowTemplate.Height = 65
  186. ElseIf 大間距3_ch.Checked = True Then : Y軸_dgv.RowTemplate.Height = 85 : 報價明細表4_dgv.RowTemplate.Height = 85 : End If
  187. 報價明細表_存_dgv.DataSource = Nothing : ds15.Clear()
  188. 報價明細表_存_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  189. 報價明細表_存_dgv.ColumnHeadersHeight = 40 : 報價明細表_存_dgv.AllowUserToAddRows = False : 報價明細表_存_dgv.RowTemplate.Height = 45
  190. 報價明細表_存_dgv.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True
  191. PA = 合約編號_tb.Text : SQL_合約報價明細表()
  192. da.Fill(ds14) : 報價明細表_dgv.DataSource = ds14.Tables(0)
  193. da.Fill(ds16) : 報價明細表4_dgv.DataSource = ds16.Tables(0)
  194. da.Fill(ds15) : 報價明細表_存_dgv.DataSource = ds15.Tables(0)
  195. For Each column As DataGridViewColumn In 報價明細表_dgv.Columns : column.SortMode = DataGridViewColumnSortMode.NotSortable : Next
  196. For Each column As DataGridViewColumn In 報價明細表4_dgv.Columns : column.SortMode = DataGridViewColumnSortMode.NotSortable : Next
  197. 報價明細表4_dgv.Columns(0).Visible = False
  198. For i As Integer = 4 To 78 : 報價明細表4_dgv.Columns(i).Visible = False : Next
  199. 報價明細表4_dgv.Columns(85).Visible = False : 報價明細表4_dgv.Columns(86).Visible = False
  200. 報價明細表4_dgv.Columns(79).DefaultCellStyle.Format = "#,##0.0" : 報價明細表4_dgv.Columns(79).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  201. 報價明細表4_dgv.Columns(81).DefaultCellStyle.Format = "#,##0.0" : 報價明細表4_dgv.Columns(81).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  202. 報價明細表4_dgv.Columns(83).DefaultCellStyle.Format = "#,##0.0" : 報價明細表4_dgv.Columns(83).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  203. For i As Integer = 0 To 84 : 報價明細表4_dgv.Columns(i).ReadOnly = True : Next : 報價明細表4_dgv.Columns("UNIT").ReadOnly = False : Y軸_dgv.Columns(0).ReadOnly = True
  204. For i As Integer = 87 To 90 : 報價明細表4_dgv.Columns(i).Visible = False : 報價明細表_dgv.Columns(i).Visible = False : Next
  205. For i As Integer = 79 To 84 : 報價明細表_dgv.Columns(i).Visible = False : Next
  206. If 深色風格 = False Then
  207. For j As Integer = 1 To 7 : 報價明細表_dgv.Columns(j).DefaultCellStyle.BackColor = Color.WhiteSmoke : Next
  208. For j As Integer = 8 To 9 : 報價明細表_dgv.Columns(j).DefaultCellStyle.BackColor = Color.Gainsboro : Next
  209. For j As Integer = 1 To 2 : 報價明細表4_dgv.Columns(j).DefaultCellStyle.BackColor = Color.White : Next
  210. 報價明細表_dgv.Columns(13).DefaultCellStyle.BackColor = Color.Gainsboro : 報價明細表_dgv.Columns(17).DefaultCellStyle.BackColor = Color.Gainsboro
  211. 報價明細表4_dgv.Columns(83).DefaultCellStyle.BackColor = Color.Gainsboro : 報價明細表4_dgv.Columns(81).DefaultCellStyle.BackColor = Color.Gainsboro
  212. 報價明細表_dgv.Columns("工資成本單價").DefaultCellStyle.ForeColor = Color.Red : 報價明細表_dgv.Columns("工資成本後價").DefaultCellStyle.ForeColor = Color.Red
  213. 報價明細表_dgv.Columns("工資報價單價").DefaultCellStyle.ForeColor = Color.Red : 報價明細表_dgv.Columns("工資報價後價").DefaultCellStyle.ForeColor = Color.Red
  214. 報價明細表_dgv.Columns("材料成本單價").DefaultCellStyle.ForeColor = Color.Green : 報價明細表_dgv.Columns("材料成本後價").DefaultCellStyle.ForeColor = Color.Green
  215. 報價明細表_dgv.Columns("材料報價單價").DefaultCellStyle.ForeColor = Color.Green : 報價明細表_dgv.Columns("材料報價後價").DefaultCellStyle.ForeColor = Color.Green
  216. Else
  217. For j As Integer = 1 To 7 : 報價明細表_dgv.Columns(j).DefaultCellStyle.BackColor = Color.Black : Next
  218. For j As Integer = 8 To 9 : 報價明細表_dgv.Columns(j).DefaultCellStyle.BackColor = Color.Black : Next
  219. For j As Integer = 1 To 2 : 報價明細表4_dgv.Columns(j).DefaultCellStyle.BackColor = Color.DimGray : Next
  220. 報價明細表_dgv.Columns(13).DefaultCellStyle.BackColor = Color.Black : 報價明細表_dgv.Columns(17).DefaultCellStyle.BackColor = Color.Black
  221. 報價明細表4_dgv.Columns(83).DefaultCellStyle.BackColor = Color.Black : 報價明細表4_dgv.Columns(81).DefaultCellStyle.BackColor = Color.Black
  222. 報價明細表_dgv.Columns("工資成本單價").DefaultCellStyle.ForeColor = Color.LightPink : 報價明細表_dgv.Columns("工資成本後價").DefaultCellStyle.ForeColor = Color.LightPink
  223. 報價明細表_dgv.Columns("工資報價單價").DefaultCellStyle.ForeColor = Color.LightPink : 報價明細表_dgv.Columns("工資報價後價").DefaultCellStyle.ForeColor = Color.LightPink
  224. 報價明細表_dgv.Columns("材料成本單價").DefaultCellStyle.ForeColor = Color.LightGreen : 報價明細表_dgv.Columns("材料成本後價").DefaultCellStyle.ForeColor = Color.LightGreen
  225. 報價明細表_dgv.Columns("材料報價單價").DefaultCellStyle.ForeColor = Color.LightGreen : 報價明細表_dgv.Columns("材料報價後價").DefaultCellStyle.ForeColor = Color.LightGreen
  226. End If
  227. 報價明細表_dgv.Columns(4).DefaultCellStyle.Format = "#,##0.0"
  228. For i As Integer = 5 To 6 : 報價明細表_dgv.Columns(i).DefaultCellStyle.Format = "#,##0" : Next
  229. For i As Integer = 9 To 17 : 報價明細表_dgv.Columns(i).DefaultCellStyle.Format = "#,##0" : Next
  230. 報價明細表_dgv.Columns(8).DefaultCellStyle.Format = "#,##0.00"
  231. For i As Integer = 3 To 6
  232. 報價明細表_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  233. 報價明細表4_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  234. Next
  235. For i As Integer = 8 To 17 : 報價明細表_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : Next
  236. For i As Integer = 10 To 12
  237. If 深色風格 = False Then : 報價明細表_dgv.Columns(i).DefaultCellStyle.BackColor = Color.MistyRose
  238. Else : 報價明細表_dgv.Columns(i).DefaultCellStyle.BackColor = Color.Navy : End If
  239. Next
  240. For i As Integer = 14 To 16
  241. If 深色風格 = False Then : 報價明細表_dgv.Columns(i).DefaultCellStyle.BackColor = Color.MistyRose
  242. Else : 報價明細表_dgv.Columns(i).DefaultCellStyle.BackColor = Color.Navy : End If
  243. Next
  244. For I As Integer = 18 To 58 : 報價明細表_dgv.Columns(I).Visible = False : Next
  245. 報價明細表_dgv.Columns(0).Visible = False : 報價明細表_dgv.Columns("存檔").Visible = False : 報價明細表_dgv.Columns("層級").Visible = False
  246. 報價明細表_dgv.Columns("Save").Visible = False : 報價明細表_dgv.Columns("不計").Visible = False : 報價明細表_dgv.Columns("地點_中").Visible = False
  247. 報價明細表_dgv.Columns("地點_印").Visible = False : 報價明細表_dgv.Columns("主項_中").Visible = False : 報價明細表_dgv.Columns("主項_印").Visible = False
  248. 報價明細表_dgv.Columns("主名_中").Visible = False : 報價明細表_dgv.Columns("主名_印").Visible = False : 報價明細表_dgv.Columns("項名_中").Visible = False
  249. 報價明細表_dgv.Columns("項名_印").Visible = False : 報價明細表_dgv.Columns("描述_中").Visible = False : 報價明細表_dgv.Columns("其他_中").Visible = False
  250. 報價明細表_dgv.Columns("其他_印").Visible = False : 報價明細表_dgv.Columns("描述_印").Visible = False
  251. 報價明細表_dgv.EditMode = DataGridViewEditMode.EditOnEnter : 報價明細表1_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  252. 報價明細表4_dgv.EditMode = DataGridViewEditMode.EditOnEnter : 報價明細表3_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  253. 報價明細表_dgv.Columns(1).ReadOnly = True : 報價明細表_dgv.Columns(3).ReadOnly = True : 報價明細表_dgv.Columns(8).ReadOnly = True : 報價明細表_dgv.Columns(13).ReadOnly = True
  254. 報價明細表_dgv.Columns(2).ReadOnly = True : 報價明細表_dgv.Columns(4).ReadOnly = True : 報價明細表_dgv.Columns(9).ReadOnly = True : 報價明細表_dgv.Columns(5).ReadOnly = True
  255. 報價明細表_dgv.Columns(6).ReadOnly = True : 報價明細表_dgv.Columns(10).ReadOnly = True : 報價明細表_dgv.Columns(11).ReadOnly = True : 報價明細表_dgv.Columns(12).ReadOnly = True
  256. 報價明細表_dgv.Columns(14).ReadOnly = True : 報價明細表_dgv.Columns(15).ReadOnly = True : 報價明細表_dgv.Columns(16).ReadOnly = True : 報價明細表_dgv.Columns(17).ReadOnly = True
  257. For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  258. Y軸_dgv.Rows.Insert(0)
  259. If IsDBNull(報價明細表_dgv.Rows(i).Cells(表頭(23)).Value) Then : 報價明細表_dgv.Rows(i).Cells(表頭(23)).Value = False : End If
  260. If IsDBNull(報價明細表_dgv.Rows(i).Cells(表頭(24)).Value) Then : 報價明細表_dgv.Rows(i).Cells(表頭(24)).Value = False : End If
  261. If IsDBNull(報價明細表_存_dgv.Rows(i).Cells(表頭(23)).Value) Then : 報價明細表_存_dgv.Rows(i).Cells(表頭(23)).Value = False : End If
  262. If IsDBNull(報價明細表_存_dgv.Rows(i).Cells(表頭(24)).Value) Then : 報價明細表_存_dgv.Rows(i).Cells(表頭(24)).Value = False : End If
  263. Next
  264. For i As Integer = 0 To Y軸_dgv.Rows.Count - 1 : Y軸_dgv.Rows(i).Cells("Y").Value = i + 1 : Next
  265. 報價明細表_dgv_物料顯示() : 啟動運算 = True : 報價明細表_dgv_自動計算()
  266. If DGV位置2.Value >= 報價明細表_dgv.Rows.Count Then : DGV位置2.Value = 報價明細表_dgv.Rows.Count - 1 : End If
  267. If DGV位置2.Value > 0 Then : 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(DGV位置2.Value).Cells(1) : End If
  268. If DGV位置2.Value > 0 Then : 報價明細表4_dgv.CurrentCell = 報價明細表4_dgv.Rows(DGV位置2.Value).Cells(1) : End If
  269. Dim mycol1 As DataGridViewImageColumn = 報價明細表_dgv.Columns("Add") : mycol1.ImageLayout = DataGridViewImageCellLayout.Zoom
  270. Dim mycol2 As DataGridViewImageColumn = 報價明細表_dgv.Columns("Save") : mycol2.ImageLayout = DataGridViewImageCellLayout.Zoom
  271. Dim mycol3 As DataGridViewImageColumn = 報價明細表_dgv.Columns("Dele") : mycol3.ImageLayout = DataGridViewImageCellLayout.Zoom
  272. For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  273. 報價明細表_dgv.Rows(i).Cells(表頭(10)).Value = False : 報價明細表_dgv.Rows(i).Cells("Add").Value = My.Resources.add_2
  274. 報價明細表_dgv.Rows(i).Cells("Save").Value = My.Resources.SAVER : 報價明細表_dgv.Rows(i).Cells("Dele").Value = My.Resources.GarbageEmpty
  275. 報價明細表_dgv.Rows(i).Cells("存檔").Value = False
  276. Next
  277. Set_合約報價明細表格式() : 重新排序()
  278. If 利潤表_ch.Checked = True Then : Set_報價明細表_dgv_利潤表開啟() : Else : End If
  279. 報價明細表_dgv.Sort(報價明細表_dgv.Columns(0), System.ComponentModel.ListSortDirection.Ascending)
  280. Set_合約報價明細表_編輯用()
  281. End Sub
  282. Private Sub Set_合約報價明細表格式()
  283. 報價明細表4_dgv.Columns(1).FillWeight = 30 : 報價明細表4_dgv.Columns(2).FillWeight = 150 : 報價明細表4_dgv.Columns(3).FillWeight = 30
  284. 報價明細表4_dgv.Columns(79).FillWeight = 35 : 報價明細表4_dgv.Columns(80).FillWeight = 165 : 報價明細表4_dgv.Columns(81).FillWeight = 40
  285. 報價明細表4_dgv.Columns(82).FillWeight = 165 : 報價明細表4_dgv.Columns(83).FillWeight = 40 : 報價明細表4_dgv.Columns(84).FillWeight = 165
  286. 報價明細表_dgv.Columns(0).FillWeight = 45 : 報價明細表_dgv.Columns(1).FillWeight = 30 : 報價明細表_dgv.Columns(2).FillWeight = 200
  287. 報價明細表_dgv.Columns(3).FillWeight = 45 : 報價明細表_dgv.Columns(4).FillWeight = 45 : 報價明細表_dgv.Columns(7).FillWeight = 120
  288. 報價明細表_dgv.Columns(8).FillWeight = 50
  289. Dim FG As Integer = 50
  290. 報價明細表_dgv.Columns(5).FillWeight = FG : 報價明細表_dgv.Columns(6).FillWeight = FG : 報價明細表_dgv.Columns(9).FillWeight = FG
  291. 報價明細表_dgv.Columns(10).FillWeight = FG : 報價明細表_dgv.Columns(11).FillWeight = FG : 報價明細表_dgv.Columns(12).FillWeight = FG
  292. 報價明細表_dgv.Columns(13).FillWeight = FG : 報價明細表_dgv.Columns(14).FillWeight = FG : 報價明細表_dgv.Columns(15).FillWeight = FG
  293. 報價明細表_dgv.Columns(16).FillWeight = FG : 報價明細表_dgv.Columns(17).FillWeight = FG
  294. 報價明細表_dgv.Columns(34).FillWeight = 80 : 報價明細表_dgv.Columns(33).FillWeight = 30
  295. 報價明細表_dgv.Columns(42).FillWeight = 20 : 報價明細表_dgv.Columns(43).FillWeight = 20 : 報價明細表_dgv.Columns(44).FillWeight = 20
  296. 報價明細表_dgv.Columns(45).FillWeight = 20 : 報價明細表_dgv.Columns(46).FillWeight = 20 : 報價明細表_dgv.Columns(47).FillWeight = 20
  297. 報價明細表_dgv.Columns(48).FillWeight = 20 : 報價明細表_dgv.Columns(49).FillWeight = 20 : 報價明細表_dgv.Columns(50).FillWeight = 20
  298. 報價明細表_dgv.Columns(60).FillWeight = 30 : 報價明細表_dgv.Columns(61).FillWeight = 30 : 報價明細表_dgv.Columns(62).FillWeight = 30
  299. 報價明細表_dgv.Columns(7).Visible = True : 報價明細表_dgv.Columns(59).Visible = False
  300. 報價明細表_dgv.Columns(85).FillWeight = 30 : 報價明細表_dgv.Columns(86).FillWeight = 30
  301. If 利潤表_ch.Checked = False Then : 報價明細表_dgv.Columns(表頭(10)).FillWeight = 20 : Else : 報價明細表_dgv.Columns(表頭(10)).FillWeight = 20 : End If
  302. 報價明細表_dgv.Columns("不計").Visible = False : 報價明細表_dgv.Columns("Add").Visible = False : 報價明細表_dgv.Columns("Dele").Visible = False
  303. 報價明細表_dgv.Columns("工資單價").FillWeight = 40 : 報價明細表_dgv.Columns("工資單價").ReadOnly = True
  304. 報價明細表_dgv.Columns("工資係數").FillWeight = 40 : 報價明細表_dgv.Columns("工資係數").ReadOnly = True
  305. 報價明細表_dgv.Columns("材料係數").FillWeight = 40 : 報價明細表_dgv.Columns("材料係數").ReadOnly = True
  306. End Sub
  307. Private Sub Set_報價明細表_dgv_利潤表開啟()
  308. If 報價明細表_dgv.Rows.Count > 0 Then
  309. For I As Integer = 43 To 50 : 報價明細表_dgv.Columns(I).Visible = False : Next
  310. 報價明細表_dgv.Columns(8).Visible = True : 報價明細表_dgv.Columns(17).Visible = True : 報價明細表_dgv.Columns(33).Visible = True
  311. 報價明細表_dgv.Columns(4).Visible = False : 利潤表_ch.Checked = True
  312. If 工資_ch.Checked = True Then : For i As Integer = 9 To 12 : 報價明細表_dgv.Columns(i).Visible = True : Next
  313. Else : For i As Integer = 9 To 12 : 報價明細表_dgv.Columns(i).Visible = False : Next : End If
  314. If 材料_ch.Checked = True Then : For i As Integer = 13 To 16 : 報價明細表_dgv.Columns(i).Visible = True : Next
  315. Else : For i As Integer = 13 To 16 : 報價明細表_dgv.Columns(i).Visible = False : Next : End If
  316. 報價明細表_dgv.Columns("不計").Visible = False : 報價明細表_dgv.Columns("Add").Visible = False : 報價明細表_dgv.Columns("Dele").Visible = False
  317. 報價明細表_dgv.Columns("工資係數").Visible = True : 報價明細表_dgv.Columns("材料係數").Visible = True : 報價明細表_dgv.Columns("工資單價").Visible = True
  318. End If
  319. End Sub
  320. Private Sub Set_合約清單()
  321. Dim ds6 As New DataSet : 合約_dgv.DataSource = Nothing : ds6.Clear()
  322. 合約_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  323. 合約_dgv.ColumnHeadersHeight = 25 : 合約_dgv.AllowUserToAddRows = False
  324. PA = 關鍵字搜尋_tb.Text : PA46 = 合約編號1_cb.Text : PA47 = 工程期1_ch.Text
  325. If 待送報價_ch.Checked = True And 待審報價_ch.Checked = False And 報價放行_ch.Checked = False And
  326. 作廢報價_ch.Checked = False And 報價簽回_ch.Checked = False And 合約簽回_ch.Checked = False Then
  327. SQL6 = " AND (合約停止 = 1) AND (作廢 = 0)"
  328. ElseIf 待送報價_ch.Checked = False And 待審報價_ch.Checked = True And 報價放行_ch.Checked = False And
  329. 作廢報價_ch.Checked = False And 報價簽回_ch.Checked = False And 合約簽回_ch.Checked = False Then
  330. SQL6 = " AND (合約停止 = 0 OR 合約停止 IS NULL) AND (報價放行 = 0 OR 報價放行 IS NULL) AND (作廢 = 0)"
  331. ElseIf 待送報價_ch.Checked = False And 待審報價_ch.Checked = False And 報價放行_ch.Checked = True And
  332. 作廢報價_ch.Checked = False And 報價簽回_ch.Checked = False And 合約簽回_ch.Checked = False Then
  333. SQL6 = " AND (合約停止 = 0 OR 合約停止 IS NULL) AND (報價放行 = 1) AND (報價簽回 = 0 OR 報價簽回 IS NULL OR 合約簽回 = 0 OR 合約簽回 IS NULL) AND (作廢 = 0)"
  334. ElseIf 待送報價_ch.Checked = False And 待審報價_ch.Checked = False And 報價放行_ch.Checked = False And
  335. 作廢報價_ch.Checked = False And 報價簽回_ch.Checked = True And 合約簽回_ch.Checked = False Then
  336. SQL6 = " AND (合約停止 = 0 OR 合約停止 IS NULL) AND (報價放行 = 1) AND (報價簽回 = 1) AND (作廢 = 0)"
  337. ElseIf 待送報價_ch.Checked = False And 待審報價_ch.Checked = False And 報價放行_ch.Checked = False And
  338. 作廢報價_ch.Checked = False And 報價簽回_ch.Checked = False And 合約簽回_ch.Checked = True Then
  339. SQL6 = " AND (合約停止 = 0 OR 合約停止 IS NULL) AND (報價放行 = 1) AND (合約簽回 = 1) AND (作廢 = 0)"
  340. ElseIf 待送報價_ch.Checked = False And 待審報價_ch.Checked = False And 報價放行_ch.Checked = False And
  341. 作廢報價_ch.Checked = True And 報價簽回_ch.Checked = False And 合約簽回_ch.Checked = False Then
  342. SQL6 = " AND (作廢 = 1)"
  343. End If
  344. SQL_合約清單_報價用()
  345. da.Fill(ds6) : 合約_dgv.DataSource = ds6.Tables(0) : conn.Close()
  346. 合約_dgv.Columns(0).FillWeight = 130 : 合約_dgv.Columns(表頭(8)).FillWeight = 280 : 合約_dgv.Columns("簽回").FillWeight = 40 : 合約_dgv.Columns("審核通過").FillWeight = 40
  347. 合約_dgv.Columns("停止").FillWeight = 40
  348. For i As Integer = 1 To 39 : 合約_dgv.Columns(i).Visible = False : Next
  349. For i As Integer = 0 To 合約_dgv.Rows.Count - 1
  350. If IsDBNull(合約_dgv("停止", i).Value) = True Then : 合約_dgv("停止", i).Value = False : End If
  351. If IsDBNull(合約_dgv("簽回", i).Value) = True Then : 合約_dgv("簽回", i).Value = False : End If
  352. Next
  353. If 放大 = True Then
  354. 合約_dgv.Columns(表頭(8)).Visible = True : 合約_dgv.Columns("審核通過").Visible = True : 合約_dgv.Columns("停止").Visible = True
  355. Else
  356. 合約_dgv.Columns(表頭(8)).Visible = False : 合約_dgv.Columns("審核通過").Visible = False : 合約_dgv.Columns("停止").Visible = False
  357. End If
  358. End Sub
  359. Private Sub 語言轉換讀取()
  360. If 系統語言 = "繁體中文" Then : 語言 = "CH" : ElseIf 系統語言 = "English" Then : 語言 = "EN" : ElseIf 系統語言 = "Indonesian" Then : 語言 = "IN" : End If
  361. Me.Text = 系統語言字典("H001-124-" & 語言) : ToolTip1.ToolTipTitle = 系統語言字典("G000-108-" & 語言) : TabPage2.Text = 系統語言字典("H102-100-" & 語言)
  362. TabPage1.Text = 系統語言字典("H102-101-" & 語言)
  363. 表頭(2) = 系統語言字典("H204-125-" & 語言) : 表頭(3) = 系統語言字典("H115-124-" & 語言) : 表頭(4) = 系統語言字典("H527-132-" & 語言)
  364. 表頭(5) = 系統語言字典("H204-126-" & 語言) : 表頭(6) = 系統語言字典("H505-112-" & 語言) : 表頭(7) = 系統語言字典("H501-152-" & 語言)
  365. 表頭(8) = 系統語言字典("H112-118-" & 語言) : 表頭(9) = 系統語言字典("H505-112-" & 語言) : 表頭(10) = 系統語言字典("H204-118-" & 語言)
  366. 表頭(12) = 系統語言字典("H108-148-" & 語言) : 表頭(13) = 系統語言字典("H903-108-" & 語言) : 表頭(14) = 系統語言字典("H108-114-" & 語言)
  367. 表頭(15) = 系統語言字典("H204-109-" & 語言) : 表頭(16) = 系統語言字典("H507-111-" & 語言) : 表頭(17) = 系統語言字典("G000-327-" & 語言)
  368. 表頭(18) = 系統語言字典("G000-328-" & 語言) : 表頭(19) = 系統語言字典("G000-329-" & 語言) : 表頭(20) = 系統語言字典("G000-330-" & 語言)
  369. 表頭(21) = 系統語言字典("G000-331-" & 語言) : 表頭(22) = 系統語言字典("G000-332-" & 語言) : 表頭(23) = 系統語言字典("G000-333-" & 語言)
  370. 表頭(24) = 系統語言字典("G000-334-" & 語言)
  371. GroupBox2.Text = 系統語言字典("H102-156-" & 語言) : 文字資料輸入1_bt.Text = 系統語言字典("H102-156-" & 語言) : Label45.Text = 系統語言字典("H204-126-" & 語言)
  372. Label16.Text = 系統語言字典("H102-124-" & 語言) : Label31.Text = 系統語言字典("H102-157-" & 語言) : Label75.Text = 系統語言字典("H102-158-" & 語言)
  373. 工程地點_lb.Text = 系統語言字典("H102-159-" & 語言) : 第一項目_lb.Text = 系統語言字典("H102-160-" & 語言) : 第二項目_lb.Text = 系統語言字典("H102-161-" & 語言)
  374. 第三項目_lb.Text = 系統語言字典("H102-162-" & 語言) : 項目描述_lb.Text = 系統語言字典("H102-163-" & 語言) : 關鍵字查詢_lb.Text = 系統語言字典("H102-164-" & 語言)
  375. 其他選項_lb.Text = 系統語言字典("H102-165-" & 語言) : 實際數量_lb.Text = 系統語言字典("H102-166-" & 語言) : 工資成本單價_lb.Text = 系統語言字典("H102-167-" & 語言)
  376. 材料成本單價_lb.Text = 系統語言字典("H102-168-" & 語言) : 工資單價_lb.Text = 系統語言字典("H102-169-" & 語言) : 工資係數_lb.Text = 系統語言字典("H102-170-" & 語言)
  377. 材料系數_lb.Text = 系統語言字典("H102-171-" & 語言) : 選擇移動_lb.Text = 系統語言字典("H102-172-" & 語言) : 資料移動_lb.Text = 系統語言字典("H102-173-" & 語言)
  378. 目前選擇_lb.Text = 系統語言字典("H102-174-" & 語言) : 文字資料輸入2_bt.Text = 系統語言字典("H102-156-" & 語言) : 利潤表_ch.Text = 系統語言字典("G000-303-" & 語言)
  379. 縮放_bt.Text = 系統語言字典("H102-175-" & 語言) : 明細表編輯_lb.Text = 系統語言字典("H102-118-" & 語言) : 啟用批量選擇_ch.Text = 系統語言字典("H506-168-" & 語言)
  380. 編號1_lb.Text = 系統語言字典("H506-160-" & 語言) : 業主1_lb.Text = 系統語言字典("H112-117-" & 語言) : 案名中1_lb.Text = 系統語言字典("G000-215-" & 語言)
  381. 案名英1_lb.Text = 系統語言字典("G000-216-" & 語言) : 日期2_lb.Text = 系統語言字典("G000-216-" & 語言) : 檔板_lb.Text = 系統語言字典("G000-287-" & 語言)
  382. 編號2_lb.Text = 系統語言字典("H506-160-" & 語言) : 日期1_lb.Text = 系統語言字典("G000-216-" & 語言) : 業主2_lb.Text = 系統語言字典("H112-117-" & 語言)
  383. 案名中2_lb.Text = 系統語言字典("G000-215-" & 語言) : 案名英2_lb.Text = 系統語言字典("G000-216-" & 語言) : 單位_lb.Text = 系統語言字典("H507-111-" & 語言)
  384. 項目_lb.Text = 系統語言字典("H405-110-" & 語言) : 不計_ch.Text = 系統語言字典("G000-301-" & 語言) : 合計項_lb.Text = 系統語言字典("G000-302-" & 語言)
  385. 詳細資料2_ch.Text = 系統語言字典("H211-100-" & 語言) : 工資_ch.Text = 系統語言字典("G000-303-" & 語言) : 材料_ch.Text = 系統語言字典("G000-304-" & 語言)
  386. 詳細資料_ch.Text = 系統語言字典("H211-100-" & 語言) : 全部選擇_bt.Text = 系統語言字典("H209-103-" & 語言) : 全部取消_bt.Text = 系統語言字典("H209-102-" & 語言)
  387. 甲方_lb.Text = 系統語言字典("H110-118-" & 語言) : 搜尋_lb.Text = 系統語言字典("H110-117-" & 語言) : 群組編碼_lb.Text = 系統語言字典("H509-117-" & 語言)
  388. 搜尋_bt.Text = 系統語言字典("H511-119-" & 語言) : 最後採購日_lb.Text = 系統語言字典("G000-306-" & 語言) : 歷史單價_lb.Text = 系統語言字典("G000-307-" & 語言)
  389. 帶上歷史單價_ch.Text = 系統語言字典("G000-308-" & 語言) : 最後採購日1_lb.Text = 系統語言字典("G000-306-" & 語言) : 歷史單價1_lb.Text = 系統語言字典("G000-307-" & 語言)
  390. 詳細資料1_ch.Text = 系統語言字典("H211-100-" & 語言) : 帶上歷史單價1_ch.Text = 系統語言字典("G000-308-" & 語言) : 建立合約資料_tc.Text = 系統語言字典("G000-313-" & 語言)
  391. 是否帶入主項目_ch.Text = 系統語言字典("G000-310-" & 語言) : 項目1_lb.Text = 系統語言字典("H405-110-" & 語言) : 主項目_lb.Text = 系統語言字典("H527-202-" & 語言)
  392. 計算基數_lb.Text = 系統語言字典("G000-311-" & 語言) : 工程合約報價明細_tc.Text = 系統語言字典("G000-314-" & 語言) : 工程合約試算表_tc.Text = 系統語言字典("G000-315-" & 語言)
  393. BOM群組_lb.Text = 系統語言字典("G000-309-" & 語言) : 係數設定_tc.Text = 系統語言字典("G000-316-" & 語言) : 甲方2_lb.Text = 系統語言字典("H110-118-" & 語言)
  394. 合約號搜尋_lb.Text = 系統語言字典("H511-119-" & 語言) : 合約停止_ch.Text = 系統語言字典("G000-319-" & 語言) : 待送報價_ch.Text = 系統語言字典("G000-320-" & 語言)
  395. 待審報價_ch.Text = 系統語言字典("G000-321-" & 語言) : 報價放行_ch.Text = 系統語言字典("G000-322-" & 語言) : 作廢報價_ch.Text = 系統語言字典("G000-323-" & 語言)
  396. 報價簽回_ch.Text = 系統語言字典("G000-324-" & 語言) : 合約簽回_ch.Text = 系統語言字典("G000-325-" & 語言) : 公式1_lb.Text = 系統語言字典("G000-326-" & 語言)
  397. 公式2_lb.Text = 系統語言字典("G000-326-" & 語言) : 不印工資_全選_bt.Text = 系統語言字典("G000-335-" & 語言) : 不印工資_取消_bt.Text = 系統語言字典("G000-336-" & 語言)
  398. 不印材料_全選_bt.Text = 系統語言字典("G000-337-" & 語言) : 不印材料_取消_bt.Text = 系統語言字典("G000-338-" & 語言) : 公式3_lb.Text = 系統語言字典("G000-326-" & 語言)
  399. 列位_lb.Text = 系統語言字典("G000-371-" & 語言) : 答案_lb.Text = 系統語言字典("G000-372-" & 語言) : 物料工資計算式_lb.Text = 系統語言字典("G000-373-" & 語言)
  400. End Sub
  401. Private Sub 合約試算分下拉清單()
  402. PA = 合約編號_tb.Text : SQL_合約試算分表查詢() : 試算表_cb.Items.Clear() : While (dr.Read()) : 試算表_cb.Items.Add(dr("試算表")) : End While : conn.Close()
  403. End Sub
  404. Private Sub 合約試算控制下拉清單()
  405. PA = 合約編號_tb.Text : PA2 = 表號_tb.Text : SQL_合約試算控制表查詢() : 樓層_迴路_cb.Items.Clear() : While (dr.Read()) : 樓層_迴路_cb.Items.Add(dr("樓層/迴路")) : End While : conn.Close()
  406. End Sub
  407. Private Sub 合約種類下拉清單讀取()
  408. SQL_合約種類讀取() : 合約種類_cb.Items.Clear() : 合約種類_cb.Items.Add("") : While (dr.Read()) : 合約種類_cb.Items.Add(dr("中")) : End While : conn.Close()
  409. End Sub
  410. Private Sub 客戶名稱下拉清單讀取()
  411. SQL_客戶名稱讀取() : 客戶名稱_tb.Items.Clear() : While (dr.Read()) : 客戶名稱_tb.Items.Add(dr("客戶名稱")) : End While : conn.Close()
  412. End Sub
  413. Private Sub 我司負責人下拉清單讀取()
  414. SQL負責人B讀取() : 負責人_B_cb.Items.Clear() : While (dr.Read()) : 負責人_B_cb.Items.Add(dr("負責人B")) : End While : conn.Close()
  415. End Sub
  416. Private Sub 項目其他下拉清單讀取()
  417. SQL合約其他下拉() : 其他_中_cb.Items.Clear() : 其他_印_cb.Items.Clear()
  418. While (dr.Read()) : 其他_中_cb.Items.Add(dr("其他_中")) : 其他_印_cb.Items.Add(dr("其他_印")) : End While : conn.Close()
  419. SQL合約描述下拉() : 描述_中_cb.Items.Clear() : 描述_印_cb.Items.Clear()
  420. While (dr.Read()) : 描述_中_cb.Items.Add(dr("描述_中")) : 描述_印_cb.Items.Add(dr("描述_印")) : End While : conn.Close()
  421. End Sub
  422. Private Sub 甲方條件下拉清單讀取()
  423. SQL合約條件讀取() : 合約編號1_cb.Items.Clear() : 合約編號1_cb.Items.Add("") : 合約編號2_cb.Items.Clear() : 合約編號2_cb.Items.Add("")
  424. 甲方_cb.Items.Clear() : 甲方_cb.Items.Add("")
  425. While (dr.Read()) : 合約編號1_cb.Items.Add(dr("約號甲方")) : 合約編號2_cb.Items.Add(dr("約號甲方")) : 甲方_cb.Items.Add(dr("約號甲方")) : End While : conn.Close()
  426. End Sub
  427. Private Sub 預設資料1()
  428. 工程地點_tb.Text = "" : 工程名稱_中_tb.Text = "" : 工程名稱_英_tb.Text = "" : 負責人_B_cb.Text = "" : CH2.Checked = True : 立約日期_dtp.Value = Today()
  429. 我司地址_tb.Text = "Kawasan Industri Terpadu Indonesia China ( KITIC ) Kav. 42 Lantai 4 Desa Nagasari Kec. Serang Baru Kab. Bekasi – Jawa Barat" : 廠區_中文_tb.Text = ""
  430. NUD3.Value = 0 : 工程款1_nud.Value = 30 : 工程款2_nud.Value = 40 : 工程款3_nud.Value = 20 : 工程款4_nud.Value = 5 : 工程款5_nud.Value = 5 : 工期_nud.Value = 180
  431. 最末頁_cb.Text = "16" : 最高扣款_英_bt.Text = "5 (five)%." : 逾期_bt.Text = "0.0005% (萬分之五)" : 頁數_bt.Text = "16"
  432. 最高扣款_bt.Text = "5% (百分之五)" : 逾期_英_bt.Text = "0.0005% (null point null null null five percent)"
  433. Set_合約清單() : 合約種類下拉清單讀取() : 客戶名稱下拉清單讀取() : 我司負責人下拉清單讀取()
  434. 合約種類_cb.SelectedIndex = 0
  435. End Sub
  436. Private Sub 匯率()
  437. PA48 = Strings.Left(Strings.Format(立約日期_dtp.Value, "yyyyMMdd"), 4) : PA49 = Strings.Mid(Strings.Format(立約日期_dtp.Value, "yyyyMMdd"), 5, 2)
  438. SQL_匯率查詢()
  439. If dr.Read() Then
  440. 人民幣匯率 = dr("中心匯率").ToString : 美金匯率 = dr("美金匯率").ToString : 印尼匯率 = dr("印尼盾").ToString : conn.Close() : dr.Close()
  441. If 台幣_ch.Checked = True Then : 匯率1 = 1 / 印尼匯率 : ElseIf 人民幣_ch.Checked = True Then : 匯率1 = 人民幣匯率 / 印尼匯率
  442. ElseIf 美金_ch.Checked = True Then : 匯率1 = 美金匯率 / 印尼匯率 : ElseIf 印尼盾_ch.Checked = True Then : 匯率1 = 1 : End If
  443. Else
  444. conn.Close() : dr.Close() : MGB(系統語言字典("H102-102-" & 語言), 1)
  445. If 台幣_ch.Checked = True Then : 匯率1 = 1 / 0.002 : ElseIf 人民幣_ch.Checked = True Then : 匯率1 = 4.5 / 0.002
  446. ElseIf 美金_ch.Checked = True Then : 匯率1 = 31 / 0.002 : ElseIf 印尼盾_ch.Checked = True Then : 匯率1 = 1 : End If
  447. End If
  448. End Sub
  449. Private Sub 載入群組碼()
  450. SQL_工程項目BOM_群組碼() : 群組碼_cb.Items.Clear() : 群組碼中_cb.Items.Clear() : 群組碼印_cb.Items.Clear() : 群組碼_cb.Items.Add("%%")
  451. 群組碼中_cb.Items.Add("全部") : 群組碼印_cb.Items.Add("ALL")
  452. While (dr.Read()) : 群組碼_cb.Items.Add(dr("群組碼")) : 群組碼中_cb.Items.Add(dr("中文名稱")) : 群組碼印_cb.Items.Add(dr("印尼文名稱")) : End While
  453. End Sub
  454. Private Sub 合約報價單_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  455. HX_PGS_ERP_SYS.WindowState = 2 : Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  456. 風格() : H(102) = True : 介面 = "H102" : 語言轉換讀取() : 顯示說明(999, False)
  457. Me.KeyPreview = True ' 啟用 KeyPreview 屬性,使窗體可以捕捉鍵盤事件
  458. Y軸_dgv.AllowUserToAddRows = False
  459. Dim DB01 As New DataGridViewTextBoxColumn : DB01.HeaderText = "Y" : DB01.Name = "Y" : Y軸_dgv.Columns.Insert(0, DB01)
  460. 報價總表_存_dgv.SendToBack() : 報價明細表_存_dgv.SendToBack() : 主名_中_cb.Items.Clear() : 主名_印_cb.Items.Clear() : 主項_中_cb.Items.Clear() : 主項_印_cb.Items.Clear()
  461. 合約編號2_tb.Enabled = False : 合約編號3_tb.Enabled = False : CH1.Checked = False : CH2.Checked = True : NUD1.Enabled = False : NUD3.Enabled = True
  462. 小間距_ch.Checked = True : 視窗2_pl.Visible = False : 視窗3_pl.Visible = False : 視窗4_pl.Visible = False : 式算明細表_P.Visible = False : 物料工資計算式_P.Visible = False
  463. 物料_p.Visible = False : BOM_p.Visible = True : 合約_p.Visible = False : 切換_ts.Value = True : 新式_P.Visible = True : 新式_P.BringToFront() : 主頁_p.BringToFront()
  464. SQL6 = "" : 總表空間_P.BringToFront() : Panel2.SendToBack()
  465. If 系統語言 = "繁體中文" Then
  466. BOM群組_lb.Visible = True : BOM群組_lb.Visible = False : 群組碼_cb.Visible = False : 群組碼中_cb.Visible = True : 群組碼印_cb.Visible = False
  467. Else
  468. BOM群組_lb.Visible = False : BOM群組_lb.Visible = True : 群組碼_cb.Visible = False : 群組碼中_cb.Visible = False : 群組碼印_cb.Visible = True
  469. End If
  470. If CInt(登入人級別) <= 3 Then
  471. 檔板_lb.SendToBack() : 檔板_lb.Visible = False : 算式2_tb.ReadOnly = False : BB1_nud.ReadOnly = False : BB2_nud.ReadOnly = False : BB3_nud.ReadOnly = False
  472. 物料公式存檔_bt.Visible = True
  473. Else
  474. 檔板_lb.BringToFront() : 檔板_lb.Visible = True : 算式2_tb.ReadOnly = True : BB1_nud.ReadOnly = True : BB2_nud.ReadOnly = True : BB3_nud.ReadOnly = True
  475. 物料公式存檔_bt.Visible = False
  476. End If
  477. If CInt(登入人級別) <= 5 Then : 合約停止_ch.Enabled = True : 刪除合約_bt.Enabled = True : Else : 合約停止_ch.Enabled = False : 刪除合約_bt.Enabled = False : End If
  478. 縮放1_bt.PerformClick() : 物料清單_dgv.BringToFront() : Panel1.SendToBack() : Panel7.SendToBack() : 不再動作1 = True
  479. A3 = 空間2.Size.Width : B3 = 空間2.Size.Height
  480. 空間1.Visible = False : 空間2.Location = New System.Drawing.Point(A1, B2) : 空間2.Size = New System.Drawing.Point((A2 - A1) + A3, B3)
  481. A1 = 空間1.Location.X : A2 = 錨點1.Location.X : B2 = 空間2.Location.Y : A3 = 空間2.Size.Width : B3 = 空間2.Size.Height
  482. AA1 = 合約_dgv.Location.X : AA2 = 錨點2.Location.X
  483. BB2 = 空間3.Location.Y : AA3 = 空間3.Size.Width : BB3 = 空間3.Size.Height
  484. BB4 = 總表空間_P.Location.Y : AA5 = 總表空間_P.Size.Width : BB5 = 總表空間_P.Size.Height
  485. OY2 = 報價明細表_dgv.Size.Height
  486. 預估工資總成本_tb.Text = "0" : 預估材料總成本_tb.Text = "0" : 預估工資總報價_tb.Text = "0" : 預估材料總報價_tb.Text = "0" : 預估利潤_tb.Text = "0"
  487. 總成本_tb.Text = "0" : 總報價_tb.Text = "0" : 利潤比1_tb.Text = "0 %" : 利潤比2_tb.Text = "0 %" : 利潤比3_tb.Text = "0 %" : 利潤比4_tb.Text = "0 %"
  488. 未折價前_tb.Text = "0" : 報價小計_tb.Text = "0" : 折讓比例_nud.Value = "0" : 歸零位數_nud.Value = "0" : 稅前歸零_ch.Checked = False : 稅後歸零_ch.Checked = False
  489. 歸零數_tb.Visible = False
  490. If 美金_ch.Checked = True Then : 幣別 = " (USD)" : ElseIf 台幣_ch.Checked = True Then : 幣別 = " (TWD)"
  491. ElseIf 人民幣_ch.Checked = True Then : 幣別 = " (RMB)" : ElseIf 印尼盾_ch.Checked = True Then : 幣別 = " (RP)" : End If
  492. If CInt(登入人級別) = 0 Then : Else : 美金_ch.Visible = False : 台幣_ch.Visible = False : 人民幣_ch.Visible = False : 印尼盾_ch.Visible = False : End If
  493. 合約報價單_Siz()
  494. End Sub
  495. Private Sub 合約報價單_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged
  496. 合約報價單_Siz()
  497. A1 = 空間1.Location.X : A2 = 錨點1.Location.X : B2 = 空間2.Location.Y
  498. AA1 = 合約_dgv.Location.X : AA2 = 錨點2.Location.X : BB2 = 空間3.Location.Y : BB4 = 總表空間_P.Location.Y
  499. If 空間1.Visible = False Then : A3 = 空間2.Size.Width : B3 = 空間2.Size.Height : A3 -= (A2 - A1) : End If
  500. If 合約_dgv.Visible = False Then
  501. AA3 = 空間3.Size.Width : BB3 = 空間3.Size.Height : AA3 -= (AA2 - AA1)
  502. AA5 = 總表空間_P.Size.Width : BB5 = 總表空間_P.Size.Height : AA5 -= (AA2 - AA1)
  503. End If
  504. End Sub
  505. Private Sub 合約報價單_Siz()
  506. MyMod.清單字體大小調整()
  507. 合約_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : 合約1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  508. 報價係數_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : 報價總表_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  509. 報價明細表_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : BOM表控制_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  510. BOM表明細_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : 報價明細表1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  511. 報價明細表3_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : 物料清單1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  512. 報價明細表2_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : 報價係數1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  513. 報價係數2_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6) : 報價係數3_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  514. 報價係數4_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  515. End Sub
  516. Private Sub 合約報價單_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  517. Set_合約報價係數_範本() : SQL_合約作廢查詢預設() : Set_合約清單1() : Set_合約清單()
  518. SQL_群組碼_語轉_下拉清單() : 新群組1_cb.Items.Clear() : While (dr.Read()) : 新群組1_cb.Items.Add(dr("群組")) : End While : conn.Close()
  519. SQL_群組碼_下拉清單() : 群組編碼_cb.Items.Clear() : While (dr.Read()) : 群組編碼_cb.Items.Add(dr("群組碼")) : End While : conn.Close()
  520. SQL_合約係數表下拉1() : 係數項目_cb.Items.Clear() : While (dr.Read()) : 係數項目_cb.Items.Add(dr("項目")) : End While : conn.Close()
  521. SQL_合約係數表下拉2() : 係數單位_cb.Items.Clear() : While (dr.Read()) : 係數單位_cb.Items.Add(dr("單位")) : End While : conn.Close()
  522. SQL單位讀取() : 單位_cb.Items.Clear() : While (dr.Read()) : 單位_cb.Items.Add(dr("單位")) : End While : conn.Close()
  523. 甲方條件下拉清單讀取() : 新群組1_cb.SelectedIndex = 0 : PA = "範本"
  524. 載入群組碼() : 群組碼_cb.SelectedIndex = 0 : 群組碼中_cb.SelectedIndex = 0 : 群組碼印_cb.SelectedIndex = 0 : Set_BOM表控制()
  525. If 系統語言 = "繁體中文" Then
  526. 地點_中_tb.Enabled = True : 地點_印_tb.Enabled = False : 主項_中_cb.Enabled = True : 主項_印_cb.Enabled = False
  527. 主名_中_cb.Enabled = True : 主名_印_cb.Enabled = False : 項名_中_cb.Enabled = True : 項名_印_cb.Enabled = False
  528. 描述_中_cb.Enabled = True : 描述_印_cb.Enabled = False : 其他_中_cb.Enabled = True : 其他_印_cb.Enabled = False
  529. Else
  530. 地點_中_tb.Enabled = False : 地點_印_tb.Enabled = True : 主項_中_cb.Enabled = False : 主項_印_cb.Enabled = True
  531. 主名_中_cb.Enabled = False : 主名_印_cb.Enabled = True : 項名_中_cb.Enabled = False : 項名_印_cb.Enabled = True
  532. 描述_中_cb.Enabled = False : 描述_印_cb.Enabled = True : 其他_中_cb.Enabled = False : 其他_印_cb.Enabled = True
  533. End If
  534. 合約種類_cb.Text = "" : 合約種類_tb.Text = "" : 客戶名稱_tb.Text = "" : 負責人_A_cb.Text = ""
  535. 工程地點_tb.Text = "" : 客戶地址_tb.Text = "" : 工程名稱_中_tb.Text = "" : 工程名稱_英_tb.Text = "" : 負責人_B_cb.Text = "" : CH2.Checked = True : 立約日期_dtp.Value = Today()
  536. 我司地址_tb.Text = "Kawasan Industri Terpadu Indonesia China ( KITIC ) Kav. 42 Lantai 4 Desa Nagasari Kec. Serang Baru Kab. Bekasi – Jawa Barat" : 廠區_中文_tb.Text = ""
  537. NUD3.Value = 0 : 工程款1_nud.Value = 30 : 工程款2_nud.Value = 40 : 工程款3_nud.Value = 20 : 工程款4_nud.Value = 5 : 工程款5_nud.Value = 5 : 工期_nud.Value = 180
  538. 最高扣款_英_bt.Text = "5 (five)%." : 逾期_bt.Text = "0.0005% (萬分之五)" : 頁數_bt.Text = "16"
  539. 最高扣款_bt.Text = "5% (百分之五)" : 逾期_英_bt.Text = "0.0005% (null point null null null five percent)"
  540. Set_合約清單() : 合約種類下拉清單讀取() : 客戶名稱下拉清單讀取() : 我司負責人下拉清單讀取()
  541. 合約種類_cb.SelectedIndex = 0
  542. Set_合約文件圖庫資料庫狀態()
  543. 項目其他下拉清單讀取()
  544. '----------------由待辦事項進入----------------------------------------------------------------------------------------------------------------------------------
  545. If 待辦進入 <> "" Then : 關鍵字搜尋_tb.Text = 待辦進入
  546. 待送報價_ch.Checked = True : 待審報價_ch.Checked = False : 報價放行_ch.Checked = False : 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = False
  547. Set_合約清單() : If 合約_dgv.Rows.Count > 0 Then : 選取位置 = 0 : 合約讀取() : 待辦進入 = "" : 關鍵字搜尋_tb.Text = "" : Set_合約清單() : Exit Sub : End If
  548. 待送報價_ch.Checked = False : 待審報價_ch.Checked = True : 報價放行_ch.Checked = False : 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = False
  549. Set_合約清單() : If 合約_dgv.Rows.Count > 0 Then : 選取位置 = 0 : 合約讀取() : 待辦進入 = "" : 關鍵字搜尋_tb.Text = "" : Set_合約清單() : Exit Sub : End If
  550. 待送報價_ch.Checked = False : 待審報價_ch.Checked = False : 報價放行_ch.Checked = True : 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = False
  551. Set_合約清單() : If 合約_dgv.Rows.Count > 0 Then : 選取位置 = 0 : 合約讀取() : 待辦進入 = "" : 關鍵字搜尋_tb.Text = "" : Set_合約清單() : Exit Sub : End If
  552. 待送報價_ch.Checked = False : 待審報價_ch.Checked = False : 報價放行_ch.Checked = False : 作廢報價_ch.Checked = True : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = False
  553. Set_合約清單() : If 合約_dgv.Rows.Count > 0 Then : 選取位置 = 0 : 合約讀取() : 待辦進入 = "" : 關鍵字搜尋_tb.Text = "" : Set_合約清單() : Exit Sub : End If
  554. 待送報價_ch.Checked = False : 待審報價_ch.Checked = False : 報價放行_ch.Checked = False : 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = True : 合約簽回_ch.Checked = False
  555. Set_合約清單() : If 合約_dgv.Rows.Count > 0 Then : 選取位置 = 0 : 合約讀取() : 待辦進入 = "" : 關鍵字搜尋_tb.Text = "" : Set_合約清單() : Exit Sub : End If
  556. 待送報價_ch.Checked = False : 待審報價_ch.Checked = False : 報價放行_ch.Checked = False : 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = True
  557. Set_合約清單() : If 合約_dgv.Rows.Count > 0 Then : 選取位置 = 0 : 合約讀取() : 待辦進入 = "" : 關鍵字搜尋_tb.Text = "" : Set_合約清單() : Exit Sub : End If
  558. MGB(系統語言字典("H204-138-" & 語言), 1)
  559. End If
  560. End Sub
  561. Private Sub 合約報價單_Closing(sender As Object, e As EventArgs) Handles MyBase.Closed
  562. SQL_合約作廢查詢預設() : MyMod.虛擬桌面開啟()
  563. End Sub
  564. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  565. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  566. End Sub
  567. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  568. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  569. End Sub
  570. Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click
  571. 介面 = "H102" : 語言轉換讀取() : 回首頁_bt.PerformClick()
  572. End Sub
  573. Private Sub 合約報價單_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
  574. If e.Control AndAlso e.KeyCode = Keys.S Then : 報價總表存檔_bt.PerformClick() : 報價明細表存檔_bt.PerformClick() : End If
  575. End Sub
  576. Private Sub 合約編號1_cb_Click(sender As Object, e As EventArgs) Handles 合約編號1_cb.Click
  577. CB選擇清單(合約編號1_cb, 合約編號1_cb.Text)
  578. End Sub
  579. Private Sub 合約編號_cb_Click(sender As Object, e As EventArgs) Handles 合約編號_cb.Click
  580. CB選擇清單(合約編號_cb, 合約編號_cb.Text)
  581. End Sub
  582. Private Sub 最末頁_cb_Click(sender As Object, e As EventArgs) Handles 最末頁_cb.Click
  583. CB選擇清單(最末頁_cb, 最末頁_cb.Text)
  584. End Sub
  585. Private Sub 合約種類_cb_Click(sender As Object, e As EventArgs) Handles 合約種類_cb.Click
  586. CB選擇清單(合約種類_cb, 合約種類_cb.Text)
  587. End Sub
  588. Private Sub 負責人_A_cb_Click(sender As Object, e As EventArgs) Handles 負責人_A_cb.Click
  589. CB選擇清單(負責人_A_cb, 負責人_A_cb.Text)
  590. End Sub
  591. Private Sub 客戶名稱_tb_Click(sender As Object, e As EventArgs) Handles 客戶名稱_tb.Click
  592. CB選擇清單(客戶名稱_tb, 客戶名稱_tb.Text)
  593. End Sub
  594. Private Sub 選擇公司_cb_Click(sender As Object, e As EventArgs) Handles 選擇公司_cb.Click
  595. CB選擇清單(選擇公司_cb, 選擇公司_cb.Text)
  596. End Sub
  597. Private Sub 負責人_B_cb_Click(sender As Object, e As EventArgs) Handles 負責人_B_cb.Click
  598. CB選擇清單(負責人_B_cb, 負責人_B_cb.Text)
  599. End Sub
  600. '------------------------------------------------------------------------------------------------------------------------------------------------------------
  601. '-----------------合約讀取-----------------------------------------------------------------------------------------------------------------------------------
  602. '------------------------------------------------------------------------------------------------------------------------------------------------------------
  603. Private Sub 合約1_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 合約1_dgv.CellClick
  604. If e.RowIndex = -1 Then : Else
  605. 合約編號_1_tb.Text = 合約1_dgv.Rows(e.RowIndex).Cells(表頭(7)).Value : Set_合約報價明細表1()
  606. If 放大 = True Then : 縮放2_bt.PerformClick() : End If
  607. End If
  608. End Sub
  609. Private Sub 合約讀取()
  610. 編輯_ch.Checked = False : 編輯1_ch.Checked = False : 鎖定_ch.Checked = False : 鎖定1_ch.Checked = False : 算式_tb.Text = "" : 算式1_tb.Text = ""
  611. 目前X_tb.Text = "" : 目前X1_tb.Text = "" : 目前1_tb.Text = ""
  612. 試算表_cb.Items.Clear() : 試算表_cb.Text = "試算表1" : 表號_tb.Text = "B01"
  613. '---------合約生成--------------------------------------------------------------------------------------------------------------
  614. 合約種類下拉清單讀取() : 客戶名稱下拉清單讀取() : 我司負責人下拉清單讀取()
  615. 初次讀檔 = True
  616. If Strings.Left(合約_dgv(表頭(7), 選取位置).Value.ToString, 2) = "HX" Then : 合約編號_cb.Text = "HX" : Else : 合約編號_cb.Text = "PGS" : End If
  617. 合約編號1_tb.Text = 合約_dgv("約號甲方", 選取位置).Value.ToString : 合約編號2_tb.Text = 合約_dgv("約號排序", 選取位置).Value.ToString
  618. 合約編號3_tb.Text = 合約_dgv("約號尾序", 選取位置).Value.ToString : 報價說明_tb.Text = 合約_dgv("報價說明", 選取位置).Value.ToString
  619. 客戶名稱_tb.Text = 合約_dgv("客戶名稱", 選取位置).Value.ToString : 負責人_A_cb.Text = 合約_dgv("負責人A", 選取位置).Value.ToString
  620. 工程地點_tb.Text = 合約_dgv("工程地點", 選取位置).Value.ToString : 客戶地址_tb.Text = 合約_dgv("客戶地址", 選取位置).Value.ToString
  621. If 系統語言 = "繁體中文" Then
  622. 工程名稱_中_tb.Text = 合約_dgv(表頭(8), 選取位置).Value.ToString : 工程名稱_英_tb.Text = 合約_dgv("工程名稱_英", 選取位置).Value.ToString
  623. Else
  624. 工程名稱_中_tb.Text = 合約_dgv("工程名稱_中", 選取位置).Value.ToString : 工程名稱_英_tb.Text = 合約_dgv(表頭(8), 選取位置).Value.ToString
  625. End If
  626. 負責人_B_cb.Text = 合約_dgv("負責人B", 選取位置).Value.ToString : 我司地址_tb.Text = 合約_dgv("我司地址", 選取位置).Value.ToString
  627. CH2.Checked = True : NUD3.Value = 合約_dgv("工程總價", 選取位置).Value : 工程款1_nud.Value = 合約_dgv("第一期比例", 選取位置).Value
  628. 工程款2_nud.Value = 合約_dgv("第二期比例", 選取位置).Value : 工程款3_nud.Value = 合約_dgv("第三期比例", 選取位置).Value
  629. 工程款4_nud.Value = 合約_dgv("第四期比例", 選取位置).Value : 工程款5_nud.Value = 合約_dgv("第五期比例", 選取位置).Value
  630. 工期_nud.Value = 合約_dgv("工期", 選取位置).Value : 逾期_bt.Text = 合約_dgv("逾期_中", 選取位置).Value.ToString
  631. 最高扣款_bt.Text = 合約_dgv("最高扣罰_中", 選取位置).Value.ToString : 逾期_英_bt.Text = 合約_dgv("逾期_英", 選取位置).Value.ToString
  632. 最高扣款_英_bt.Text = 合約_dgv("最高扣罰_英", 選取位置).Value.ToString : 減價_bt.Text = 合約_dgv("減價", 選取位置).Value.ToString
  633. 廠區_中文_tb.Text = 合約_dgv("工程廠區", 選取位置).Value.ToString : 最末頁_cb.Text = 合約_dgv("頁數", 選取位置).Value.ToString
  634. 立約日期_dtp.Value = 合約_dgv("立約日期", 選取位置).Value : 合約種類_cb.Text = 合約_dgv("合約種類", 選取位置).Value.ToString
  635. 合約停止_ch.Checked = 合約_dgv("停止", 選取位置).Value : 係數範本選擇_cb.Text = 合約_dgv("係數種類", 選取位置).Value.ToString
  636. 初次讀檔 = False
  637. If 合約_dgv("幣別", 選取位置).Value.ToString = "美金" Then : 美金_ch.Checked = True : 台幣_ch.Checked = False : 人民幣_ch.Checked = False : 印尼盾_ch.Checked = False
  638. ElseIf 合約_dgv("幣別", 選取位置).Value.ToString = "台幣" Then : 美金_ch.Checked = False : 台幣_ch.Checked = True : 人民幣_ch.Checked = False : 印尼盾_ch.Checked = False
  639. ElseIf 合約_dgv("幣別", 選取位置).Value.ToString = "人民幣" Then : 美金_ch.Checked = False : 台幣_ch.Checked = False : 人民幣_ch.Checked = True : 印尼盾_ch.Checked = False
  640. ElseIf 合約_dgv("幣別", 選取位置).Value.ToString = "印尼盾" Then : 美金_ch.Checked = False : 台幣_ch.Checked = False : 人民幣_ch.Checked = False : 印尼盾_ch.Checked = True
  641. End If
  642. 折讓比例_nud.Value = 合約_dgv("折讓比例", 選取位置).Value : 歸零位數_nud.Value = 合約_dgv("歸零位數", 選取位置).Value
  643. 稅前歸零_ch.Checked = 合約_dgv("稅前歸零", 選取位置).Value : 稅後歸零_ch.Checked = 合約_dgv("稅後歸零", 選取位置).Value
  644. 圖片庫 = 合約_dgv("簽回檔圖庫", 選取位置).Value.ToString : 簽回檔 = 合約_dgv("簽回", 選取位置).Value
  645. PA = 合約編號_cb.Text & "-" & 合約編號1_tb.Text & " " & 合約編號2_tb.Text & "-" & 合約編號3_tb.Text
  646. '---------試算表--------------------------------------------------------------------------------------------------------------
  647. 合約編號_tb.Text = 合約_dgv(表頭(7), 選取位置).Value.ToString
  648. PA = 合約_dgv(表頭(7), 選取位置).Value.ToString : SQL_合約試算分表查詢()
  649. If dr.Read() Then
  650. 試算表_cb.Items.Clear() : conn.Close() : SQL_合約試算分表查詢() : While (dr.Read()) : 試算表_cb.Items.Add(dr("試算表")) : End While
  651. conn.Close() : 試算表_cb.SelectedIndex = 0 : 表號_tb.Text = "B01" : PA2 = 表號_tb.Text : SQL_合約試算控制表查詢()
  652. If dr.Read() Then
  653. 樓層_迴路_cb.Items.Clear() : conn.Close() : SQL_合約試算控制表查詢() : While (dr.Read()) : 樓層_迴路_cb.Items.Add(dr("樓層/迴路")) : End While : conn.Close()
  654. 樓層_迴路_cb.SelectedIndex = 0 : 表頭_tb.Text = "A01" : Set_合約試算控制表_查詢()
  655. Else
  656. 樓層_迴路_cb.Items.Clear() : 表頭_tb.Text = "" : Set_合約試算控制表_查詢()
  657. End If : conn.Close()
  658. Else
  659. conn.Close() : PA1 = 試算表_cb.Text : PA2 = 表號_tb.Text : SQL_合約試算分表_新增()
  660. End If : conn.Close()
  661. '---------報價單--------------------------------------------------------------------------------------------------------------
  662. 報價單合約編號_tb.Text = 合約_dgv(表頭(7), 選取位置).Value.ToString : 報價單客戶名稱_cb.Text = 合約_dgv("客戶名稱", 選取位置).Value.ToString
  663. 報價單立約日期_dtp.Value = 合約_dgv("立約日期", 選取位置).Value.ToString : 報價單合約編號1_tb.Text = 合約_dgv(表頭(7), 選取位置).Value.ToString
  664. 報價單客戶名稱1_cb.Text = 合約_dgv("客戶名稱", 選取位置).Value.ToString
  665. If 系統語言 = "繁體中文" Then
  666. 報價工程名稱_中_tb.Text = 合約_dgv(表頭(8), 選取位置).Value.ToString : 報價工程名稱_中1_tb.Text = 合約_dgv(表頭(8), 選取位置).Value.ToString
  667. 報價工程名稱_英1_tb.Text = 合約_dgv("工程名稱_英", 選取位置).Value.ToString : 報價工程名稱_英_tb.Text = 合約_dgv("工程名稱_英", 選取位置).Value.ToString
  668. Else
  669. 報價工程名稱_中_tb.Text = 合約_dgv("工程名稱_中", 選取位置).Value.ToString : 報價工程名稱_中1_tb.Text = 合約_dgv("工程名稱_中", 選取位置).Value.ToString
  670. 報價工程名稱_英1_tb.Text = 合約_dgv(表頭(8), 選取位置).Value.ToString : 報價工程名稱_英_tb.Text = 合約_dgv(表頭(8), 選取位置).Value.ToString
  671. End If
  672. PA = 合約編號_tb.Text
  673. Set_合約報價總表() : Set_合約報價係數() : Set_合約報價明細表() : 報價總表_dgv_自動計算()
  674. If 報價明細表_dgv.Rows.Count = 0 Then : For i As Integer = 1 To 3 : 新增資料2_bt.PerformClick() : Next : End If
  675. End Sub
  676. Private Sub 合約_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 合約_dgv.CellClick
  677. If e.RowIndex = -1 Then : Else : 選取位置 = e.RowIndex : 合約讀取() : 報價明細表_dgv_自動計算() : End If : 縮放2_bt.PerformClick() : 縮放1_bt.PerformClick()
  678. End Sub
  679. Private Sub 報價總表_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 報價總表_dgv.CellClick
  680. If e.RowIndex = -1 Then : Else : DGV位置1.Value = e.RowIndex
  681. 總表流水_tb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("流水號").Value.ToString : ITEM1_cb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("ITEM").Value.ToString()
  682. 單位_tb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("UNIT").Value.ToString() : 備註_tb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("REMARKS").Value.ToString()
  683. 內容_tb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("DESCRIPTION").Value.ToString() : 選擇項_tb.Text = DGV位置1.Value
  684. 合計項_cb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("DESCRIPTION").Value.ToString() : 選擇項3_tb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("排序").Value.ToString()
  685. If 合計項_cb.Text = "小計(未稅) Subtotal(Excluding Tax)" Or 合計項_cb.Text = "稅金 10% Tax" Or 合計項_cb.Text = "稅金 11% Tax" Or
  686. Strings.Left(合計項_cb.Text, 3) = "管理費" Or Strings.Left(合計項_cb.Text, 2) = "折讓" Or 合計項_cb.Text = "總計 Grand Total" Or
  687. 合計項_cb.Text = "總計(含稅) Grand Total(Including Tax)" Then
  688. Else : 合計項_cb.Text = "" : End If
  689. DGV_X = e.ColumnIndex : DGV_Y = e.RowIndex : 選擇項_tb.Text = e.RowIndex
  690. If DGV_X = 4 Or DGV_X = 5 Or DGV_X = 6 Then
  691. If 目前選擇 = "寫入資料" Then : X_3_tb.Text = e.ColumnIndex : Y_3_tb.Text = e.RowIndex : Else
  692. If IsDBNull(報價總表_dgv.Rows(e.RowIndex).Cells(e.ColumnIndex).Value) Then : 報價總表_dgv.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = 0 : End If
  693. End If
  694. End If
  695. End If
  696. End Sub
  697. Private Sub 報價總表_dgv_CellDoubleClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 報價總表_dgv.CellDoubleClick
  698. If e.RowIndex = -1 Then : Else
  699. If 視窗2_pl.Visible = True Then : DGV_X = e.ColumnIndex : DGV_Y = e.RowIndex : 選擇項_tb.Text = e.RowIndex : End If
  700. 連動編號_tb.Text = 報價總表_dgv.Rows(e.RowIndex).Cells("明細連動").Value.ToString
  701. Me.TabControl1.SelectedTab = Me.工程合約報價明細_tc
  702. Dim 查詢 As Boolean
  703. For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  704. If 報價總表_dgv.Rows(e.RowIndex).Cells("DESCRIPTION").Value.ToString() = 報價明細表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString() Then
  705. 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(i).Cells(1) : 查詢 = True : Exit For : Else : 查詢 = False
  706. End If
  707. Next
  708. If 查詢 = False Then
  709. If DGV位置2.Value >= 報價明細表_dgv.Rows.Count Then : DGV位置2.Value = 報價明細表_dgv.Rows.Count - 1 : End If
  710. If DGV位置2.Value > 0 Then : 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(DGV位置2.Value).Cells(1) : End If
  711. If DGV位置2.Value > 0 Then : 報價明細表4_dgv.CurrentCell = 報價明細表4_dgv.Rows(DGV位置2.Value).Cells(1) : End If
  712. End If
  713. End If
  714. End Sub
  715. Private Sub 報價總表_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 報價總表_dgv.MouseUp
  716. 'If 報價總表_dgv.SelectedCells.Count = 1 Then : 通知訊息 = 報價總表_dgv.SelectedCells(0).ColumnIndex & " " & 報價總表_dgv.SelectedCells(0).RowIndex) : End If
  717. If 報價總表_dgv.SelectedCells.Count = 1 Then : 已超出 = False : End If
  718. If 報價總表_dgv.SelectedCells.Count > 0 Then
  719. '--------------------------------加總計算--------------------------------------------------------------------------------------------------------------------
  720. If 報價總表_dgv.SelectedCells(0).ColumnIndex = 4 Or 報價總表_dgv.SelectedCells(0).ColumnIndex = 5 Or 報價總表_dgv.SelectedCells(0).ColumnIndex = 6 Then
  721. If 已超出 = False Then : Dim x As Double = 0
  722. For i As Integer = 0 To 報價總表_dgv.SelectedCells.Count - 1
  723. Dim 變數 As String = "" : Dim 取變數 As String
  724. 取變數 = 報價總表_dgv.Rows(報價總表_dgv.SelectedCells.Item(i).RowIndex).Cells(報價總表_dgv.SelectedCells.Item(i).ColumnIndex).Value
  725. For ii As Integer = 1 To Len(取變數)
  726. If ii = 1 Then : 變數 = Strings.Left(取變數, ii) : Else : If Strings.Mid(取變數, ii, 1) <> "," Then : 變數 &= Strings.Mid(取變數, ii, 1) : End If : End If
  727. Next : x += Val(變數)
  728. Next i : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(x, "#,##0")
  729. Else : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(0, "#,##0") : End If
  730. Else : 已超出 = True : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(0, "#,##0") : End If
  731. '--------------------------------點擊功能--------------------------------------------------------------------------------------------------------------------
  732. If 報價總表_dgv.SelectedCells(0).ColumnIndex = 11 Then : PA20 = "1" : 新增資料()
  733. ElseIf 報價總表_dgv.SelectedCells(0).ColumnIndex = 2 Then
  734. Dim 位置 As Integer : 總表編輯_bt.PerformClick() : 位置 = 報價總表_dgv.SelectedCells(0).RowIndex : DGV位置1.Value = 位置
  735. 總表流水_tb.Text = 報價總表_dgv.Rows(位置).Cells("流水號").Value.ToString : ITEM1_cb.Text = 報價總表_dgv.Rows(位置).Cells("ITEM").Value.ToString()
  736. 單位_tb.Text = 報價總表_dgv.Rows(位置).Cells("UNIT").Value.ToString() : 備註_tb.Text = 報價總表_dgv.Rows(位置).Cells("REMARKS").Value.ToString()
  737. 內容_tb.Text = 報價總表_dgv.Rows(位置).Cells("DESCRIPTION").Value.ToString() : 選擇項_tb.Text = 位置
  738. 合計項_cb.Text = 報價總表_dgv.Rows(位置).Cells("DESCRIPTION").Value.ToString() : 選擇項3_tb.Text = 報價總表_dgv.Rows(位置).Cells("排序").Value.ToString()
  739. 數量_tb.Text = 報價總表_dgv.Rows(位置).Cells("QTY").Value.ToString()
  740. If 合計項_cb.Text = "小計(未稅) Subtotal(Excluding Tax)" Or 合計項_cb.Text = "稅金 10% Tax" Or 合計項_cb.Text = "稅金 11% Tax" Or
  741. Strings.Left(合計項_cb.Text, 3) = "管理費" Or Strings.Left(合計項_cb.Text, 2) = "折讓" Or 合計項_cb.Text = "總計 Grand Total" Or
  742. 合計項_cb.Text = "總計(含稅) Grand Total(Including Tax)" Then
  743. Else : 合計項_cb.Text = "" : End If
  744. ElseIf 報價總表_dgv.SelectedCells(0).ColumnIndex = 13 Then : 總表選擇刪除_bt.PerformClick() : End If
  745. End If
  746. End Sub
  747. Private Sub 報價總表_dgv_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 報價總表_dgv.CellEndEdit
  748. If 啟動運算 = True Then : 報價總表_dgv_自動計算() : End If
  749. End Sub
  750. Private Sub 重新排序_總表()
  751. For I As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  752. If I < 10 Then : 報價總表_dgv.Rows(I).Cells("排序").Value = "00" & I
  753. ElseIf I > 9 And I < 100 Then : 報價總表_dgv.Rows(I).Cells("排序").Value = "0" & I
  754. ElseIf I > 99 Then : 報價總表_dgv.Rows(I).Cells("排序").Value = I : End If
  755. Next
  756. End Sub
  757. Private Sub 上移1_bt_Click(sender As Object, e As EventArgs) Handles 上移1_bt.Click
  758. 選擇項3_tb.Text = 報價總表_dgv.Rows(選擇項_tb.Text).Cells(0).Value.ToString
  759. If CLng(選擇項_tb.Text) = 1 Then
  760. If CLng(選擇項3_tb.Text) <= 8 Then : 選擇項3_tb.Text = "000" & CLng(選擇項3_tb.Text) - 1
  761. ElseIf CLng(選擇項3_tb.Text) > 8 And CLng(選擇項3_tb.Text) <= 98 Then : 選擇項3_tb.Text = "00" & CLng(選擇項3_tb.Text) - 1
  762. ElseIf CLng(選擇項3_tb.Text) > 98 And CLng(選擇項3_tb.Text) <= 998 Then : 選擇項3_tb.Text = "0" & CLng(選擇項3_tb.Text) - 1
  763. ElseIf CLng(選擇項3_tb.Text) > 998 Then : 選擇項3_tb.Text = CLng(選擇項3_tb.Text) - 1 : End If
  764. 報價總表_dgv.Rows(選擇項_tb.Text).Cells(0).Value = 選擇項3_tb.Text : 報價總表_dgv.Rows(0).Cells(0).Value = "0000_1"
  765. Else
  766. If CLng(選擇項3_tb.Text) <= 8 Then : 選擇項3_tb.Text = "000" & CLng(選擇項3_tb.Text) - 2 & "_1"
  767. ElseIf CLng(選擇項3_tb.Text) > 8 And CLng(選擇項3_tb.Text) <= 98 Then : 選擇項3_tb.Text = "00" & CLng(選擇項3_tb.Text) - 2 & "_1"
  768. ElseIf CLng(選擇項3_tb.Text) > 98 And CLng(選擇項3_tb.Text) <= 998 Then : 選擇項3_tb.Text = "0" & CLng(選擇項3_tb.Text) - 2 & "_1"
  769. ElseIf CLng(選擇項3_tb.Text) > 998 Then : 選擇項3_tb.Text = CLng(選擇項3_tb.Text) - 2 & "_1" : End If
  770. 報價總表_dgv.Rows(選擇項_tb.Text).Cells(0).Value = 選擇項3_tb.Text
  771. End If
  772. 選擇項_tb.Text = CLng(選擇項_tb.Text) - 1 : 報價總表_dgv.Sort(報價總表_dgv.Columns(0), System.ComponentModel.ListSortDirection.Ascending)
  773. 報價總表_dgv.CurrentCell = 報價總表_dgv.Rows(選擇項_tb.Text).Cells(2) : 重新排序_總表()
  774. If CLng(選擇項_tb.Text) <= 8 Then : 選擇項3_tb.Text = "000" & CLng(選擇項_tb.Text)
  775. ElseIf CLng(選擇項_tb.Text) > 8 And CLng(選擇項_tb.Text) <= 98 Then : 選擇項3_tb.Text = "00" & CLng(選擇項_tb.Text)
  776. ElseIf CLng(選擇項_tb.Text) > 98 And CLng(選擇項_tb.Text) <= 998 Then : 選擇項3_tb.Text = "0" & CLng(選擇項_tb.Text)
  777. ElseIf CLng(選擇項_tb.Text) > 998 Then : 選擇項3_tb.Text = CLng(選擇項_tb.Text) : End If : 報價總表_dgv_自動計算()
  778. End Sub
  779. Private Sub 下移1_bt_Click(sender As Object, e As EventArgs) Handles 下移1_bt.Click
  780. Dim 最大 As Integer = 報價總表_dgv.Rows.Count - 1
  781. If CLng(選擇項_tb.Text) = 最大 Then : Else
  782. 選擇項3_tb.Text = 報價總表_dgv.Rows(選擇項_tb.Text).Cells(0).Value.ToString
  783. If CLng(選擇項3_tb.Text) <= 8 Then : 選擇項3_tb.Text = "00" & CLng(選擇項3_tb.Text) + 1 & "-1"
  784. ElseIf CLng(選擇項3_tb.Text) > 8 And CLng(選擇項3_tb.Text) <= 98 Then : 選擇項3_tb.Text = "0" & CLng(選擇項3_tb.Text) + 1 & "-1"
  785. ElseIf CLng(選擇項3_tb.Text) > 98 Then : 選擇項3_tb.Text = CLng(選擇項3_tb.Text) + 1 & "-1" : End If
  786. 報價總表_dgv.Rows(選擇項_tb.Text).Cells(0).Value = 選擇項3_tb.Text : 選擇項_tb.Text = CLng(選擇項_tb.Text) + 1
  787. 報價總表_dgv.Sort(報價總表_dgv.Columns(0), System.ComponentModel.ListSortDirection.Ascending)
  788. 報價總表_dgv.CurrentCell = 報價總表_dgv.Rows(選擇項_tb.Text).Cells(2) : 重新排序_總表()
  789. If CLng(選擇項_tb.Text) <= 8 Then : 選擇項3_tb.Text = "00" & CLng(選擇項_tb.Text)
  790. ElseIf CLng(選擇項_tb.Text) > 8 And CLng(選擇項_tb.Text) <= 98 Then : 選擇項3_tb.Text = "0" & CLng(選擇項_tb.Text)
  791. ElseIf CLng(選擇項_tb.Text) > 98 Then : 選擇項3_tb.Text = CLng(選擇項_tb.Text) : End If : 報價總表_dgv_自動計算()
  792. End If
  793. End Sub
  794. Private Sub 報價明細表_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 報價明細表_dgv.CellClick
  795. If e.RowIndex = -1 Then : Else : 選擇項1_tb.Text = e.RowIndex : DGV位置2.Value = 選擇項1_tb.Text : DGV_X = 選擇項1_tb.Text : DGV_Y = 選擇項1_tb.Text
  796. If 啟用批量選擇_ch.Checked = True Then
  797. If 報價明細表_dgv(表頭(10), e.RowIndex).Value = True Then
  798. If 深色風格 = False Then
  799. 報價明細表_dgv(表頭(10), e.RowIndex).Value = False : 報價明細表_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.White
  800. Else
  801. 報價明細表_dgv(表頭(10), e.RowIndex).Value = False : 報價明細表_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Black
  802. End If
  803. Else
  804. If 深色風格 = False Then
  805. 報價明細表_dgv(表頭(10), e.RowIndex).Value = True : 報價明細表_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.LightBlue
  806. Else
  807. 報價明細表_dgv(表頭(10), e.RowIndex).Value = True : 報價明細表_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Blue
  808. End If
  809. End If
  810. End If
  811. 報價明細表選擇()
  812. If DGV_X = 4 Or DGV_X = 5 Or DGV_X = 6 Or DGV_X = 8 Or DGV_X = 9 Or DGV_X = 10 Or DGV_X = 11 Or DGV_X = 12 Or DGV_X = 13 Or DGV_X = 14 Or DGV_X = 15 Or DGV_X = 16 Or DGV_X = 17 Then
  813. If 目前選擇 = "寫入資料" Then : X_2_tb.Text = e.ColumnIndex : Y_2_tb.Text = 選擇項1_tb.Text : Else
  814. If IsDBNull(報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(e.ColumnIndex).Value) Then : 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(e.ColumnIndex).Value = 0 : End If
  815. 數值4_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(e.ColumnIndex).Value
  816. End If
  817. End If
  818. End If
  819. End Sub
  820. Private Sub 報價明細表選擇()
  821. 合計項1_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("DESCRIPTION").Value.ToString()
  822. If Strings.Left(合計項1_cb.Text, 5) = "Total" Then : Else : 合計項1_cb.Text = "" : End If
  823. 項目_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("層級").Value.ToString()
  824. 地點_中_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("地點_中").Value.ToString() : 地點_印_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("地點_印").Value.ToString()
  825. 主項_中_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("主項_中").Value.ToString() : 主項_印_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("主項_印").Value.ToString()
  826. 主名_中_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("主名_中").Value.ToString() : 主名_印_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("主名_印").Value.ToString()
  827. 項名_中_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("項名_中").Value.ToString() : 項名_印_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("項名_印").Value.ToString()
  828. 描述_中_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("描述_中").Value.ToString() : 描述_印_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("描述_印").Value.ToString()
  829. 其他_中_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("其他_中").Value.ToString() : 其他_印_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("其他_印").Value.ToString()
  830. 明細表流水_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("流水號").Value.ToString : ITEM2_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("ITEM").Value.ToString()
  831. 單位1_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("UNIT").Value.ToString() : 備註1_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("REMARKS").Value.ToString()
  832. 內容1_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("DESCRIPTION").Value.ToString() : 選擇項2_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("排序").Value.ToString()
  833. ITEM3_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("ITEM").Value.ToString() : 不計_ch.Checked = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("不計").Value
  834. 料號_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(表頭(9)).Value.ToString() : 申請數_nud.Value = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("QTY").Value.ToString()
  835. 單位2_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("UNIT").Value.ToString() : 實際數量_nud.Value = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("實際數量").Value.ToString()
  836. 材料成本_nud.Value = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("材料成本單價").Value.ToString() : 係數清單_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("材料係數").Value.ToString()
  837. 工資成本_nud.Value = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("工資成本單價").Value.ToString() : 工資單價_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("工資單價").Value.ToString()
  838. 工資系數_cb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("工資係數").Value.ToString()
  839. 物料圖1_pb.Image = Nothing
  840. If 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("料號原則").Value.ToString = "" Then : Else
  841. PA2 = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("料號原則").Value.ToString : SQL_物料圖庫_圖檔讀取一()
  842. While dr.Read() = True
  843. Dim unused As Byte() = New Byte(-1) {}
  844. Dim bytes As Byte() = DirectCast(dr.Item("圖檔"), Byte())
  845. Dim oStream As New MemoryStream(bytes)
  846. 物料圖1_pb.Image = Bitmap.FromStream(oStream)
  847. End While : conn.Close() : 物料圖1_pb.SizeMode = 4
  848. End If
  849. End Sub
  850. Private Sub 上移2_bt_Click(sender As Object, e As EventArgs) Handles 上移2_bt.Click
  851. If 選擇項1_tb.Text = "" Then : Else
  852. If CInt(選擇項1_tb.Text) <= 0 Then : Else
  853. 選擇項1_tb.Text = CInt(選擇項1_tb.Text) - 1 : 報價明細表選擇() : 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("DESCRIPTION")
  854. End If
  855. End If
  856. End Sub
  857. Private Sub 下移2_bt_Click(sender As Object, e As EventArgs) Handles 下移2_bt.Click
  858. If 選擇項1_tb.Text = "" Then : Else
  859. If CInt(選擇項1_tb.Text) >= 報價明細表_dgv.Rows.Count - 1 Then : Else
  860. 選擇項1_tb.Text = CInt(選擇項1_tb.Text) + 1 : 報價明細表選擇() : 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("DESCRIPTION")
  861. End If
  862. End If
  863. End Sub
  864. Private Sub 報價明細表_dgv_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 報價明細表_dgv.CellEndEdit
  865. If 啟動運算 = True Then : 報價明細表_dgv_物料顯示() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算() : End If
  866. End Sub
  867. Private Sub 報價明細表_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 報價明細表_dgv.MouseUp
  868. 'If 報價明細表_dgv.SelectedCells.Count = 1 Then : MGB(報價明細表_dgv.SelectedCells(0).ColumnIndex & " " & 報價明細表_dgv.SelectedCells(0).RowIndex, 1) : End If
  869. If 報價明細表_dgv.SelectedCells.Count = 1 Then : 已超出 = False : End If
  870. If 報價明細表_dgv.SelectedCells.Count > 0 Then
  871. Dim R位置 As Integer = 報價明細表_dgv.SelectedCells(0).RowIndex
  872. If 報價明細表_dgv.SelectedCells(0).ColumnIndex = 2 Then
  873. 'If 視窗3_pl.Visible = False Then : 明細表編輯_bt.PerformClick() : Else : End If
  874. ElseIf 報價明細表_dgv.SelectedCells(0).ColumnIndex = 4 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 5 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 6 Or
  875. 報價明細表_dgv.SelectedCells(0).ColumnIndex = 8 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 9 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 10 Or
  876. 報價明細表_dgv.SelectedCells(0).ColumnIndex = 11 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 12 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 13 Or
  877. 報價明細表_dgv.SelectedCells(0).ColumnIndex = 14 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 15 Or 報價明細表_dgv.SelectedCells(0).ColumnIndex = 16 Or
  878. 報價明細表_dgv.SelectedCells(0).ColumnIndex = 17 Then
  879. If 已超出 = False Then
  880. Dim x As Double = 0
  881. For i As Integer = 0 To 報價明細表_dgv.SelectedCells.Count - 1
  882. Dim 變數 As String = "" : Dim 取變數 As String
  883. 取變數 = 報價明細表_dgv.Rows(報價明細表_dgv.SelectedCells.Item(i).RowIndex).Cells(報價明細表_dgv.SelectedCells.Item(i).ColumnIndex).Value
  884. For ii As Integer = 1 To Len(取變數)
  885. If ii = 1 Then : 變數 = Strings.Left(取變數, ii) : Else : If Strings.Mid(取變數, ii, 1) <> "," Then : 變數 &= Strings.Mid(取變數, ii, 1) : End If : End If
  886. Next : x += Val(變數)
  887. Next i : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(x, "#,##0")
  888. Else : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : 0" : End If
  889. ElseIf 報價明細表_dgv.SelectedCells(0).ColumnIndex = 32 Then
  890. 係數清單_cb.Text = 報價明細表_dgv.Rows(R位置).Cells(32).Value.ToString : CB選擇清單_可選空白(係數清單_cb)
  891. 報價明細表_dgv.Rows(R位置).Cells(32).Value = 係數清單_cb.Text : 報價明細表_dgv_物料顯示() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算()
  892. ElseIf 報價明細表_dgv.SelectedCells(0).ColumnIndex = 77 Then
  893. 係數清單_cb.Text = 報價明細表_dgv.Rows(R位置).Cells(77).Value.ToString : CB選擇清單_可選空白(工資系數_cb)
  894. 報價明細表_dgv.Rows(R位置).Cells(77).Value = 工資系數_cb.Text : 報價明細表_dgv_物料顯示() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算()
  895. ElseIf 報價明細表_dgv.SelectedCells(0).ColumnIndex = 78 Then
  896. 係數清單_cb.Text = 報價明細表_dgv.Rows(R位置).Cells(78).Value.ToString : CB選擇清單_可選空白(工資單價_cb)
  897. 報價明細表_dgv.Rows(R位置).Cells(78).Value = 工資單價_cb.Text : 報價明細表_dgv_物料顯示() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算()
  898. ElseIf 報價明細表_dgv.SelectedCells(0).ColumnIndex = 85 Then
  899. If 報價明細表_dgv.Rows(R位置).Cells(85).Value = False Then : 報價明細表_dgv.Rows(R位置).Cells(85).Value = True
  900. Else : 報價明細表_dgv.Rows(R位置).Cells(85).Value = False : End If : 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(R位置).Cells(2)
  901. ElseIf 報價明細表_dgv.SelectedCells(0).ColumnIndex = 86 Then
  902. If 報價明細表_dgv.Rows(R位置).Cells(86).Value = False Then : 報價明細表_dgv.Rows(R位置).Cells(86).Value = True
  903. Else : 報價明細表_dgv.Rows(R位置).Cells(86).Value = False : End If : 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(R位置).Cells(2)
  904. Else : 已超出 = True : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : 0" : End If
  905. End If
  906. End Sub
  907. Private Sub 新增資料3_bt_Click(sender As Object, e As EventArgs) Handles 新增資料3_bt.Click
  908. If 選擇項1_tb.Text = "" Then : Else
  909. 報價明細表存檔()
  910. PA = 合約編號_tb.Text : PA2 = "" : PA3 = "" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" : PA10 = "" : PA11 = "" : PA12 = ""
  911. PA13 = "" : PA14 = "" : PA15 = "" : PA16 = "" : BL = False : BL1 = False : BL2 = False : BL3 = False : BL4 = False : BL5 = False : BL6 = False
  912. BL7 = False : BL8 = False : BL9 = True : 合約報價明細表_最後一筆資料()
  913. PA1 = 選擇項2_tb.Text & "-1" : PB14 = 工資系數_cb.Text : PB15 = 工資單價_cb.Text
  914. SQL_合約報價明細表_新增資料() : Set_合約報價明細表() : 重新排序() : 報價明細表存檔() : 重置_bt.PerformClick()
  915. End If
  916. End Sub
  917. Private Sub 明細表選擇刪除2_bt_Click(sender As Object, e As EventArgs) Handles 明細表選擇刪除2_bt.Click
  918. If 選擇項1_tb.Text = "" Then : Else
  919. MGB(系統語言字典("H102-103-" & 語言), 2)
  920. If 訊息回應 = "YES" Then
  921. 報價明細表存檔()
  922. PA9 = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells("流水號").Value.ToString
  923. SQL_合約報價明細表_刪除資料() : Set_合約報價明細表() : 重置_bt.PerformClick()
  924. End If
  925. End If
  926. End Sub
  927. Private Sub 報價明細表_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 報價明細表_dgv.RowPostPaint
  928. If 深色風格 = False Then
  929. Dim linePen As New Pen(Color.Blue, 3)
  930. If e.RowIndex = 報價明細表_dgv.Rows.Count - 1 Then
  931. Dim columnIndex As Integer = 7 : Dim cellBounds As System.Drawing.Rectangle = 報價明細表_dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True)
  932. Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1
  933. e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd)
  934. Dim columnIndex1 As Integer = 17 : Dim cellBounds1 As System.Drawing.Rectangle = 報價明細表_dgv.GetCellDisplayRectangle(columnIndex1, e.RowIndex, True)
  935. Dim lineX1 As Integer = cellBounds1.Right - 1 : Dim lineYStart1 As Integer = e.RowBounds.Top : Dim lineYEnd1 As Integer = e.RowBounds.Bottom - 1
  936. e.Graphics.DrawLine(linePen, lineX1, lineYStart1, lineX1, lineYEnd1) : Exit Sub
  937. Else
  938. Dim columnIndex As Integer = 7 : Dim cellBounds As System.Drawing.Rectangle = 報價明細表_dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True)
  939. Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1
  940. e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd)
  941. Dim columnIndex1 As Integer = 17 : Dim cellBounds1 As System.Drawing.Rectangle = 報價明細表_dgv.GetCellDisplayRectangle(columnIndex1, e.RowIndex, True)
  942. Dim lineX1 As Integer = cellBounds1.Right - 1 : Dim lineYStart1 As Integer = e.RowBounds.Top : Dim lineYEnd1 As Integer = e.RowBounds.Bottom - 1
  943. e.Graphics.DrawLine(linePen, lineX1, lineYStart1, lineX1, lineYEnd1)
  944. If Strings.Left(報價明細表_dgv("DESCRIPTION", e.RowIndex).Value.ToString, 5) = "Total" Then
  945. Dim startX As Integer = IIf(報價明細表_dgv.RowHeadersVisible, 報價明細表_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  946. Dim endX As Integer = startX + 報價明細表_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 報價明細表_dgv.HorizontalScrollingOffset
  947. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  948. End If
  949. End If
  950. Else
  951. Dim linePen As New Pen(Color.Yellow, 3)
  952. If e.RowIndex = 報價明細表_dgv.Rows.Count - 1 Then
  953. Dim columnIndex As Integer = 7 : Dim cellBounds As System.Drawing.Rectangle = 報價明細表_dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True)
  954. Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1
  955. e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd)
  956. Dim columnIndex1 As Integer = 17 : Dim cellBounds1 As System.Drawing.Rectangle = 報價明細表_dgv.GetCellDisplayRectangle(columnIndex1, e.RowIndex, True)
  957. Dim lineX1 As Integer = cellBounds1.Right - 1 : Dim lineYStart1 As Integer = e.RowBounds.Top : Dim lineYEnd1 As Integer = e.RowBounds.Bottom - 1
  958. e.Graphics.DrawLine(linePen, lineX1, lineYStart1, lineX1, lineYEnd1) : Exit Sub
  959. Else
  960. Dim columnIndex As Integer = 7 : Dim cellBounds As System.Drawing.Rectangle = 報價明細表_dgv.GetCellDisplayRectangle(columnIndex, e.RowIndex, True)
  961. Dim lineX As Integer = cellBounds.Right - 1 : Dim lineYStart As Integer = e.RowBounds.Top : Dim lineYEnd As Integer = e.RowBounds.Bottom - 1
  962. e.Graphics.DrawLine(linePen, lineX, lineYStart, lineX, lineYEnd)
  963. Dim columnIndex1 As Integer = 17 : Dim cellBounds1 As System.Drawing.Rectangle = 報價明細表_dgv.GetCellDisplayRectangle(columnIndex1, e.RowIndex, True)
  964. Dim lineX1 As Integer = cellBounds1.Right - 1 : Dim lineYStart1 As Integer = e.RowBounds.Top : Dim lineYEnd1 As Integer = e.RowBounds.Bottom - 1
  965. e.Graphics.DrawLine(linePen, lineX1, lineYStart1, lineX1, lineYEnd1)
  966. If Strings.Left(報價明細表_dgv("DESCRIPTION", e.RowIndex).Value.ToString, 5) = "Total" Then
  967. Dim startX As Integer = IIf(報價明細表_dgv.RowHeadersVisible, 報價明細表_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  968. Dim endX As Integer = startX + 報價明細表_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 報價明細表_dgv.HorizontalScrollingOffset
  969. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  970. End If
  971. End If
  972. End If
  973. End Sub
  974. Private Sub 重新排序()
  975. For I As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  976. If I < 10 Then : 報價明細表_dgv.Rows(I).Cells("排序").Value = "000" & I
  977. ElseIf I > 9 And I < 100 Then : 報價明細表_dgv.Rows(I).Cells("排序").Value = "00" & I
  978. ElseIf I > 99 And I < 1000 Then : 報價明細表_dgv.Rows(I).Cells("排序").Value = "0" & I
  979. ElseIf I > 999 Then : 報價明細表_dgv.Rows(I).Cells("排序").Value = I : End If
  980. Next
  981. End Sub
  982. Private Sub 上移_bt_Click(sender As Object, e As EventArgs) Handles 上移_bt.Click
  983. If CLng(選擇項1_tb.Text) = 0 Then : Else : 選擇項2_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(0).Value.ToString
  984. If CLng(選擇項1_tb.Text) = 1 Then
  985. If CLng(選擇項2_tb.Text) <= 8 Then : 選擇項2_tb.Text = "000" & CLng(選擇項2_tb.Text) - 1
  986. ElseIf CLng(選擇項2_tb.Text) > 8 And CLng(選擇項2_tb.Text) <= 98 Then : 選擇項2_tb.Text = "00" & CLng(選擇項2_tb.Text) - 1
  987. ElseIf CLng(選擇項2_tb.Text) > 98 And CLng(選擇項2_tb.Text) <= 998 Then : 選擇項2_tb.Text = "0" & CLng(選擇項2_tb.Text) - 1
  988. ElseIf CLng(選擇項2_tb.Text) > 98 Then : 選擇項2_tb.Text = CLng(選擇項2_tb.Text) - 1 : End If
  989. 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(0).Value = 選擇項2_tb.Text : 報價明細表_dgv.Rows(0).Cells(0).Value = "0000_1"
  990. Else
  991. If CLng(選擇項2_tb.Text) <= 8 Then : 選擇項2_tb.Text = "000" & CLng(選擇項2_tb.Text) - 2 & "_1"
  992. ElseIf CLng(選擇項2_tb.Text) > 8 And CLng(選擇項2_tb.Text) <= 98 Then : 選擇項2_tb.Text = "00" & CLng(選擇項2_tb.Text) - 2 & "_1"
  993. ElseIf CLng(選擇項2_tb.Text) > 98 And CLng(選擇項2_tb.Text) <= 998 Then : 選擇項2_tb.Text = "0" & CLng(選擇項2_tb.Text) - 2 & "_1"
  994. ElseIf CLng(選擇項2_tb.Text) > 998 Then : 選擇項2_tb.Text = CLng(選擇項2_tb.Text) - 2 & "_1" : End If
  995. 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(0).Value = 選擇項2_tb.Text
  996. End If
  997. 選擇項1_tb.Text = CLng(選擇項1_tb.Text) - 1 : 報價明細表_dgv.Sort(報價明細表_dgv.Columns(0), System.ComponentModel.ListSortDirection.Ascending)
  998. 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(2) : 重新排序()
  999. If CLng(選擇項1_tb.Text) <= 8 Then : 選擇項2_tb.Text = "000" & CLng(選擇項1_tb.Text)
  1000. ElseIf CLng(選擇項1_tb.Text) > 8 And CLng(選擇項1_tb.Text) <= 98 Then : 選擇項2_tb.Text = "00" & CLng(選擇項1_tb.Text)
  1001. ElseIf CLng(選擇項1_tb.Text) > 98 And CLng(選擇項1_tb.Text) <= 998 Then : 選擇項2_tb.Text = "0" & CLng(選擇項1_tb.Text)
  1002. ElseIf CLng(選擇項1_tb.Text) > 998 Then : 選擇項2_tb.Text = CLng(選擇項1_tb.Text) : End If : 報價明細表_dgv_自動計算()
  1003. End If
  1004. End Sub
  1005. Private Sub 下移_bt_Click(sender As Object, e As EventArgs) Handles 下移_bt.Click
  1006. Dim 最大 As Integer = 報價明細表_dgv.Rows.Count - 1
  1007. If CLng(選擇項1_tb.Text) = 最大 Then : Else
  1008. 選擇項2_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(0).Value.ToString
  1009. If CLng(選擇項2_tb.Text) <= 8 Then : 選擇項2_tb.Text = "000" & CLng(選擇項2_tb.Text) + 1 & "-1"
  1010. ElseIf CLng(選擇項2_tb.Text) > 8 And CLng(選擇項2_tb.Text) <= 98 Then : 選擇項2_tb.Text = "00" & CLng(選擇項2_tb.Text) + 1 & "-1"
  1011. ElseIf CLng(選擇項2_tb.Text) > 98 And CLng(選擇項2_tb.Text) <= 998 Then : 選擇項2_tb.Text = "0" & CLng(選擇項2_tb.Text) + 1 & "-1"
  1012. ElseIf CLng(選擇項2_tb.Text) > 998 Then : 選擇項2_tb.Text = CLng(選擇項2_tb.Text) + 1 & "-1" : End If
  1013. 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(0).Value = 選擇項2_tb.Text : 選擇項1_tb.Text = CLng(選擇項1_tb.Text) + 1
  1014. 報價明細表_dgv.Sort(報價明細表_dgv.Columns(0), System.ComponentModel.ListSortDirection.Ascending)
  1015. 報價明細表_dgv.CurrentCell = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(2) : 重新排序()
  1016. If CLng(選擇項1_tb.Text) <= 8 Then : 選擇項2_tb.Text = "000" & CLng(選擇項1_tb.Text)
  1017. ElseIf CLng(選擇項1_tb.Text) > 8 And CLng(選擇項1_tb.Text) <= 98 Then : 選擇項2_tb.Text = "00" & CLng(選擇項1_tb.Text)
  1018. ElseIf CLng(選擇項1_tb.Text) > 98 And CLng(選擇項1_tb.Text) <= 998 Then : 選擇項2_tb.Text = "0" & CLng(選擇項1_tb.Text)
  1019. ElseIf CLng(選擇項1_tb.Text) > 998 Then : 選擇項2_tb.Text = CLng(選擇項1_tb.Text) : End If : 報價明細表_dgv_自動計算()
  1020. End If
  1021. End Sub
  1022. Private Sub 報價明細表1_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 報價明細表1_dgv.CellClick
  1023. If e.RowIndex = -1 Then : Else
  1024. ITEM1_cb.Text = 報價明細表1_dgv.Rows(e.RowIndex).Cells("ITEM").Value.ToString() : 內容_tb.Text = 報價明細表1_dgv.Rows(e.RowIndex).Cells("DESCRIPTION").Value.ToString()
  1025. 連動編號_tb.Text = ""
  1026. End If
  1027. End Sub
  1028. Private Sub 報價明細表3_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 報價明細表3_dgv.CellClick
  1029. If e.RowIndex = -1 Then : Else
  1030. 報價總表_dgv.Rows(DGV位置1.Value).Cells("明細連動").Value = 報價明細表3_dgv.Rows(e.RowIndex).Cells("流水號").Value.ToString() : 報價總表_dgv_自動計算()
  1031. End If
  1032. End Sub
  1033. Private Sub 報價總表_dgv_自動計算()
  1034. '-----------項目自動對準計算條件---------------------------------------------------------------------------------------------------------------------------
  1035. For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  1036. If Strings.Left(報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString, 2) = "管理" Then : 報價總表_dgv.Rows(i).Cells("ITEM").Value = "^" : End If
  1037. If Strings.Left(報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString, 2) = "稅金" Then : 報價總表_dgv.Rows(i).Cells("ITEM").Value = "*" : End If
  1038. If Strings.Left(報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString, 2) = "小計" Then : 報價總表_dgv.Rows(i).Cells("ITEM").Value = "$" : End If
  1039. If Strings.Left(報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString, 2) = "總計" Then : 報價總表_dgv.Rows(i).Cells("ITEM").Value = "@" : End If
  1040. If Strings.Left(報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString, 2) = "折讓" Then : 報價總表_dgv.Rows(i).Cells("ITEM").Value = "#" : End If
  1041. If 報價總表_dgv.Rows(i).Cells("明細連動").Value.ToString <> "" Then
  1042. For ii As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  1043. If 報價總表_dgv.Rows(i).Cells("明細連動").Value.ToString = 報價明細表_dgv.Rows(ii).Cells("流水號").Value.ToString Then
  1044. 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value = 報價明細表_dgv.Rows(ii).Cells("AMOUNT" & 幣別).Value.ToString : Exit For
  1045. End If
  1046. Next
  1047. End If
  1048. Next
  1049. Dim 合計, 合計無管, 稅金 As Double : 合計 = 0 : 稅金 = 0
  1050. For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  1051. '---------計算項目-------------------------------------------------------------------------------------------------------------------------------------
  1052. If 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "*" Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "" Or
  1053. 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "@" Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "^" Or
  1054. 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "$" Then : Else
  1055. If IsDBNull(報價總表_dgv.Rows(i).Cells("QTY").Value) Then : 報價總表_dgv.Rows(i).Cells("QTY").Value = 0 : End If
  1056. If IsDBNull(報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value) Then : 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value = 0 : End If
  1057. 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(報價總表_dgv.Rows(i).Cells("QTY").Value) * CLng(報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value)
  1058. End If
  1059. '---------管理費加總-------------------------------------------------------------------------------------------------------------------------------------
  1060. If 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString <> "*" And 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString <> "@" And
  1061. 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString <> "$" And 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString <> "^" And
  1062. 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString <> "折讓 Discount" Then
  1063. 合計無管 += 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value
  1064. End If
  1065. If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 0%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0)
  1066. ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 1%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.01)
  1067. ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 2%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.02)
  1068. ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 3%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.03)
  1069. ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 4%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.04)
  1070. ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 5%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.05)
  1071. ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 6%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.06)
  1072. ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 7%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.07)
  1073. ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 8%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.08)
  1074. ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 9%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.09)
  1075. ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "管理費 10%" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計無管 * 0.1)
  1076. End If
  1077. '---------計算彙總-------------------------------------------------------------------------------------------------------------------------------------
  1078. If 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString <> "*" And 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString <> "@" And
  1079. 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString <> "$" Then
  1080. 合計 += 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value
  1081. End If
  1082. If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "小計(未稅) Subtotal(Excluding Tax)" Then : 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = 合計 : End If
  1083. If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "稅金 10% Tax" Then
  1084. 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計 * 0.1) : 稅金 = 合計 * 0.1 : 稅額顯示_lb.Text = "PPN 10%稅額 = Rp. "
  1085. ElseIf 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "稅金 11% Tax" Then
  1086. 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計 * 0.11) : 稅金 = 合計 * 0.11 : 稅額顯示_lb.Text = "PPN 11%稅額 = Rp. "
  1087. End If
  1088. If Strings.Left(報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString, 2) = "總計" Then
  1089. 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(合計 + Fix(稅金))
  1090. If Strings.Right(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString, 3) = "001" Then
  1091. 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value) - 1
  1092. ElseIf Strings.Right(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString, 3) = "999" Then
  1093. 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value) + 1
  1094. End If
  1095. NUD3.Value = CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value)
  1096. End If
  1097. '------------數字為0隱藏-----------------------------------------------------------------------------------------------
  1098. If 深色風格 = False Then
  1099. If IsDBNull(報價總表_dgv.Rows(i).Cells(4).Value) Then : 報價總表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.White : Else
  1100. If 報價總表_dgv.Rows(i).Cells(4).Value = 0 Then : 報價總表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.White
  1101. Else : 報價總表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.Black : End If : End If
  1102. If IsDBNull(報價總表_dgv.Rows(i).Cells(5).Value) Then : 報價總表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.White : Else
  1103. If 報價總表_dgv.Rows(i).Cells(5).Value = 0 Then : 報價總表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.White
  1104. Else : 報價總表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.Black : End If : End If
  1105. If IsDBNull(報價總表_dgv.Rows(i).Cells(6).Value) Then : 報價總表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.White : Else
  1106. If 報價總表_dgv.Rows(i).Cells(6).Value = 0 Then : 報價總表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.White
  1107. Else : 報價總表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.Black : End If : End If
  1108. Else
  1109. If IsDBNull(報價總表_dgv.Rows(i).Cells(4).Value) Then : 報價總表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.Black : Else
  1110. If 報價總表_dgv.Rows(i).Cells(4).Value = 0 Then : 報價總表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.Black
  1111. Else : 報價總表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.White : End If : End If
  1112. If IsDBNull(報價總表_dgv.Rows(i).Cells(5).Value) Then : 報價總表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.Black : Else
  1113. If 報價總表_dgv.Rows(i).Cells(5).Value = 0 Then : 報價總表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.Black
  1114. Else : 報價總表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.White : End If : End If
  1115. If IsDBNull(報價總表_dgv.Rows(i).Cells(6).Value) Then : 報價總表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.Black : Else
  1116. If 報價總表_dgv.Rows(i).Cells(6).Value = 0 Then : 報價總表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.Black
  1117. Else : 報價總表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.White : End If : End If
  1118. End If
  1119. Next
  1120. '------------彙總計算-----------------------------------------------------------------------------------------------
  1121. Dim 折讓 As Long = 0 : 未折價前_tb.Text = "0" : 報價小計_tb.Text = "0"
  1122. For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  1123. If 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "*" Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "@" Or
  1124. 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "$" Or 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "折讓 Discount" Then : Else
  1125. 未折價前_tb.Text = CLng(未折價前_tb.Text) + CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value)
  1126. End If
  1127. If 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "*" Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "@" Or
  1128. 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "$" Then : Else
  1129. 報價小計_tb.Text = CLng(報價小計_tb.Text) + CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value)
  1130. End If
  1131. If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "折讓 Discount" Then
  1132. 折讓 += CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value)
  1133. End If
  1134. Next
  1135. 預估利潤_tb.Text = Strings.Format(CLng(總報價_tb.Text) - (CLng(總成本_tb.Text) - 折讓), "#,##0")
  1136. If (CLng(總報價_tb.Text) + 折讓) = 0 Then : 利潤比4_tb.Text = "0 %" : Else
  1137. 利潤比4_tb.Text = Strings.Format((1 - ((CLng(總成本_tb.Text)) / (CLng(總報價_tb.Text) + 折讓))) * 100, "#,##0") & " %"
  1138. End If
  1139. 未折價前_tb.Text = Strings.Format(CLng(未折價前_tb.Text), "#,##0") : 報價小計_tb.Text = Strings.Format(CLng(報價小計_tb.Text), "#,##0")
  1140. End Sub
  1141. Private Sub 報價明細表_dgv_物料顯示()
  1142. For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  1143. If 報價明細表_dgv.Rows(i).Cells(表頭(9)).Value.ToString = "" Then
  1144. 報價明細表_dgv.Rows(i).Cells("D1").Value = False : 報價明細表_dgv.Rows(i).Cells("D2").Value = False
  1145. 報價明細表_dgv.Rows(i).Cells("D3").Value = False : 報價明細表_dgv.Rows(i).Cells("D4").Value = False
  1146. 報價明細表_dgv.Rows(i).Cells("D5").Value = False : 報價明細表_dgv.Rows(i).Cells("D6").Value = False
  1147. 報價明細表_dgv.Rows(i).Cells("D7").Value = False : 報價明細表_dgv.Rows(i).Cells("D8").Value = False
  1148. End If
  1149. If 報價明細表_dgv.Rows(i).Cells(表頭(9)).Value.ToString <> "" Then
  1150. If 報價明細表_dgv.Rows(i).Cells("預設").Value = True Then
  1151. 報價明細表_dgv.Rows(i).Cells("D1").Value = 報價明細表_dgv.Rows(i).Cells("S1").Value : 報價明細表_dgv.Rows(i).Cells("D2").Value = 報價明細表_dgv.Rows(i).Cells("S2").Value
  1152. 報價明細表_dgv.Rows(i).Cells("D3").Value = 報價明細表_dgv.Rows(i).Cells("S3").Value : 報價明細表_dgv.Rows(i).Cells("D4").Value = 報價明細表_dgv.Rows(i).Cells("S4").Value
  1153. 報價明細表_dgv.Rows(i).Cells("D5").Value = 報價明細表_dgv.Rows(i).Cells("S5").Value : 報價明細表_dgv.Rows(i).Cells("D6").Value = 報價明細表_dgv.Rows(i).Cells("S6").Value
  1154. 報價明細表_dgv.Rows(i).Cells("D7").Value = 報價明細表_dgv.Rows(i).Cells("S7").Value : 報價明細表_dgv.Rows(i).Cells("D8").Value = 報價明細表_dgv.Rows(i).Cells("S8").Value
  1155. End If
  1156. Dim ZA1, ZA2, ZA3, ZA4, ZA5, ZA6, ZA7, ZA8 As String : 物料規格 = ""
  1157. If 詳細資料2_ch.Checked = True Then
  1158. If 報價明細表_dgv.Rows(i).Cells("A1").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D1").Value = True Then
  1159. ZA1 = 報價明細表_dgv.Rows(i).Cells("AA1").Value.ToString & "=" & 報價明細表_dgv.Rows(i).Cells("A1").Value.ToString : 物料規格 = ZA1 : End If : End If
  1160. If 報價明細表_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D2").Value = True Then
  1161. ZA2 = 報價明細表_dgv.Rows(i).Cells("AA2").Value.ToString & "=" & 報價明細表_dgv.Rows(i).Cells("A2").Value : If 物料規格 = "" Then
  1162. 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If : End If
  1163. If 報價明細表_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D3").Value = True Then
  1164. ZA3 = 報價明細表_dgv.Rows(i).Cells("AA3").Value.ToString & "=" & 報價明細表_dgv.Rows(i).Cells("A3").Value : If 物料規格 = "" Then
  1165. 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If : End If
  1166. If 報價明細表_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D4").Value = True Then
  1167. ZA4 = 報價明細表_dgv.Rows(i).Cells("AA4").Value.ToString & "=" & 報價明細表_dgv.Rows(i).Cells("A4").Value : If 物料規格 = "" Then
  1168. 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If : End If
  1169. If 報價明細表_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D5").Value = True Then
  1170. ZA5 = 報價明細表_dgv.Rows(i).Cells("AA5").Value.ToString & "=" & 報價明細表_dgv.Rows(i).Cells("A5").Value : If 物料規格 = "" Then
  1171. 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If : End If
  1172. If 報價明細表_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D6").Value = True Then
  1173. ZA6 = 報價明細表_dgv.Rows(i).Cells("AA6").Value.ToString & "=" & 報價明細表_dgv.Rows(i).Cells("A6").Value : If 物料規格 = "" Then
  1174. 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If : End If
  1175. If 報價明細表_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D7").Value = True Then
  1176. ZA7 = 報價明細表_dgv.Rows(i).Cells("AA7").Value.ToString & "=" & 報價明細表_dgv.Rows(i).Cells("A7").Value : If 物料規格 = "" Then
  1177. 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If : End If
  1178. If 報價明細表_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D8").Value = True Then
  1179. ZA8 = 報價明細表_dgv.Rows(i).Cells("AA8").Value.ToString & "=" & 報價明細表_dgv.Rows(i).Cells("A8").Value : If 物料規格 = "" Then
  1180. 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If : End If
  1181. Else
  1182. If 報價明細表_dgv.Rows(i).Cells("A1").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D1").Value = True Then
  1183. ZA1 = 報價明細表_dgv.Rows(i).Cells("A1").Value.ToString : 物料規格 = ZA1 : End If : End If
  1184. If 報價明細表_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D2").Value = True Then
  1185. ZA2 = 報價明細表_dgv.Rows(i).Cells("A2").Value : If 物料規格 = "" Then : 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If : End If
  1186. If 報價明細表_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D3").Value = True Then
  1187. ZA3 = 報價明細表_dgv.Rows(i).Cells("A3").Value : If 物料規格 = "" Then : 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If : End If
  1188. If 報價明細表_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D4").Value = True Then
  1189. ZA4 = 報價明細表_dgv.Rows(i).Cells("A4").Value : If 物料規格 = "" Then : 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If : End If
  1190. If 報價明細表_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D5").Value = True Then
  1191. ZA5 = 報價明細表_dgv.Rows(i).Cells("A5").Value : If 物料規格 = "" Then : 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If : End If
  1192. If 報價明細表_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D6").Value = True Then
  1193. ZA6 = 報價明細表_dgv.Rows(i).Cells("A6").Value : If 物料規格 = "" Then : 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If : End If
  1194. If 報價明細表_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D7").Value = True Then
  1195. ZA7 = 報價明細表_dgv.Rows(i).Cells("A7").Value : If 物料規格 = "" Then : 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If : End If
  1196. If 報價明細表_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then : If 報價明細表_dgv.Rows(i).Cells("D8").Value = True Then
  1197. ZA8 = 報價明細表_dgv.Rows(i).Cells("A8").Value : If 物料規格 = "" Then : 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If : End If
  1198. End If
  1199. If 報價明細表_dgv.Rows(i).Cells(表頭(9)).Value.ToString <> "" Then
  1200. 報價明細表_dgv.Rows(i).Cells("DESCRIPTION").Value = 報價明細表_dgv.Rows(i).Cells("品名").Value.ToString & " " & 物料規格
  1201. End If
  1202. End If : 報價明細表_dgv.Rows(i).Cells("預設").Value = False
  1203. Next
  1204. End Sub
  1205. Private Sub 報價明細表_dgv_自動計算()
  1206. Dim 合計, 利潤, 工資係數, 工資成本, 工資利潤, 材料係數, 材基係數, 材料成本, 材料利潤 As Double : 合計 = 0 : 工資係數 = 0
  1207. For i As Integer = 0 To 報價係數_dgv.Rows.Count - 1
  1208. If 報價係數_dgv.Rows(i).Cells("項目").Value.ToString = "工資利潤" Then : 工資係數 = 報價係數_dgv.Rows(i).Cells("係數").Value.ToString : End If
  1209. If 報價係數_dgv.Rows(i).Cells("項目").Value.ToString = "材料係數" Then : 材基係數 = 報價係數_dgv.Rows(i).Cells("係數").Value.ToString : Exit For : End If
  1210. Next
  1211. For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  1212. 報價明細表_dgv.Rows(i).Cells("QTY").Value = 報價明細表_dgv.Rows(i).Cells("實際數量").Value.ToString
  1213. '------------------------------------工資計算-----------------------------------------------------------------------------------------------------------
  1214. For ii As Integer = 0 To 報價係數_dgv.Rows.Count - 1 '----如果工資係數不是%時,自動填入係數上的金額
  1215. If 報價係數_dgv.Rows(ii).Cells("項目").Value.ToString = 報價明細表_dgv.Rows(i).Cells("工資單價").Value.ToString And
  1216. 報價係數_dgv.Rows(ii).Cells("單位").Value.ToString = "RP" Then
  1217. 報價明細表_dgv.Rows(i).Cells("工資成本單價").Value = 報價係數_dgv.Rows(ii).Cells("係數").Value.ToString : Exit For
  1218. End If
  1219. Next
  1220. 報價明細表_dgv.Rows(i).Cells("工資成本後價").Value = 報價明細表_dgv.Rows(i).Cells("實際數量").Value * 報價明細表_dgv.Rows(i).Cells("工資成本單價").Value
  1221. If 報價明細表_dgv.Rows(i).Cells("不計").Value = False Then
  1222. If 報價明細表_dgv.Rows(i).Cells("工資係數").Value.ToString = "" Then
  1223. 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value = 報價明細表_dgv.Rows(i).Cells("工資成本單價").Value * 工資係數 / 100
  1224. Else
  1225. For ii As Integer = 0 To 報價係數_dgv.Rows.Count - 1
  1226. If 報價明細表_dgv.Rows(i).Cells("工資係數").Value.ToString = 報價係數_dgv.Rows(ii).Cells("項目").Value.ToString And
  1227. 報價係數_dgv.Rows(ii).Cells("單位").Value.ToString = "%" Then
  1228. 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value = 報價明細表_dgv.Rows(i).Cells("工資成本單價").Value * 報價係數_dgv.Rows(ii).Cells("係數").Value / 100
  1229. ElseIf 報價明細表_dgv.Rows(i).Cells("工資係數").Value.ToString = 報價係數_dgv.Rows(ii).Cells("項目").Value.ToString And
  1230. 報價係數_dgv.Rows(ii).Cells("單位").Value.ToString = "RP" Then
  1231. 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value = 報價明細表_dgv.Rows(i).Cells("工資成本單價").Value * 工資係數 / 100
  1232. End If
  1233. Next
  1234. End If
  1235. Else : 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value = 0 : End If
  1236. 報價明細表_dgv.Rows(i).Cells("工資報價後價").Value = 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value * 報價明細表_dgv.Rows(i).Cells("QTY").Value
  1237. '------------------------------------材料計算-----------------------------------------------------------------------------------------------------------
  1238. For ii As Integer = 0 To 報價係數_dgv.Rows.Count - 1 '----如果材料係數不是%時,自動填入係數上的金額
  1239. If 報價係數_dgv.Rows(ii).Cells("項目").Value.ToString = 報價明細表_dgv.Rows(i).Cells("材料係數").Value.ToString And
  1240. 報價係數_dgv.Rows(ii).Cells("單位").Value.ToString = "RP" Then
  1241. 報價明細表_dgv.Rows(i).Cells("材料成本單價").Value = 報價係數_dgv.Rows(ii).Cells("係數").Value.ToString : Exit For
  1242. End If
  1243. Next
  1244. 報價明細表_dgv.Rows(i).Cells("材料成本後價").Value = 報價明細表_dgv.Rows(i).Cells("實際數量").Value * 報價明細表_dgv.Rows(i).Cells("材料成本單價").Value
  1245. If 報價明細表_dgv.Rows(i).Cells("材料係數").Value.ToString = "" Then : 材料係數 = 100 : Else
  1246. For ii As Integer = 0 To 報價係數_dgv.Rows.Count - 1
  1247. If 報價係數_dgv.Rows(ii).Cells("項目").Value.ToString = 報價明細表_dgv.Rows(i).Cells("材料係數").Value.ToString And
  1248. 報價係數_dgv.Rows(ii).Cells("單位").Value.ToString = "%" Then
  1249. 材料係數 = 報價係數_dgv.Rows(ii).Cells("係數").Value.ToString : Exit For
  1250. ElseIf 報價係數_dgv.Rows(ii).Cells("項目").Value.ToString = 報價明細表_dgv.Rows(i).Cells("材料係數").Value.ToString And
  1251. 報價係數_dgv.Rows(ii).Cells("單位").Value.ToString = "RP" Then
  1252. 材料係數 = 材基係數
  1253. End If
  1254. Next
  1255. End If
  1256. If 報價明細表_dgv.Rows(i).Cells("不計").Value = False Then
  1257. 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value = 報價明細表_dgv.Rows(i).Cells("材料成本單價").Value * 材料係數 / 100
  1258. Else : 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value = 0 : End If
  1259. 報價明細表_dgv.Rows(i).Cells("材料報價後價").Value = 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value * 報價明細表_dgv.Rows(i).Cells("QTY").Value
  1260. '------------------------------------報價單去除列印計算---------------------------------------------------------------------------------------------------
  1261. If 報價明細表_dgv.Rows(i).Cells(表頭(23)).Value = True Then
  1262. 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value = "0" : 報價明細表_dgv.Rows(i).Cells("工資報價後價").Value = "0"
  1263. End If
  1264. If 報價明細表_dgv.Rows(i).Cells(表頭(24)).Value = True Then
  1265. 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value = "0" : 報價明細表_dgv.Rows(i).Cells("材料報價後價").Value = "0"
  1266. End If
  1267. 報價明細表_dgv.Rows(i).Cells("利潤").Value = 報價明細表_dgv.Rows(i).Cells("材料報價後價").Value + 報價明細表_dgv.Rows(i).Cells("工資報價後價").Value -
  1268. 報價明細表_dgv.Rows(i).Cells("材料成本後價").Value - 報價明細表_dgv.Rows(i).Cells("工資成本後價").Value
  1269. '------------------------------------報價單呈現-----------------------------------------------------------------------------------------------------------
  1270. If 報價明細表_dgv.Rows(i).Cells("不計").Value = False Then
  1271. 報價明細表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value = 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value + 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value
  1272. 報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = 報價明細表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value * 報價明細表_dgv.Rows(i).Cells("QTY").Value
  1273. Else
  1274. 報價明細表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value = 0 : 報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = 0
  1275. End If
  1276. '------------------------------------報價合計計算-----------------------------------------------------------------------------------------------------------
  1277. If 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString <> "*" Then
  1278. 合計 += 報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value : 利潤 += 報價明細表_dgv.Rows(i).Cells("利潤").Value
  1279. 工資成本 += 報價明細表_dgv.Rows(i).Cells("工資成本後價").Value : 工資利潤 += 報價明細表_dgv.Rows(i).Cells("工資報價後價").Value
  1280. 材料成本 += 報價明細表_dgv.Rows(i).Cells("材料成本後價").Value : 材料利潤 += 報價明細表_dgv.Rows(i).Cells("材料報價後價").Value
  1281. End If
  1282. If 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString = "*" Then
  1283. 報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value = 合計 : 合計 = 0 : 報價明細表_dgv.Rows(i).Cells("利潤").Value = 利潤 : 利潤 = 0
  1284. 報價明細表_dgv.Rows(i).Cells("工資成本後價").Value = 工資成本 : 工資成本 = 0 : 報價明細表_dgv.Rows(i).Cells("工資報價後價").Value = 工資利潤 : 工資利潤 = 0
  1285. 報價明細表_dgv.Rows(i).Cells("材料成本後價").Value = 材料成本 : 材料成本 = 0 : 報價明細表_dgv.Rows(i).Cells("材料報價後價").Value = 材料利潤 : 材料利潤 = 0
  1286. End If
  1287. '------------數字為0隱藏-----------------------------------------------------------------------------------------------
  1288. If 深色風格 = False Then
  1289. If IsDBNull(報價明細表_dgv.Rows(i).Cells(4).Value) Then : 報價明細表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.Gainsboro : Else
  1290. If 報價明細表_dgv.Rows(i).Cells(4).Value.ToString = "" Then : Else
  1291. If 報價明細表_dgv.Rows(i).Cells(4).Value = 0 Then : 報價明細表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.Gainsboro
  1292. Else : 報價明細表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.Black : End If : End If
  1293. End If
  1294. If IsDBNull(報價明細表_dgv.Rows(i).Cells(5).Value) Then : 報價明細表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.Gainsboro : Else
  1295. If 報價明細表_dgv.Rows(i).Cells(5).Value.ToString = "" Then : Else
  1296. If 報價明細表_dgv.Rows(i).Cells(5).Value = 0 Then : 報價明細表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.Gainsboro
  1297. Else : 報價明細表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.Black : End If : End If
  1298. End If
  1299. If IsDBNull(報價明細表_dgv.Rows(i).Cells(6).Value) Then : 報價明細表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.Gainsboro : Else
  1300. If 報價明細表_dgv.Rows(i).Cells(6).Value.ToString = "" Then : Else
  1301. If 報價明細表_dgv.Rows(i).Cells(6).Value = 0 Then : 報價明細表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.Gainsboro
  1302. Else : 報價明細表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.Black : End If
  1303. End If
  1304. End If
  1305. If IsNumeric(報價明細表4_dgv.Rows(i).Cells("ITEM").Value.ToString) Then
  1306. 報價明細表4_dgv.Rows(i).Cells(3).Style.BackColor = Color.White : 報價明細表4_dgv.Rows(i).Cells(79).Style.BackColor = Color.White
  1307. 報價明細表4_dgv.Rows(i).Cells(80).Style.BackColor = Color.White : 報價明細表4_dgv.Rows(i).Cells(82).Style.BackColor = Color.White
  1308. 報價明細表4_dgv.Rows(i).Cells(84).Style.BackColor = Color.White
  1309. Else
  1310. 報價明細表4_dgv.Rows(i).Cells(3).Style.BackColor = Color.Gainsboro : 報價明細表4_dgv.Rows(i).Cells(79).Style.BackColor = Color.Gainsboro
  1311. 報價明細表4_dgv.Rows(i).Cells(80).Style.BackColor = Color.Gainsboro : 報價明細表4_dgv.Rows(i).Cells(82).Style.BackColor = Color.Gainsboro
  1312. 報價明細表4_dgv.Rows(i).Cells(84).Style.BackColor = Color.Gainsboro
  1313. End If
  1314. If IsDBNull(報價明細表4_dgv.Rows(i).Cells(1).Value) Then : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Gainsboro : Else
  1315. If 報價明細表4_dgv.Rows(i).Cells(79).Value.ToString = "" Then : Else
  1316. If 報價明細表4_dgv.Rows(i).Cells(79).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Gainsboro
  1317. Else : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Black : End If : End If
  1318. End If
  1319. If IsDBNull(報價明細表4_dgv.Rows(i).Cells(1).Value) Then : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Gainsboro : Else
  1320. If 報價明細表4_dgv.Rows(i).Cells(81).Value.ToString = "" Then : Else
  1321. If 報價明細表4_dgv.Rows(i).Cells(81).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Gainsboro
  1322. Else : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Black : End If : End If
  1323. End If
  1324. If IsDBNull(報價明細表4_dgv.Rows(i).Cells(1).Value) Then : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Gainsboro : Else
  1325. If 報價明細表4_dgv.Rows(i).Cells(83).Value.ToString = "" Then : Else
  1326. If 報價明細表4_dgv.Rows(i).Cells(83).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Gainsboro
  1327. Else : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Black : End If
  1328. End If
  1329. End If
  1330. Else
  1331. If IsDBNull(報價明細表_dgv.Rows(i).Cells(4).Value) Then : 報價明細表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.Black : Else
  1332. If 報價明細表_dgv.Rows(i).Cells(4).Value.ToString = "" Then : Else
  1333. If 報價明細表_dgv.Rows(i).Cells(4).Value = 0 Then : 報價明細表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.Black
  1334. Else : 報價明細表_dgv.Rows(i).Cells(4).Style.ForeColor = Color.White : End If : End If
  1335. End If
  1336. If IsDBNull(報價明細表_dgv.Rows(i).Cells(5).Value) Then : 報價明細表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.Black : Else
  1337. If 報價明細表_dgv.Rows(i).Cells(5).Value.ToString = "" Then : Else
  1338. If 報價明細表_dgv.Rows(i).Cells(5).Value = 0 Then : 報價明細表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.Black
  1339. Else : 報價明細表_dgv.Rows(i).Cells(5).Style.ForeColor = Color.White : End If : End If
  1340. End If
  1341. If IsDBNull(報價明細表_dgv.Rows(i).Cells(6).Value) Then : 報價明細表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.Black : Else
  1342. If 報價明細表_dgv.Rows(i).Cells(6).Value.ToString = "" Then : Else
  1343. If 報價明細表_dgv.Rows(i).Cells(6).Value = 0 Then : 報價明細表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.Black
  1344. Else : 報價明細表_dgv.Rows(i).Cells(6).Style.ForeColor = Color.White : End If
  1345. End If
  1346. End If
  1347. If IsNumeric(報價明細表4_dgv.Rows(i).Cells("ITEM").Value.ToString) Then
  1348. 報價明細表4_dgv.Rows(i).Cells(3).Style.BackColor = Color.DimGray : 報價明細表4_dgv.Rows(i).Cells(79).Style.BackColor = Color.DimGray
  1349. 報價明細表4_dgv.Rows(i).Cells(80).Style.BackColor = Color.DimGray : 報價明細表4_dgv.Rows(i).Cells(82).Style.BackColor = Color.DimGray
  1350. 報價明細表4_dgv.Rows(i).Cells(84).Style.BackColor = Color.DimGray
  1351. Else
  1352. 報價明細表4_dgv.Rows(i).Cells(3).Style.BackColor = Color.Black : 報價明細表4_dgv.Rows(i).Cells(79).Style.BackColor = Color.Black
  1353. 報價明細表4_dgv.Rows(i).Cells(80).Style.BackColor = Color.Black : 報價明細表4_dgv.Rows(i).Cells(82).Style.BackColor = Color.Black
  1354. 報價明細表4_dgv.Rows(i).Cells(84).Style.BackColor = Color.Black
  1355. End If
  1356. If IsDBNull(報價明細表4_dgv.Rows(i).Cells(79).Value) Then : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Black : Else
  1357. If 報價明細表4_dgv.Rows(i).Cells(79).Value.ToString = "" Then : Else
  1358. If 報價明細表4_dgv.Rows(i).Cells(79).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Black
  1359. Else : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.White : End If : End If
  1360. End If
  1361. If IsDBNull(報價明細表4_dgv.Rows(i).Cells(81).Value) Then : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Black : Else
  1362. If 報價明細表4_dgv.Rows(i).Cells(81).Value.ToString = "" Then : Else
  1363. If 報價明細表4_dgv.Rows(i).Cells(81).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Black
  1364. Else : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.White : End If : End If
  1365. End If
  1366. If IsDBNull(報價明細表4_dgv.Rows(i).Cells(83).Value) Then : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Black : Else
  1367. If 報價明細表4_dgv.Rows(i).Cells(83).Value.ToString = "" Then : Else
  1368. If 報價明細表4_dgv.Rows(i).Cells(83).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Black
  1369. Else : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.White : End If
  1370. End If
  1371. End If
  1372. End If
  1373. Next
  1374. 工資成本 = 0 : 材料成本 = 0 : 工資利潤 = 0 : 材料利潤 = 0
  1375. For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  1376. If 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString = "*" Then
  1377. 工資成本 += CLng(報價明細表_dgv.Rows(i).Cells("工資成本後價").Value)
  1378. 材料成本 += CLng(報價明細表_dgv.Rows(i).Cells("材料成本後價").Value)
  1379. 工資利潤 += CLng(報價明細表_dgv.Rows(i).Cells("工資報價後價").Value)
  1380. 材料利潤 += CLng(報價明細表_dgv.Rows(i).Cells("材料報價後價").Value)
  1381. End If
  1382. Next
  1383. If PA50 = "" Then : Else : 工資成本 -= (工資成本 / 100 * CInt(PA50)) : 材料成本 -= (材料成本 / 100 * CInt(PA50)) : End If
  1384. 預估工資總成本_tb.Text = Strings.Format(工資成本, "#,##0") : 預估材料總成本_tb.Text = Strings.Format(材料成本, "#,##0")
  1385. 預估工資總報價_tb.Text = Strings.Format(工資利潤, "#,##0") : 預估材料總報價_tb.Text = Strings.Format(材料利潤, "#,##0")
  1386. 總成本_tb.Text = Strings.Format(工資成本 + 材料成本, "#,##0") : 總報價_tb.Text = Strings.Format(工資利潤 + 材料利潤, "#,##0")
  1387. If 工資利潤 = 0 Then : 利潤比1_tb.Text = "0 %" : Else
  1388. 利潤比1_tb.Text = Strings.Format((1 - ((工資成本) / (工資利潤))) * 100, "#,##0") & " %"
  1389. End If
  1390. If 材料利潤 = 0 Then : 利潤比2_tb.Text = "0 %" : Else
  1391. 利潤比2_tb.Text = Strings.Format((1 - ((材料成本) / (材料利潤))) * 100, "#,##0") & " %"
  1392. End If
  1393. If (材料利潤 + 工資利潤) = 0 Then : 利潤比3_tb.Text = "0 %" : Else
  1394. 利潤比3_tb.Text = Strings.Format((1 - ((材料成本 + 工資成本) / (材料利潤 + 工資利潤))) * 100, "#,##0") & " %"
  1395. End If
  1396. Dim 折讓 As Long = 0
  1397. For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  1398. If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "折讓 Discount" Then
  1399. 折讓 += CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value)
  1400. End If
  1401. Next
  1402. 預估利潤_tb.Text = Strings.Format(CLng(總報價_tb.Text) - (CLng(總成本_tb.Text) - 折讓), "#,##0")
  1403. If (CLng(總報價_tb.Text) + 折讓) = 0 Then : 利潤比4_tb.Text = "0 %" : Else
  1404. 利潤比4_tb.Text = Strings.Format((1 - ((CLng(總成本_tb.Text)) / (CLng(總報價_tb.Text) + 折讓))) * 100, "#,##0") & " %"
  1405. End If
  1406. For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  1407. For j As Integer = 0 To 報價明細表4_dgv.Rows.Count - 1
  1408. If 報價明細表_dgv.Rows(i).Cells("流水號").Value.ToString = 報價明細表4_dgv.Rows(j).Cells("流水號").Value.ToString Then
  1409. 報價明細表4_dgv.Rows(j).Cells("UNIT").Value = 報價明細表_dgv.Rows(i).Cells("UNIT").Value.ToString
  1410. 報價明細表4_dgv.Rows(j).Cells("ITEM").Value = 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString
  1411. 報價明細表4_dgv.Rows(j).Cells("DESCRIPTION").Value = 報價明細表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString
  1412. End If
  1413. Next
  1414. Next
  1415. End Sub
  1416. '----------------------------------------------------------------------------------------------------------------------------------------------------------------
  1417. '-----------------建立合約資料功能-------------------------------------------------------------------------------------------------------------------------------
  1418. '----------------------------------------------------------------------------------------------------------------------------------------------------------------
  1419. Private Sub 群組編碼_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 群組編碼_cb.SelectedIndexChanged
  1420. 群組碼_tb.Text = 群組編碼_cb.Text : Set_清單1()
  1421. End Sub
  1422. Private Sub 新群組1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 新群組1_cb.SelectedIndexChanged
  1423. PA = 新群組1_cb.Text : SQL_群組碼_語轉_選擇() : If dr.Read Then : 群組編碼_cb.Text = dr("群組碼").ToString : End If : PA = ""
  1424. End Sub
  1425. Private Sub 新群組1_cb_Click(sender As Object, e As EventArgs) Handles 新群組1_cb.Click
  1426. CB選擇清單(新群組1_cb, 新群組1_cb.Text)
  1427. End Sub
  1428. Private Sub 合約種類_cb_SelectedIndexChanged_1(sender As Object, e As EventArgs) Handles 合約種類_cb.SelectedIndexChanged
  1429. PA10 = 合約種類_cb.Text : SQL_合約種類英文讀取() : If dr.Read() Then : 合約種類_tb.Text = dr("英") : End If : conn.Close()
  1430. End Sub
  1431. Private Sub 選擇公司_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 選擇公司_cb.SelectedIndexChanged
  1432. If 選擇公司_cb.Text = "PT HONG XHE INDUSTRIAL" Then : 合約編號_cb.Text = "HX" : Else : 合約編號_cb.Text = "PGS" : End If
  1433. End Sub
  1434. Private Sub 合約編號_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合約編號_cb.SelectedIndexChanged
  1435. If 合約編號_cb.Text = "HX" Then : 選擇公司_cb.Text = "PT HONG XHE INDUSTRIAL" : Else : 選擇公司_cb.Text = "PT PUNCAK GEMILANG SEMESTA" : End If
  1436. End Sub
  1437. Private Sub 查詢_bt_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click
  1438. PA = 關鍵字搜尋_tb.Text : Set_合約清單() : 縮放2_bt.PerformClick()
  1439. End Sub
  1440. Private Sub NUD3_ValueChanged(sender As Object, e As EventArgs) Handles NUD3.ValueChanged
  1441. If CH2.Checked = True Then
  1442. If 稅額顯示_lb.Text = "PPN 10%稅額 = Rp. " Then : NUD2.Value = NUD3.Value / 110 * 10
  1443. ElseIf 稅額顯示_lb.Text = "PPN 11%稅額 = Rp. " Then : NUD2.Value = NUD3.Value / 111 * 11
  1444. End If
  1445. NUD1.Value = NUD3.Value - NUD2.Value
  1446. 金額1_und.Value = NUD3.Value / 100 * 工程款1_nud.Value : 金額2_und.Value = NUD3.Value / 100 * 工程款2_nud.Value
  1447. 金額3_und.Value = NUD3.Value / 100 * 工程款3_nud.Value : 金額4_und.Value = NUD3.Value / 100 * 工程款4_nud.Value
  1448. 金額5_und.Value = NUD3.Value / 100 * 工程款5_nud.Value
  1449. 金額6_und.Value = 金額1_und.Value + 金額2_und.Value + 金額3_und.Value + 金額4_und.Value + 金額5_und.Value
  1450. End If
  1451. End Sub
  1452. Private Sub NUD1_ValueChanged(sender As Object, e As EventArgs) Handles NUD1.ValueChanged
  1453. If CH1.Checked = True Then
  1454. If 稅額顯示_lb.Text = "PPN 10%稅額 = Rp. " Then : NUD2.Value = NUD1.Value / 100 * 10
  1455. ElseIf 稅額顯示_lb.Text = "PPN 11%稅額 = Rp. " Then : NUD2.Value = NUD1.Value / 100 * 11
  1456. End If
  1457. NUD3.Value = NUD1.Value + NUD2.Value
  1458. 金額1_und.Value = NUD3.Value / 100 * 工程款1_nud.Value : 金額2_und.Value = NUD3.Value / 100 * 工程款2_nud.Value
  1459. 金額3_und.Value = NUD3.Value / 100 * 工程款3_nud.Value : 金額4_und.Value = NUD3.Value / 100 * 工程款4_nud.Value
  1460. 金額5_und.Value = NUD3.Value / 100 * 工程款5_nud.Value
  1461. 金額6_und.Value = 金額1_und.Value + 金額2_und.Value + 金額3_und.Value + 金額4_und.Value + 金額5_und.Value
  1462. End If
  1463. End Sub
  1464. Private Sub CH1_CheckedChanged(sender As Object, e As EventArgs) Handles CH1.Click
  1465. CH1.Checked = True : CH2.Checked = False : NUD1.Enabled = True : NUD3.Enabled = False
  1466. End Sub
  1467. Private Sub CH2_CheckedChanged(sender As Object, e As EventArgs) Handles CH2.Click
  1468. CH1.Checked = False : CH2.Checked = True : NUD1.Enabled = False : NUD3.Enabled = True
  1469. End Sub
  1470. Private Sub 工程款1_nud_ValueChanged(sender As Object, e As EventArgs) Handles 工程款1_nud.ValueChanged
  1471. 工程款6_nud.Value = 工程款1_nud.Value + 工程款2_nud.Value + 工程款3_nud.Value + 工程款4_nud.Value + 工程款5_nud.Value
  1472. 金額1_und.Value = NUD3.Value / 100 * 工程款1_nud.Value : 金額6_und.Value = 金額1_und.Value + 金額2_und.Value + 金額3_und.Value + 金額4_und.Value + 金額5_und.Value
  1473. End Sub
  1474. Private Sub 工程款2_nud_ValueChanged(sender As Object, e As EventArgs) Handles 工程款2_nud.ValueChanged
  1475. 工程款6_nud.Value = 工程款1_nud.Value + 工程款2_nud.Value + 工程款3_nud.Value + 工程款4_nud.Value + 工程款5_nud.Value
  1476. 金額2_und.Value = NUD3.Value / 100 * 工程款2_nud.Value : 金額6_und.Value = 金額1_und.Value + 金額2_und.Value + 金額3_und.Value + 金額4_und.Value + 金額5_und.Value
  1477. End Sub
  1478. Private Sub 工程款3_nud_ValueChanged(sender As Object, e As EventArgs) Handles 工程款3_nud.ValueChanged
  1479. 工程款6_nud.Value = 工程款1_nud.Value + 工程款2_nud.Value + 工程款3_nud.Value + 工程款4_nud.Value + 工程款5_nud.Value
  1480. 金額3_und.Value = NUD3.Value / 100 * 工程款3_nud.Value : 金額6_und.Value = 金額1_und.Value + 金額2_und.Value + 金額3_und.Value + 金額4_und.Value + 金額5_und.Value
  1481. End Sub
  1482. Private Sub 工程款4_nud_ValueChanged(sender As Object, e As EventArgs) Handles 工程款4_nud.ValueChanged
  1483. 工程款6_nud.Value = 工程款1_nud.Value + 工程款2_nud.Value + 工程款3_nud.Value + 工程款4_nud.Value + 工程款5_nud.Value
  1484. 金額4_und.Value = NUD3.Value / 100 * 工程款4_nud.Value : 金額6_und.Value = 金額1_und.Value + 金額2_und.Value + 金額3_und.Value + 金額4_und.Value + 金額5_und.Value
  1485. End Sub
  1486. Private Sub 工程款5_nud_ValueChanged(sender As Object, e As EventArgs) Handles 工程款5_nud.ValueChanged
  1487. 工程款6_nud.Value = 工程款1_nud.Value + 工程款2_nud.Value + 工程款3_nud.Value + 工程款4_nud.Value + 工程款5_nud.Value
  1488. 金額5_und.Value = NUD3.Value / 100 * 工程款5_nud.Value : 金額6_und.Value = 金額1_und.Value + 金額2_und.Value + 金額3_und.Value + 金額4_und.Value + 金額5_und.Value
  1489. End Sub
  1490. Private Sub 自動讀取_bt_Click(sender As Object, e As EventArgs) Handles 自動讀取_bt.Click
  1491. If 客戶名稱_tb.Text = "" Then : MGB(系統語言字典("H102-104-" & 語言), 1) : Else : MGB(系統語言字典("H102-105-" & 語言), 1) : 合約_dgv.Enabled = False
  1492. PA30 = 合約編號1_tb.Text : SQL_客戶資料讀取() : If dr.Read() Then : 合約編號1_tb.Text = dr("簡稱") : End If : conn.Close()
  1493. If 合約編號_cb.Text = "" Or 合約編號1_tb.Text = "" Then : MGB(系統語言字典("H102-106-" & 語言), 1) : Else
  1494. 合約編號2_tb.Enabled = False : 合約編號3_tb.Enabled = False
  1495. PA = Strings.Mid(Strings.Format(Today(), "yyyy/MM/dd"), 3, 2) & Strings.Mid(Strings.Format(Today(), "yyyy/MM/dd"), 6, 2) & Strings.Right(Strings.Format(Today(), "yyyy/MM/dd"), 2)
  1496. SQL_合約流水號_最後一筆資料()
  1497. If dr.Read() Then
  1498. If Val(Strings.Right(dr("合約編號").ToString, 2)) > 9 Then : EDR = Strings.Right(dr("合約編號").ToString, 2) : Else : EDR = Strings.Right(dr("合約編號").ToString, 1) : End If
  1499. End If : conn.Close() : EDR += 1 : 合約編號2_tb.Text = PA : 合約編號3_tb.Text = EDR : 預設資料1()
  1500. End If
  1501. End If
  1502. End Sub
  1503. Private Sub 手動輸入_bt_Click(sender As Object, e As EventArgs) Handles 手動輸入_bt.Click
  1504. MGB(系統語言字典("H102-105-" & 語言), 1) : 通知視窗.ShowDialog() : 合約_dgv.Enabled = False : 合約編號2_tb.Enabled = True : 合約編號3_tb.Enabled = True : 預設資料1()
  1505. End Sub
  1506. Private Sub 刪除合約_bt_Click(sender As Object, e As EventArgs) Handles 刪除合約_bt.Click
  1507. MGB(系統語言字典("G000-213-" & 語言), 2)
  1508. If 訊息回應 = "YES" Then : INB(系統語言字典("G000-214-" & 語言)) : PA = 訊息回應
  1509. If PA = "YES" Then : PA = 合約編號_tb.Text : SQL_合約刪除() : SQL_合約本文刪除_依合約() : SQL_合約明細刪除_全部() : SQL_合約附錄刪除_全部()
  1510. SQL_合約總表刪除_全部() : SQL_合約報價明細刪除_全部() : SQL_合約報價係數刪除_全部() : SQL_合約試算分表刪除() : SQL_合約試算控制表刪除()
  1511. SQL_合約試算明細表刪除() : SQL_合約請款刪除_全部()
  1512. MGB(系統語言字典("G000-120-" & 語言), 2) : Set_合約報價總表() : Set_合約報價係數() : Set_合約報價明細表() : Set_合約清單()
  1513. End If
  1514. End If
  1515. End Sub
  1516. Private Sub 存檔_tb_Click(sender As Object, e As EventArgs) Handles 存檔_tb.Click
  1517. Dim 合約編號條件 As Boolean = True
  1518. If 合約種類_cb.Text = "" Then : MGB(系統語言字典("H102-107-" & 語言), 1) : Else
  1519. If 合約編號_cb.Text = "" Then : MGB(系統語言字典("G000-202-" & 語言), 1) : 合約編號條件 = False : End If
  1520. If 合約編號1_tb.Text = "" Then : MGB(系統語言字典("G000-203-" & 語言), 1) : 合約編號條件 = False : Else
  1521. Dim d As Int32
  1522. For index = 0 To 合約編號1_tb.Text.Length - 1
  1523. d = Asc(合約編號1_tb.Text(index))
  1524. Dim 可能不行 As Boolean = False
  1525. If (d < 65 Or d > 90) Then : 可能不行 = True : End If 'c變數若在65~90是大寫的英文字母
  1526. If 可能不行 = True Then
  1527. If (d < 97 Or d > 122) Then : 可能不行 = True : Else : 可能不行 = False : End If 'c變數若在97~122是小寫的英文字母
  1528. If 可能不行 = True Then '然後查表, c變數若在48~57, 表示它是數字,
  1529. If (d < 48 Or d > 57) Then : MGB(系統語言字典("G000-204-" & 語言), 1) : 通知視窗.ShowDialog() : 合約編號條件 = False : Exit For : End If
  1530. End If
  1531. End If
  1532. Next
  1533. End If
  1534. If 合約編號2_tb.Text = "" Then : MGB(系統語言字典("G000-205-" & 語言), 1) : 通知視窗.ShowDialog() : 合約編號條件 = False : End If
  1535. Dim c As Int32 '然後查表, c變數若在48~57, 表示它是數字,
  1536. For index = 0 To 合約編號2_tb.Text.Length - 1
  1537. c = Asc(合約編號2_tb.Text(index))
  1538. If c < 48 Or c > 57 Then : MGB(系統語言字典("G000-206-" & 語言), 1) : 合約編號條件 = False : Exit For : Else
  1539. If Len(合約編號2_tb.Text) <> 6 Then : MGB(系統語言字典("G000-207-" & 語言), 1) : 通知視窗.ShowDialog() : 合約編號條件 = False : Exit For : End If
  1540. End If
  1541. Next
  1542. If 合約編號3_tb.Text = "" Then : MGB(系統語言字典("G000-208-" & 語言), 1) : 通知視窗.ShowDialog() : 合約編號條件 = False
  1543. ElseIf IsNumeric(合約編號3_tb.Text) = False Then : MGB(系統語言字典("G000-209-" & 語言), 1) : 通知視窗.ShowDialog() : 合約編號條件 = False : End If
  1544. If 合約編號條件 = False Then : Else
  1545. If 工程款6_nud.Value <> 100 Then : MGB(系統語言字典("H108-129-" & 語言), 1) : Else
  1546. PA = 合約編號_cb.Text & "-" & 合約編號1_tb.Text & " " & 合約編號2_tb.Text & "-" & 合約編號3_tb.Text : 合約編號_tb.Text = PA
  1547. SQL_合約查詢()
  1548. If dr.Read() Then : MGB(系統語言字典("H102-113-" & 語言), 2) : If 訊息回應 = "YES" Then : 合約存檔() : End If : Else
  1549. 合約編號_tb.Text = 合約編號_cb.Text & "-" & 合約編號1_tb.Text & " " & 合約編號2_tb.Text & "-" & 合約編號3_tb.Text
  1550. 報價單合約編號_tb.Text = 合約編號_tb.Text : 報價單客戶名稱_cb.Text = 客戶名稱_tb.Text : 報價單客戶名稱1_cb.Text = 客戶名稱_tb.Text
  1551. 報價單立約日期_dtp.Value = 立約日期_dtp.Value : 報價工程名稱_中_tb.Text = 工程名稱_中_tb.Text : 報價工程名稱_中1_tb.Text = 工程名稱_中_tb.Text
  1552. 報價單合約編號1_tb.Text = 合約編號_tb.Text : 報價工程名稱_英_tb.Text = 工程名稱_英_tb.Text : 報價工程名稱_英1_tb.Text = 工程名稱_英_tb.Text
  1553. 合約存檔()
  1554. End If
  1555. If 複製報價 = False Then
  1556. PA = 合約編號_tb.Text : Set_合約報價總表() : Set_合約報價係數() : Set_合約報價明細表()
  1557. PA = 合約編號_tb.Text : If 報價明細表_dgv.Rows.Count = 0 Then : For i As Integer = 1 To 3 : 新增資料2() : Next : End If : Set_合約報價明細表()
  1558. '------比對總表無資料時開基本條例-------------------------------------------------
  1559. 總表範例_bt.PerformClick() : 甲方條件下拉清單讀取() : 合約編號1_cb.Text = 條件選擇
  1560. End If
  1561. End If
  1562. End If
  1563. End If
  1564. End Sub
  1565. Private Sub 新增資料2()
  1566. If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else : 報價明細表存檔()
  1567. PA = 合約編號_tb.Text : PA2 = "" : PA3 = "" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" : PA10 = "" : PA11 = "" : PA12 = "" : PA13 = ""
  1568. PA14 = "" : PA15 = "" : PA16 = "" : BL = False : BL1 = False : BL2 = False : BL3 = False : BL4 = False : BL5 = False : BL6 = False : BL7 = False
  1569. BL8 = False : BL9 = True : 明細表新增資料()
  1570. End If
  1571. End Sub
  1572. Private Sub 合約存檔()
  1573. '-----判斷是否新增客戶資料-----------------------
  1574. PA30 = 合約編號1_tb.Text : Dim 供應商編號 As String : SQL_客戶資料讀取()
  1575. If dr.Read() Then
  1576. If 負責人_A_cb.Text <> dr("負責人").ToString And 負責人_A_cb.Text <> "" And dr("負責人").ToString <> "" Then
  1577. MGB(系統語言字典("H102-127-" & 語言), 2)
  1578. If 訊息回應 = "YES" Then : PA43 = 負責人_A_cb.Text : PA42 = 客戶名稱_tb.Text : conn.Close() : SQL_客戶資料表_修改負責人() : End If
  1579. ElseIf 負責人_A_cb.Text <> "" And dr("負責人").ToString = "" Then
  1580. PA43 = 負責人_A_cb.Text : PA42 = 客戶名稱_tb.Text : conn.Close() : SQL_客戶資料表_修改負責人()
  1581. End If
  1582. Else
  1583. conn.Close() : SQL_客戶資料表_最後一筆資料()
  1584. If dr.Read() Then : 供應商編號 = dr("流水號").ToString : Else : 供應商編號 = "CL000" : End If
  1585. conn.Close() : Dim NUM1 As Integer
  1586. NUM1 = Double.Parse(Strings.Right(供應商編號, 3)) + 1
  1587. If NUM1 < 10 Then : 供應商編號 = "CL" & "00" & NUM1
  1588. ElseIf NUM1 > 9 And NUM1 < 100 Then : 供應商編號 = "CL" & "0" & NUM1
  1589. ElseIf NUM1 > 99 Then : 供應商編號 = "CL" & NUM1 : End If
  1590. PA29 = 供應商編號 : PA41 = 合約編號1_tb.Text : PA40 = 客戶名稱_tb.Text : PA39 = 客戶地址_tb.Text : PA38 = 負責人_A_cb.Text
  1591. SQL_合約系統中新增客戶資料() : conn.Close()
  1592. End If : conn.Close()
  1593. PA37 = 合約種類_cb.Text : PA36 = 合約種類_tb.Text
  1594. SQL_合約種類查詢() : If dr.Read() Then : Else : SQL_合約種類新增() : conn.Close() : End If : conn.Close()
  1595. PA = 合約編號_cb.Text & "-" & 合約編號1_tb.Text & " " & 合約編號2_tb.Text & "-" & 合約編號3_tb.Text
  1596. PA36 = 客戶名稱_tb.Text : PA35 = 負責人_A_cb.Text : PA34 = 工程地點_tb.Text : PA33 = 客戶地址_tb.Text : PA32 = 工程名稱_中_tb.Text : PA31 = 工程名稱_英_tb.Text
  1597. PA30 = 選擇公司_cb.Text : PA29 = 負責人_B_cb.Text : PA28 = 我司地址_tb.Text : PA27 = NUD3.Value : PA26 = 工程款1_nud.Value : PA25 = 工程款2_nud.Value
  1598. PA24 = 工程款3_nud.Value : PA23 = 工程款4_nud.Value : PA22 = 工程款5_nud.Value : PA21 = 工期_nud.Value : PA20 = 逾期_bt.Text : PA19 = 最高扣款_bt.Text
  1599. PA18 = 逾期_英_bt.Text : PA17 = 最高扣款_英_bt.Text : PA16 = 減價_bt.Text : PA15 = 廠區_中文_tb.Text : PA14 = 頁數_bt.Text : PA12 = 合約種類_cb.Text
  1600. PA13 = Strings.Format(立約日期_dtp.Value, "yyyy/MM/dd") : PA44 = 合約編號2_tb.Text : PA45 = 合約編號3_tb.Text : PA46 = 合約編號1_tb.Text : PA47 = 工程期_ch.Text
  1601. BL1 = 合約停止_ch.Checked : PA10 = 折讓比例_nud.Value : PA9 = 歸零位數_nud.Value : BL2 = 稅前歸零_ch.Checked : BL3 = 稅後歸零_ch.Checked
  1602. If 美金_ch.Checked = True Then : PA11 = "美金" : ElseIf 台幣_ch.Checked = True Then : PA11 = "台幣"
  1603. ElseIf 人民幣_ch.Checked = True Then : PA11 = "人民幣" : ElseIf 印尼盾_ch.Checked = True Then : PA11 = "印尼盾" : End If
  1604. 匯率() : PA48 = 匯率1
  1605. SQL_合約查詢() : If dr.Read() Then : SQL_合約修改1() : conn.Close() : Else : SQL_合約新增() : conn.Close() : End If
  1606. PA = 合約編號_cb.Text & "-" & 合約編號1_tb.Text & " " & 合約編號2_tb.Text & "-" & 合約編號3_tb.Text
  1607. MGB(系統語言字典("H102-128-" & 語言), 1) : Set_合約清單() : 合約_dgv.Enabled = True
  1608. End Sub
  1609. Private Sub 合約編號1_tb_TextChanged(sender As Object, e As EventArgs) Handles 合約編號1_tb.TextChanged
  1610. 合約編號1_tb.Text = 合約編號1_tb.Text.ToUpper : PA30 = 合約編號1_tb.Text : SQL_客戶資料讀取()
  1611. If dr.Read() Then : 客戶名稱_tb.Text = dr("客戶名稱") : 負責人_A_cb.Text = dr("負責人") : 客戶地址_tb.Text = dr("地址") : End If : conn.Close()
  1612. End Sub
  1613. '------------------------------------------------------------------------------------------------------------------------------------------------------------
  1614. '-----------------合約報價總表-------------------------------------------------------------------------------------------------------------------------------
  1615. '------------------------------------------------------------------------------------------------------------------------------------------------------------
  1616. Private Sub 合約報價總表_最後一筆資料()
  1617. SQL_合約報價總表_最後一筆資料()
  1618. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 9)) : Else : EDR = 0 : End If : conn.Close() : EDR += 1
  1619. If EDR < 10 Then : ESTR = "GT" & "00000000" & EDR : ElseIf EDR > 9 And EDR < 100 Then : ESTR = "GT" & "0000000" & EDR
  1620. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "GT" & "000000" & EDR : ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "GT" & "00000" & EDR
  1621. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "GT" & "0000" & EDR : ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "GT" & "000" & EDR
  1622. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "GT" & "00" & EDR : ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "GT" & "0" & EDR
  1623. ElseIf EDR > 99999999 Then : ESTR = "GT" & EDR : End If : PA9 = ESTR
  1624. End Sub
  1625. Private Sub 總表範例新增()
  1626. 合約報價總表_最後一筆資料() : PA10 = ""
  1627. SQL_合約報價總表_最後一筆排序()
  1628. If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "00" : End If : conn.Close() : NUM1 = Double.Parse(PA1) + 1
  1629. If NUM1 < 10 Then : PA1 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 : ElseIf NUM1 > 99 Then : PA1 = NUM1 : End If
  1630. SQL_合約報價總表_新增資料()
  1631. End Sub
  1632. Private Sub 總表範例新增_未稅()
  1633. 合約報價總表_最後一筆資料() : PA10 = ""
  1634. SQL_合約報價總表_最後一筆排序()
  1635. If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "00" : End If : conn.Close() : NUM1 = Double.Parse(PA1) - 2
  1636. If NUM1 < 10 Then : PA1 = "00" & NUM1 & "-1" : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 & "-1" : ElseIf NUM1 > 99 Then : PA1 = NUM1 & "-1" : End If
  1637. SQL_合約報價總表_新增資料()
  1638. End Sub
  1639. Private Sub 總表範例_bt_Click(sender As Object, e As EventArgs) Handles 總表範例_bt.Click
  1640. If 報價總表_dgv.Rows.Count = 0 Then
  1641. For I As Integer = 1 To 8
  1642. PA = 合約編號_tb.Text
  1643. If I = 1 Then : PA2 = "" : PA3 = ""
  1644. ElseIf I = 2 Then : PA2 = "" : PA3 = ""
  1645. ElseIf I = 3 Then : PA2 = "#" : PA3 = "管理費 7%" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = ""
  1646. ElseIf I = 4 Then : PA2 = "^" : PA3 = "折讓 Discount" : PA4 = "" : PA5 = "1" : PA6 = "0" : PA7 = "0" : PA8 = ""
  1647. ElseIf I = 5 Then : PA2 = "$" : PA3 = "小計(未稅) Subtotal(Excluding Tax)" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = ""
  1648. ElseIf I = 6 Then : PA2 = "" : PA3 = "" : PA4 = "" : PA5 = "" : PA6 = "0" : PA7 = "0" : PA8 = ""
  1649. ElseIf I = 7 Then : PA2 = "*" : PA3 = "稅金 11% Tax" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = ""
  1650. ElseIf I = 8 Then : PA2 = "@" : PA3 = "總計(含稅) Grand Total(Including Tax)" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = ""
  1651. End If : 總表範例新增()
  1652. Next
  1653. Set_合約報價總表()
  1654. Else
  1655. Dim 新開1 As Boolean = True : Dim 新開2 As Boolean = True : Dim 新開3 As Boolean = True : Dim 新開4 As Boolean = True : Dim 新開5 As Boolean = True
  1656. For I As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  1657. If 報價總表_dgv.Rows(I).Cells("ITEM").Value.ToString = "^" And Strings.Left(報價總表_dgv.Rows(I).Cells("DESCRIPTION").Value.ToString, 2) = "管理" Then
  1658. 新開1 = False : Exit For : End If : Next
  1659. For I As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  1660. If 報價總表_dgv.Rows(I).Cells("ITEM").Value.ToString = "*" And Strings.Left(報價總表_dgv.Rows(I).Cells("DESCRIPTION").Value.ToString, 2) = "稅金" Then
  1661. 新開2 = False : Exit For : End If : Next
  1662. For I As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  1663. If 報價總表_dgv.Rows(I).Cells("ITEM").Value.ToString = "@" And Strings.Left(報價總表_dgv.Rows(I).Cells("DESCRIPTION").Value.ToString, 2) = "總計" Then
  1664. 新開3 = False : Exit For : End If : Next
  1665. For I As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  1666. If 報價總表_dgv.Rows(I).Cells("ITEM").Value.ToString = "#" And Strings.Left(報價總表_dgv.Rows(I).Cells("DESCRIPTION").Value.ToString, 2) = "折讓" Then
  1667. 新開4 = False : Exit For : End If : Next
  1668. For I As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  1669. If 報價總表_dgv.Rows(I).Cells("ITEM").Value.ToString = "$" And Strings.Left(報價總表_dgv.Rows(I).Cells("DESCRIPTION").Value.ToString, 2) = "小計" Then
  1670. 新開5 = False : Exit For : End If : Next
  1671. If 新開1 = True Or 新開2 = True Or 新開3 = True Then : PA = 合約編號_tb.Text : PA2 = "" : PA3 = "" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = ""
  1672. 總表範例新增() : End If
  1673. If 新開1 = True Then : PA = 合約編號_tb.Text : PA2 = "^" : PA3 = "管理費 7%" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = ""
  1674. 總表範例新增() : End If
  1675. If 新開4 = True Then : PA = 合約編號_tb.Text : PA2 = "#" : PA3 = "折讓 Discount" : PA4 = "" : PA5 = "1" : PA6 = "0" : PA7 = "0" : PA8 = ""
  1676. 總表範例新增() : End If
  1677. If 新開2 = True Then : PA = 合約編號_tb.Text : PA2 = "*" : PA3 = "稅金 11% Tax" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = ""
  1678. 總表範例新增() : End If
  1679. If 新開3 = True Then : PA = 合約編號_tb.Text : PA2 = "@" : PA3 = "總計(含稅) Grand Total(Including Tax)" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = ""
  1680. 總表範例新增() : End If
  1681. If 新開5 = True Then : PA = 合約編號_tb.Text : PA2 = "$" : PA3 = "小計(未稅) Subtotal(Excluding Tax)" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = ""
  1682. 總表範例新增_未稅() : PA2 = "" : PA3 = "" : 總表範例新增_未稅() : End If
  1683. Set_合約報價總表()
  1684. End If
  1685. End Sub
  1686. Private Sub 報價總表存檔()
  1687. For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  1688. For ii As Integer = 0 To 報價總表_存_dgv.Rows.Count - 1
  1689. If 報價總表_dgv.Rows(i).Cells("流水號").Value.ToString = 報價總表_存_dgv.Rows(ii).Cells("流水號").Value.ToString Then
  1690. If 報價總表_dgv.Rows(i).Cells("排序").Value.ToString <> 報價總表_存_dgv.Rows(ii).Cells("排序").Value.ToString Or
  1691. 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString <> 報價總表_存_dgv.Rows(ii).Cells("ITEM").Value.ToString Or
  1692. 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString <> 報價總表_存_dgv.Rows(ii).Cells("DESCRIPTION").Value.ToString Or
  1693. 報價總表_dgv.Rows(i).Cells("UNIT").Value.ToString <> 報價總表_存_dgv.Rows(ii).Cells("UNIT").Value.ToString Or
  1694. 報價總表_dgv.Rows(i).Cells("QTY").Value <> 報價總表_存_dgv.Rows(ii).Cells("QTY").Value Or
  1695. 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value <> 報價總表_存_dgv.Rows(ii).Cells("UNIT PRICE" & 幣別).Value Or
  1696. 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value <> 報價總表_存_dgv.Rows(ii).Cells("AMOUNT" & 幣別).Value Or
  1697. 報價總表_dgv.Rows(i).Cells("REMARKS").Value.ToString <> 報價總表_存_dgv.Rows(ii).Cells("REMARKS").Value.ToString Or
  1698. 報價總表_dgv.Rows(i).Cells("明細連動").Value.ToString <> 報價總表_存_dgv.Rows(ii).Cells("明細連動").Value.ToString Then
  1699. 報價總表_dgv.Rows(i).Cells("存檔").Value = True : Exit For
  1700. End If
  1701. End If
  1702. Next
  1703. Next
  1704. For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  1705. If 報價總表_dgv.Rows(i).Cells("存檔").Value = True Then
  1706. PA1 = 報價總表_dgv.Rows(i).Cells("排序").Value.ToString : PA2 = 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString
  1707. PA3 = 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString : PA4 = 報價總表_dgv.Rows(i).Cells("UNIT").Value.ToString
  1708. PA5 = 報價總表_dgv.Rows(i).Cells("QTY").Value.ToString : PA6 = 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString
  1709. PA7 = 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString : PA8 = 報價總表_dgv.Rows(i).Cells("REMARKS").Value.ToString
  1710. PA9 = 報價總表_dgv.Rows(i).Cells("流水號").Value.ToString : PA10 = 報價總表_dgv.Rows(i).Cells("明細連動").Value.ToString
  1711. SQL_合約報價總表_存檔()
  1712. End If
  1713. Next : SQL_合約修改_報價說明()
  1714. End Sub
  1715. Private Sub 新增資料()
  1716. 報價總表存檔()
  1717. For ia As Integer = 1 To PA20
  1718. PA = 合約編號_tb.Text : PA2 = "" : PA3 = "" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" : 合約報價總表_最後一筆資料() : PA10 = ""
  1719. If 選擇項_tb.Text = "" Then
  1720. SQL_合約報價總表_最後一筆排序()
  1721. If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "00" : End If : conn.Close() : NUM1 = Double.Parse(PA1) + 1
  1722. If NUM1 < 10 Then : PA1 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 : ElseIf NUM1 > 99 Then : PA1 = NUM1 : End If
  1723. Else : PA1 = 選擇項3_tb.Text & "-1" : End If : SQL_合約報價總表_新增資料()
  1724. Next
  1725. Set_合約報價總表() : 重新排序_總表() : 報價總表存檔()
  1726. End Sub
  1727. Private Sub 新增資料1_bt_Click(sender As Object, e As EventArgs) Handles 新增資料1_bt.Click
  1728. If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else
  1729. INB(系統語言字典("H102-129-" & 語言)) : PA20 = 訊息回應
  1730. If IsNumeric(PA20) = False Then : MGB(系統語言字典("H115-121-" & 語言), 1) : Else : 新增資料() : End If
  1731. End If
  1732. End Sub
  1733. Private Sub 報價總表存檔按鈕()
  1734. If 報價總表_dgv.Rows.Count = 0 Then : Else
  1735. 報價總表存檔() : PA37 = 合約種類_cb.Text : PA36 = 合約種類_tb.Text : PA = 合約編號_tb.Text
  1736. PA36 = 客戶名稱_tb.Text : PA35 = 負責人_A_cb.Text : PA34 = 工程地點_tb.Text : PA33 = 客戶地址_tb.Text : PA32 = 工程名稱_中_tb.Text : PA31 = 工程名稱_英_tb.Text
  1737. PA30 = 選擇公司_cb.Text : PA29 = 負責人_B_cb.Text : PA28 = 我司地址_tb.Text : PA27 = NUD3.Value : PA26 = 工程款1_nud.Value : PA25 = 工程款2_nud.Value
  1738. PA24 = 工程款3_nud.Value : PA23 = 工程款4_nud.Value : PA22 = 工程款5_nud.Value : PA21 = 工期_nud.Value : PA20 = 逾期_bt.Text : PA19 = 最高扣款_bt.Text
  1739. PA18 = 逾期_英_bt.Text : PA17 = 最高扣款_英_bt.Text : PA16 = 減價_bt.Text : PA15 = 廠區_中文_tb.Text : PA14 = 頁數_bt.Text : PA12 = 合約種類_cb.Text
  1740. PA13 = Strings.Format(立約日期_dtp.Value, "yyyy/MM/dd") : PA44 = 合約編號2_tb.Text : PA45 = 合約編號3_tb.Text : PA46 = 合約編號1_tb.Text : PA47 = 工程期_ch.Text
  1741. BL1 = 合約停止_ch.Checked : PA10 = 折讓比例_nud.Value : PA9 = 歸零位數_nud.Value : BL2 = 稅前歸零_ch.Checked : BL3 = 稅後歸零_ch.Checked
  1742. If 美金_ch.Checked = True Then : PA11 = "美金" : ElseIf 台幣_ch.Checked = True Then : PA11 = "台幣"
  1743. ElseIf 人民幣_ch.Checked = True Then : PA11 = "人民幣" : ElseIf 印尼盾_ch.Checked = True Then : PA11 = "印尼盾" : End If
  1744. 匯率() : PA48 = 匯率1 : SQL_合約修改1() : Set_合約報價總表() : Set_合約清單()
  1745. End If
  1746. End Sub
  1747. Private Sub 報價總表存檔_bt_Click(sender As Object, e As EventArgs) Handles 報價總表存檔_bt.Click
  1748. If 報價總表_dgv.Rows.Count = 0 Then : MGB(系統語言字典("H102-130-" & 語言), 1) : Else
  1749. 修改樓層_迴圈() : 報價總表存檔按鈕() : 報價明細表存檔() : Set_合約報價明細表() : 預估利潤存檔() : MGB(系統語言字典("G000-119-" & 語言), 1)
  1750. End If
  1751. End Sub
  1752. Private Sub 總表選擇刪除_bt_Click(sender As Object, e As EventArgs) Handles 總表選擇刪除_bt.Click
  1753. If 總表流水_tb.Text = "" Then : MGB(系統語言字典("H102-131-" & 語言), 1) : Else
  1754. MGB(系統語言字典("H102-103-" & 語言), 2) : If 訊息回應 = "YES" Then : 報價總表存檔() : PA9 = 總表流水_tb.Text : SQL_合約報價總表_刪除資料() : Set_合約報價總表() : End If
  1755. End If
  1756. End Sub
  1757. Private Sub 排序1_bt_Click(sender As Object, e As EventArgs) Handles 排序1_bt.Click
  1758. If 報價總表_dgv.Rows.Count > 0 Then
  1759. If 報價總表_dgv.Columns(0).Visible = False Then : 報價總表_dgv.Columns(0).Visible = True : Else : 報價總表_dgv.Columns(0).Visible = False : End If
  1760. End If
  1761. End Sub
  1762. Private Sub 稅前歸零_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 稅前歸零_ch.Click
  1763. If 稅前歸零_ch.Checked = False And 稅後歸零_ch.Checked = False Then : 稅前歸零_ch.Checked = False : 稅後歸零_ch.Checked = False
  1764. ElseIf 稅前歸零_ch.Checked = True And 稅後歸零_ch.Checked = False Then : 稅前歸零_ch.Checked = True : 稅後歸零_ch.Checked = False
  1765. ElseIf 稅前歸零_ch.Checked = True And 稅後歸零_ch.Checked = True Then : 稅前歸零_ch.Checked = True : 稅後歸零_ch.Checked = False : End If
  1766. End Sub
  1767. Private Sub 稅後歸零_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 稅後歸零_ch.Click
  1768. If 稅前歸零_ch.Checked = False And 稅後歸零_ch.Checked = False Then : 稅前歸零_ch.Checked = False : 稅後歸零_ch.Checked = False
  1769. ElseIf 稅前歸零_ch.Checked = True And 稅後歸零_ch.Checked = False Then : 稅前歸零_ch.Checked = False : 稅後歸零_ch.Checked = True
  1770. ElseIf 稅前歸零_ch.Checked = True And 稅後歸零_ch.Checked = True Then : 稅前歸零_ch.Checked = False : 稅後歸零_ch.Checked = True : End If
  1771. End Sub
  1772. Private Sub 折價計算_bt_Click(sender As Object, e As EventArgs) Handles 折價計算_bt.Click
  1773. Dim SDF As Integer = CLng(未折價前_tb.Text).ToString().Length
  1774. If 歸零位數_nud.Value >= SDF - 1 Then : MGB(系統語言字典("H102-132-" & 語言), 1) : Else
  1775. Dim DD, 歸零前, 歸零後 As Long
  1776. '----------------------折讓計算-------------------------------------------------------------------------------------------
  1777. If 折讓比例_nud.Value > 0 Then
  1778. DD = CLng(未折價前_tb.Text) / 100 * 折讓比例_nud.Value * -1
  1779. For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  1780. If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "折讓 Discount" Then
  1781. 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value = DD : Exit For
  1782. End If
  1783. Next
  1784. End If : 報價總表_dgv_自動計算()
  1785. '----------------------歸零位數_nud-------------------------------------------------------------------------------------------
  1786. If 歸零位數_nud.Value > 0 Then
  1787. If 稅前歸零_ch.Checked = True Then
  1788. 歸零數_tb.Text = Strings.Right(CLng(未折價前_tb.Text), 歸零位數_nud.Value)
  1789. For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  1790. If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "折讓 Discount" Then
  1791. 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value = DD - CLng(歸零數_tb.Text) : Exit For
  1792. End If
  1793. Next
  1794. ElseIf 稅後歸零_ch.Checked = True Then
  1795. For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  1796. If 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString = "@" Then
  1797. 歸零前 = CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString) : Exit For
  1798. End If
  1799. Next
  1800. 歸零數_tb.Text = Strings.Right(歸零前, 歸零位數_nud.Value) : 歸零後 = 歸零前 - CLng(歸零數_tb.Text)
  1801. If 稅額顯示_lb.Text = "PPN 10%稅額 = Rp. " Then : DD = CLng(報價小計_tb.Text) - (歸零後 / 110 * 100)
  1802. ElseIf 稅額顯示_lb.Text = "PPN 11%稅額 = Rp. " Then : DD = CLng(報價小計_tb.Text) - (歸零後 / 111 * 100) : End If
  1803. For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  1804. If 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString = "折讓 Discount" Then
  1805. 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value = CLng(報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString) - DD : Exit For
  1806. End If
  1807. Next
  1808. End If
  1809. End If : 報價總表_dgv_自動計算()
  1810. End If
  1811. End Sub
  1812. Private Sub 美金_ch_Click(sender As Object, e As EventArgs) Handles 美金_ch.Click
  1813. 美金_ch.Checked = True : 台幣_ch.Checked = False : 人民幣_ch.Checked = False : 印尼盾_ch.Checked = False
  1814. End Sub
  1815. Private Sub 台幣_ch_Click(sender As Object, e As EventArgs) Handles 台幣_ch.Click
  1816. 美金_ch.Checked = False : 台幣_ch.Checked = True : 人民幣_ch.Checked = False : 印尼盾_ch.Checked = False
  1817. End Sub
  1818. Private Sub 人民幣_ch_Click(sender As Object, e As EventArgs) Handles 人民幣_ch.Click
  1819. 美金_ch.Checked = False : 台幣_ch.Checked = False : 人民幣_ch.Checked = True : 印尼盾_ch.Checked = False
  1820. End Sub
  1821. Private Sub 印尼盾_ch_Click(sender As Object, e As EventArgs) Handles 印尼盾_ch.Click
  1822. 美金_ch.Checked = False : 台幣_ch.Checked = False : 人民幣_ch.Checked = False : 印尼盾_ch.Checked = True
  1823. End Sub
  1824. Private Sub 美金_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 美金_ch.CheckedChanged
  1825. If 美金_ch.Checked = True Then : 幣別 = " (USD)" : ElseIf 台幣_ch.Checked = True Then : 幣別 = " (TWD)"
  1826. ElseIf 人民幣_ch.Checked = True Then : 幣別 = " (RMB)" : ElseIf 印尼盾_ch.Checked = True Then : 幣別 = " (RP)" : End If
  1827. End Sub
  1828. Private Sub 台幣_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 台幣_ch.CheckedChanged
  1829. If 美金_ch.Checked = True Then : 幣別 = " (USD)" : ElseIf 台幣_ch.Checked = True Then : 幣別 = " (TWD)"
  1830. ElseIf 人民幣_ch.Checked = True Then : 幣別 = " (RMB)" : ElseIf 印尼盾_ch.Checked = True Then : 幣別 = " (RP)" : End If
  1831. End Sub
  1832. Private Sub 人民幣_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 人民幣_ch.CheckedChanged
  1833. If 美金_ch.Checked = True Then : 幣別 = " (USD)" : ElseIf 台幣_ch.Checked = True Then : 幣別 = " (TWD)"
  1834. ElseIf 人民幣_ch.Checked = True Then : 幣別 = " (RMB)" : ElseIf 印尼盾_ch.Checked = True Then : 幣別 = " (RP)" : End If
  1835. End Sub
  1836. Private Sub 印尼盾_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 印尼盾_ch.CheckedChanged
  1837. If 美金_ch.Checked = True Then : 幣別 = " (USD)" : ElseIf 台幣_ch.Checked = True Then : 幣別 = " (TWD)"
  1838. ElseIf 人民幣_ch.Checked = True Then : 幣別 = " (RMB)" : ElseIf 印尼盾_ch.Checked = True Then : 幣別 = " (RP)" : End If
  1839. End Sub
  1840. '--------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1841. '-----------------合約報價總表編輯功能-------------------------------------------------------------------------------------------------------------------------------
  1842. '--------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1843. Private Sub 總表編輯()
  1844. If 視窗2_pl.Visible = False Then
  1845. 視窗2_pl.Location = New System.Drawing.Point((Me.Size.Width - 視窗2_pl.Size.Width) / 2, (Me.Size.Height - 視窗2_pl.Size.Height) / 2)
  1846. 視窗2_pl.Visible = True : 視窗2_pl.BringToFront()
  1847. 目前選擇 = "讀取資料" : 座標_lb.Text = 目前選擇
  1848. X_3_tb.Text = "" : Y_3_tb.Text = ""
  1849. 中文大寫1_ch.Checked = True : 中文小寫1_ch.Checked = False : 數字1_ch.Checked = False
  1850. 視窗2_pl.BringToFront()
  1851. Else : End If
  1852. End Sub
  1853. Private Sub ITEM1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ITEM1_cb.Click
  1854. PPCC = ITEM1_cb.Text : 合約報價單項次選擇.ShowDialog() : ITEM1_cb.Text = PPAA
  1855. End Sub
  1856. Private Sub 合計項_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合計項_cb.SelectedIndexChanged
  1857. 內容_tb.Text = 合計項_cb.Text : ITEM1_cb.Text = "" : 單位_tb.Text = ""
  1858. If 合計項_cb.Text = "合 計 Total" Or 合計項_cb.Text = "稅金 10% Tax" Or 合計項_cb.Text = "稅金 11% Tax" Then : ITEM1_cb.Text = "*"
  1859. ElseIf Strings.Left(合計項_cb.Text, 3) = "管理費" Then : ITEM1_cb.Text = "^"
  1860. ElseIf Strings.Left(合計項_cb.Text, 2) = "折讓" Then : ITEM1_cb.Text = "#"
  1861. ElseIf Strings.Left(合計項_cb.Text, 2) = "小計" Then : ITEM1_cb.Text = "$"
  1862. ElseIf 合計項_cb.Text = "總計 Grand Total" Or 合計項_cb.Text = "總計(含稅) Grand Total(Including Tax)" Then : ITEM1_cb.Text = "@" : End If
  1863. End Sub
  1864. Private Sub 合計項_cb_Click(sender As Object, e As EventArgs) Handles 合計項_cb.Click
  1865. CB選擇清單(合計項_cb, 合計項_cb.Text)
  1866. End Sub
  1867. Private Sub 總表編輯_bt_Click(sender As Object, e As EventArgs) Handles 總表編輯_bt.Click
  1868. 總表編輯() : 視窗3_pl.Visible = False
  1869. End Sub
  1870. Private Sub 文字資料輸入1_bt_Click(sender As Object, e As EventArgs) Handles 文字資料輸入1_bt.Click
  1871. If 選擇項_tb.Text = "" Then : MGB(系統語言字典("H102-133-" & 語言), 1) : Else
  1872. Dim ZX As Integer = 選擇項_tb.Text
  1873. 報價總表_dgv.Rows(ZX).Cells("ITEM").Value = ITEM1_cb.Text : 報價總表_dgv.Rows(ZX).Cells("UNIT").Value = 單位_tb.Text
  1874. 報價總表_dgv.Rows(ZX).Cells("REMARKS").Value = 備註_tb.Text : 報價總表_dgv.Rows(ZX).Cells("DESCRIPTION").Value = 內容_tb.Text
  1875. If IsNumeric(數量_tb.Text) = False Then : 報價總表_dgv.Rows(ZX).Cells("QTY").Value = 0 : Else : 報價總表_dgv.Rows(ZX).Cells("QTY").Value = 數量_tb.Text : End If
  1876. 報價總表_dgv_自動計算() : 數量_tb.Text = "1"
  1877. End If
  1878. End Sub
  1879. '--------------------------------------------------------------------------------------------------------------------------------------------------------------
  1880. '-----------------合約報價明細表-------------------------------------------------------------------------------------------------------------------------------
  1881. '--------------------------------------------------------------------------------------------------------------------------------------------------------------
  1882. Private Sub Set_合約報價明細表1()
  1883. Dim ds14 As New DataSet : 報價明細表2_dgv.DataSource = Nothing : ds14.Clear() : 報價明細表2_dgv.Columns.Clear()
  1884. 報價明細表2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  1885. 報價明細表2_dgv.ColumnHeadersHeight = 40 : 報價明細表2_dgv.AllowUserToAddRows = False : 報價明細表2_dgv.RowTemplate.Height = 45
  1886. 報價明細表2_dgv.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True
  1887. PA = 合約編號_1_tb.Text : SQL_合約報價明細表()
  1888. da.Fill(ds14) : 報價明細表2_dgv.DataSource = ds14.Tables(0) : conn.Close()
  1889. 報價明細表2_dgv.Columns(0).FillWeight = 50 : 報價明細表2_dgv.Columns(1).FillWeight = 50 : 報價明細表2_dgv.Columns(2).FillWeight = 200
  1890. 報價明細表2_dgv.Columns(3).FillWeight = 50 : 報價明細表2_dgv.Columns(4).FillWeight = 50 : 報價明細表2_dgv.Columns(5).FillWeight = 80
  1891. 報價明細表2_dgv.Columns(6).FillWeight = 80 : 報價明細表2_dgv.Columns(7).FillWeight = 100 : 報價明細表2_dgv.Columns(8).FillWeight = 50
  1892. 報價明細表2_dgv.Columns(34).FillWeight = 80 : 報價明細表2_dgv.Columns(33).FillWeight = 40 : 報價明細表2_dgv.Columns(6).FillWeight = 50
  1893. 報價明細表2_dgv.Columns(42).FillWeight = 20 : 報價明細表2_dgv.Columns(43).FillWeight = 20 : 報價明細表2_dgv.Columns(44).FillWeight = 20
  1894. 報價明細表2_dgv.Columns(45).FillWeight = 20 : 報價明細表2_dgv.Columns(46).FillWeight = 20 : 報價明細表2_dgv.Columns(47).FillWeight = 20
  1895. 報價明細表2_dgv.Columns(48).FillWeight = 20 : 報價明細表2_dgv.Columns(49).FillWeight = 20 : 報價明細表2_dgv.Columns(50).FillWeight = 20
  1896. 報價明細表2_dgv.Columns(50).FillWeight = 20 : 報價明細表2_dgv.Columns(表頭(9)).FillWeight = 30 : 報價明細表2_dgv.Columns(表頭(10)).Visible = False
  1897. 報價明細表2_dgv.Columns(60).Visible = False : 報價明細表2_dgv.Columns(61).Visible = False : 報價明細表2_dgv.Columns(62).Visible = False
  1898. 報價明細表2_dgv.Columns("地點_中").Visible = False : 報價明細表2_dgv.Columns("工資係數").Visible = False
  1899. 報價明細表2_dgv.Columns("地點_印").Visible = False : 報價明細表2_dgv.Columns("主項_中").Visible = False : 報價明細表2_dgv.Columns("主項_印").Visible = False
  1900. 報價明細表2_dgv.Columns("主名_中").Visible = False : 報價明細表2_dgv.Columns("主名_印").Visible = False : 報價明細表2_dgv.Columns("項名_中").Visible = False
  1901. 報價明細表2_dgv.Columns("項名_印").Visible = False : 報價明細表2_dgv.Columns("描述_中").Visible = False : 報價明細表2_dgv.Columns("其他_中").Visible = False
  1902. 報價明細表2_dgv.Columns("其他_印").Visible = False : 報價明細表2_dgv.Columns("描述_印").Visible = False : 報價明細表2_dgv.Columns("層級").Visible = False
  1903. 報價明細表2_dgv.Columns("存檔").Visible = False
  1904. For I As Integer = 0 To 58 : 報價明細表2_dgv.Columns(I).Visible = False : Next
  1905. For I As Integer = 79 To 84 : 報價明細表2_dgv.Columns(I).Visible = False : Next
  1906. 報價明細表2_dgv.Columns("工資單價").Visible = False : 報價明細表2_dgv.Columns(表頭(9)).Visible = False
  1907. 報價明細表2_dgv.Columns("QTY").DefaultCellStyle.Format = "#,##0"
  1908. 報價明細表2_dgv.Columns("UNIT").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  1909. 報價明細表2_dgv.Columns("QTY").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  1910. 報價明細表2_dgv.Columns("ITEM").Visible = True : 報價明細表2_dgv.Columns("DESCRIPTION").Visible = True : 報價明細表2_dgv.Columns("UNIT").Visible = True
  1911. 報價明細表2_dgv.Columns("QTY").Visible = True
  1912. 報價明細表2_dgv.Columns("ITEM").ReadOnly = True : 報價明細表2_dgv.Columns("DESCRIPTION").ReadOnly = True : 報價明細表2_dgv.Columns("UNIT").ReadOnly = True
  1913. 報價明細表2_dgv.Columns("QTY").ReadOnly = True
  1914. Set_合約選擇加入_勾選項()
  1915. 報價明細表2_dgv.Columns(表頭(10)).FillWeight = 30
  1916. For i As Integer = 0 To 報價明細表2_dgv.Rows.Count - 1
  1917. If 報價明細表2_dgv.Rows(i).Cells(表頭(9)).Value.ToString = "" Then
  1918. 報價明細表2_dgv.Rows(i).Cells("D1").Value = False : 報價明細表2_dgv.Rows(i).Cells("D2").Value = False
  1919. 報價明細表2_dgv.Rows(i).Cells("D3").Value = False : 報價明細表2_dgv.Rows(i).Cells("D4").Value = False
  1920. 報價明細表2_dgv.Rows(i).Cells("D5").Value = False : 報價明細表2_dgv.Rows(i).Cells("D6").Value = False
  1921. 報價明細表2_dgv.Rows(i).Cells("D7").Value = False : 報價明細表2_dgv.Rows(i).Cells("D8").Value = False
  1922. End If
  1923. If 報價明細表2_dgv.Rows(i).Cells(表頭(9)).Value.ToString <> "" Then
  1924. If 報價明細表2_dgv.Rows(i).Cells("預設").Value = True Then
  1925. 報價明細表2_dgv.Rows(i).Cells("D1").Value = 報價明細表2_dgv.Rows(i).Cells("S1").Value : 報價明細表2_dgv.Rows(i).Cells("D2").Value = 報價明細表2_dgv.Rows(i).Cells("S2").Value
  1926. 報價明細表2_dgv.Rows(i).Cells("D3").Value = 報價明細表2_dgv.Rows(i).Cells("S3").Value : 報價明細表2_dgv.Rows(i).Cells("D4").Value = 報價明細表2_dgv.Rows(i).Cells("S4").Value
  1927. 報價明細表2_dgv.Rows(i).Cells("D5").Value = 報價明細表2_dgv.Rows(i).Cells("S5").Value : 報價明細表2_dgv.Rows(i).Cells("D6").Value = 報價明細表2_dgv.Rows(i).Cells("S6").Value
  1928. 報價明細表2_dgv.Rows(i).Cells("D7").Value = 報價明細表2_dgv.Rows(i).Cells("S7").Value : 報價明細表2_dgv.Rows(i).Cells("D8").Value = 報價明細表2_dgv.Rows(i).Cells("S8").Value
  1929. End If
  1930. Dim ZA1, ZA2, ZA3, ZA4, ZA5, ZA6, ZA7, ZA8 As String : 物料規格 = ""
  1931. If 詳細資料_ch.Checked = True Then
  1932. If 報價明細表2_dgv.Rows(i).Cells("A1").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D1").Value = True Then
  1933. ZA1 = 報價明細表2_dgv.Rows(i).Cells("AA1").Value.ToString & "=" & 報價明細表2_dgv.Rows(i).Cells("A1").Value.ToString : 物料規格 = ZA1 : End If : End If
  1934. If 報價明細表2_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D2").Value = True Then
  1935. ZA2 = 報價明細表2_dgv.Rows(i).Cells("AA2").Value.ToString & "=" & 報價明細表2_dgv.Rows(i).Cells("A2").Value : If 物料規格 = "" Then
  1936. 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If : End If
  1937. If 報價明細表2_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D3").Value = True Then
  1938. ZA3 = 報價明細表2_dgv.Rows(i).Cells("AA3").Value.ToString & "=" & 報價明細表2_dgv.Rows(i).Cells("A3").Value : If 物料規格 = "" Then
  1939. 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If : End If
  1940. If 報價明細表2_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D4").Value = True Then
  1941. ZA4 = 報價明細表2_dgv.Rows(i).Cells("AA4").Value.ToString & "=" & 報價明細表2_dgv.Rows(i).Cells("A4").Value : If 物料規格 = "" Then
  1942. 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If : End If
  1943. If 報價明細表2_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D5").Value = True Then
  1944. ZA5 = 報價明細表2_dgv.Rows(i).Cells("AA5").Value.ToString & "=" & 報價明細表2_dgv.Rows(i).Cells("A5").Value : If 物料規格 = "" Then
  1945. 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If : End If
  1946. If 報價明細表2_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D6").Value = True Then
  1947. ZA6 = 報價明細表2_dgv.Rows(i).Cells("AA6").Value.ToString & "=" & 報價明細表2_dgv.Rows(i).Cells("A6").Value : If 物料規格 = "" Then
  1948. 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If : End If
  1949. If 報價明細表2_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D7").Value = True Then
  1950. ZA7 = 報價明細表2_dgv.Rows(i).Cells("AA7").Value.ToString & "=" & 報價明細表2_dgv.Rows(i).Cells("A7").Value : If 物料規格 = "" Then
  1951. 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If : End If
  1952. If 報價明細表2_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D8").Value = True Then
  1953. ZA8 = 報價明細表2_dgv.Rows(i).Cells("AA8").Value.ToString & "=" & 報價明細表2_dgv.Rows(i).Cells("A8").Value : If 物料規格 = "" Then
  1954. 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If : End If
  1955. Else
  1956. If 報價明細表2_dgv.Rows(i).Cells("A1").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D1").Value = True Then
  1957. ZA1 = 報價明細表2_dgv.Rows(i).Cells("A1").Value.ToString : 物料規格 = ZA1 : End If : End If
  1958. If 報價明細表2_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D2").Value = True Then
  1959. ZA2 = 報價明細表2_dgv.Rows(i).Cells("A2").Value : If 物料規格 = "" Then : 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If : End If
  1960. If 報價明細表2_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D3").Value = True Then
  1961. ZA3 = 報價明細表2_dgv.Rows(i).Cells("A3").Value : If 物料規格 = "" Then : 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If : End If
  1962. If 報價明細表2_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D4").Value = True Then
  1963. ZA4 = 報價明細表2_dgv.Rows(i).Cells("A4").Value : If 物料規格 = "" Then : 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If : End If
  1964. If 報價明細表2_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D5").Value = True Then
  1965. ZA5 = 報價明細表2_dgv.Rows(i).Cells("A5").Value : If 物料規格 = "" Then : 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If : End If
  1966. If 報價明細表2_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D6").Value = True Then
  1967. ZA6 = 報價明細表2_dgv.Rows(i).Cells("A6").Value : If 物料規格 = "" Then : 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If : End If
  1968. If 報價明細表2_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D7").Value = True Then
  1969. ZA7 = 報價明細表2_dgv.Rows(i).Cells("A7").Value : If 物料規格 = "" Then : 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If : End If
  1970. If 報價明細表2_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then : If 報價明細表2_dgv.Rows(i).Cells("D8").Value = True Then
  1971. ZA8 = 報價明細表2_dgv.Rows(i).Cells("A8").Value : If 物料規格 = "" Then : 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If : End If
  1972. End If
  1973. If 報價明細表2_dgv.Rows(i).Cells(表頭(9)).Value.ToString <> "" Then
  1974. 報價明細表2_dgv.Rows(i).Cells("DESCRIPTION").Value = 報價明細表2_dgv.Rows(i).Cells("品名").Value.ToString & " " & 物料規格
  1975. End If
  1976. End If : 報價明細表2_dgv.Rows(i).Cells("預設").Value = False
  1977. Next
  1978. End Sub
  1979. Private Sub Set_合約選擇加入_勾選項()
  1980. Dim Col As New DataGridViewCheckBoxColumn With {
  1981. .FillWeight = 30,
  1982. .DataPropertyName = 表頭(10),
  1983. .HeaderText = 表頭(10),
  1984. .Name = 表頭(10)
  1985. }
  1986. 報價明細表2_dgv.Columns.Insert(0, Col)
  1987. End Sub
  1988. Private Sub 報價明細表2_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 報價明細表2_dgv.CellClick
  1989. If e.RowIndex = -1 Then : Else
  1990. If 報價明細表2_dgv.Rows(e.RowIndex).Cells(表頭(10)).Value = True Then
  1991. 報價明細表2_dgv.Rows(e.RowIndex).Cells(表頭(10)).Value = False
  1992. Else
  1993. 報價明細表2_dgv.Rows(e.RowIndex).Cells(表頭(10)).Value = True
  1994. End If
  1995. 物料圖1_pb.Image = Nothing
  1996. If 報價明細表2_dgv.Rows(e.RowIndex).Cells("料號原則").Value.ToString = "" Then : Else
  1997. PA2 = 報價明細表2_dgv.Rows(e.RowIndex).Cells("料號原則").Value.ToString : SQL_物料圖庫_圖檔讀取一()
  1998. While dr.Read() = True
  1999. Dim unused As Byte() = New Byte(-1) {}
  2000. Dim bytes As Byte() = DirectCast(dr.Item("圖檔"), Byte())
  2001. Dim oStream As New MemoryStream(bytes)
  2002. 物料圖1_pb.Image = Bitmap.FromStream(oStream)
  2003. End While : conn.Close() : 物料圖1_pb.SizeMode = 4
  2004. End If
  2005. '------------數字為0隱藏-----------------------------------------------------------------------------------------------
  2006. For i As Integer = 0 To 報價明細表2_dgv.Rows.Count - 1
  2007. If 深色風格 = False Then
  2008. If IsDBNull(報價明細表2_dgv.Rows(i).Cells("QTY").Value) Then : 報價明細表2_dgv.Rows(i).Cells("QTY").Style.ForeColor = Color.White : Else
  2009. If 報價明細表2_dgv.Rows(i).Cells("QTY").Value = 0 Then : 報價明細表2_dgv.Rows(i).Cells("QTY").Style.ForeColor = Color.White
  2010. Else : 報價明細表2_dgv.Rows(i).Cells("QTY").Style.ForeColor = Color.Black : End If : End If
  2011. Else
  2012. If IsDBNull(報價明細表2_dgv.Rows(i).Cells("QTY").Value) Then : 報價明細表2_dgv.Rows(i).Cells("QTY").Style.ForeColor = Color.Black : Else
  2013. If 報價明細表2_dgv.Rows(i).Cells("QTY").Value = 0 Then : 報價明細表2_dgv.Rows(i).Cells("QTY").Style.ForeColor = Color.Black
  2014. Else : 報價明細表2_dgv.Rows(i).Cells("QTY").Style.ForeColor = Color.White : End If : End If
  2015. End If
  2016. Next
  2017. If 深色風格 = False Then
  2018. If 報價明細表2_dgv.Rows(e.RowIndex).Cells(表頭(10)).Value = True Then
  2019. 報價明細表2_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.LightGreen
  2020. Else : 報價明細表2_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.White : End If
  2021. Else
  2022. If 報價明細表2_dgv.Rows(e.RowIndex).Cells(表頭(10)).Value = True Then
  2023. 報價明細表2_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Green
  2024. Else : 報價明細表2_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Black : End If
  2025. End If
  2026. End If
  2027. End Sub
  2028. Private Sub 合約報價明細表_最後一筆資料()
  2029. SQL_合約報價明細表_最後一筆資料()
  2030. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 9)) : Else : EDR = 0 : End If : conn.Close() : EDR += 1
  2031. If EDR < 10 Then : ESTR = "GT" & "00000000" & EDR : ElseIf EDR > 9 And EDR < 100 Then : ESTR = "GT" & "0000000" & EDR
  2032. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "GT" & "000000" & EDR : ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "GT" & "00000" & EDR
  2033. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "GT" & "0000" & EDR : ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "GT" & "000" & EDR
  2034. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "GT" & "00" & EDR : ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "GT" & "0" & EDR
  2035. ElseIf EDR > 99999999 Then : ESTR = "GT" & EDR : End If : PA9 = ESTR
  2036. End Sub
  2037. Private Sub 報價明細表存檔()
  2038. For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  2039. For ii As Integer = 0 To 報價明細表_存_dgv.Rows.Count - 1
  2040. If 報價明細表_dgv.Rows(i).Cells("流水號").Value.ToString = 報價明細表_存_dgv.Rows(ii).Cells("流水號").Value.ToString Then
  2041. If 報價明細表_dgv.Rows(i).Cells("排序").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("排序").Value.ToString Or
  2042. 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("ITEM").Value.ToString Or
  2043. 報價明細表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("DESCRIPTION").Value.ToString Or
  2044. 報價明細表_dgv.Rows(i).Cells("UNIT").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("UNIT").Value.ToString Or
  2045. 報價明細表_dgv.Rows(i).Cells("QTY").Value <> 報價明細表_存_dgv.Rows(ii).Cells("QTY").Value Or
  2046. 報價明細表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value <> 報價明細表_存_dgv.Rows(ii).Cells("UNIT PRICE" & 幣別).Value Or
  2047. 報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value <> 報價明細表_存_dgv.Rows(ii).Cells("AMOUNT" & 幣別).Value Or
  2048. 報價明細表_dgv.Rows(i).Cells("REMARKS").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("REMARKS").Value.ToString Or
  2049. 報價明細表_dgv.Rows(i).Cells("實際數量").Value <> 報價明細表_存_dgv.Rows(ii).Cells("實際數量").Value Or
  2050. 報價明細表_dgv.Rows(i).Cells("工資成本單價").Value <> 報價明細表_存_dgv.Rows(ii).Cells("工資成本單價").Value Or
  2051. 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value <> 報價明細表_存_dgv.Rows(ii).Cells("工資報價單價").Value Or
  2052. 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value <> 報價明細表_存_dgv.Rows(ii).Cells("材料報價單價").Value Or
  2053. 報價明細表_dgv.Rows(i).Cells("不計").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("不計").Value.ToString Or
  2054. 報價明細表_dgv.Rows(i).Cells("材料係數").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("材料係數").Value.ToString Or
  2055. 報價明細表_dgv.Rows(i).Cells("D1").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("D1").Value.ToString Or
  2056. 報價明細表_dgv.Rows(i).Cells("D2").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("D2").Value.ToString Or
  2057. 報價明細表_dgv.Rows(i).Cells("D3").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("D3").Value.ToString Or
  2058. 報價明細表_dgv.Rows(i).Cells("D4").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("D4").Value.ToString Or
  2059. 報價明細表_dgv.Rows(i).Cells("D5").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("D5").Value.ToString Or
  2060. 報價明細表_dgv.Rows(i).Cells("D6").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("D6").Value.ToString Or
  2061. 報價明細表_dgv.Rows(i).Cells("D7").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("D7").Value.ToString Or
  2062. 報價明細表_dgv.Rows(i).Cells("D8").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("D8").Value.ToString Or
  2063. 報價明細表_dgv.Rows(i).Cells("層級").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("層級").Value.ToString Or
  2064. 報價明細表_dgv.Rows(i).Cells("地點_中").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("地點_中").Value.ToString Or
  2065. 報價明細表_dgv.Rows(i).Cells("地點_印").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("地點_印").Value.ToString Or
  2066. 報價明細表_dgv.Rows(i).Cells("主項_中").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("主項_中").Value.ToString Or
  2067. 報價明細表_dgv.Rows(i).Cells("主項_印").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("主項_印").Value.ToString Or
  2068. 報價明細表_dgv.Rows(i).Cells("主名_中").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("主名_中").Value.ToString Or
  2069. 報價明細表_dgv.Rows(i).Cells("主名_印").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("主名_印").Value.ToString Or
  2070. 報價明細表_dgv.Rows(i).Cells("項名_中").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("項名_中").Value.ToString Or
  2071. 報價明細表_dgv.Rows(i).Cells("項名_印").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("項名_印").Value.ToString Or
  2072. 報價明細表_dgv.Rows(i).Cells("描述_中").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("描述_中").Value.ToString Or
  2073. 報價明細表_dgv.Rows(i).Cells("描述_印").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("描述_印").Value.ToString Or
  2074. 報價明細表_dgv.Rows(i).Cells("其他_中").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("其他_中").Value.ToString Or
  2075. 報價明細表_dgv.Rows(i).Cells("其他_印").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("其他_印").Value.ToString Or
  2076. 報價明細表_dgv.Rows(i).Cells("工資係數").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("工資係數").Value.ToString Or
  2077. 報價明細表_dgv.Rows(i).Cells("工資單價").Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells("工資單價").Value.ToString Or
  2078. 報價明細表4_dgv.Rows(i).Cells(表頭(18)).Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells(表頭(18)).Value.ToString Or
  2079. 報價明細表4_dgv.Rows(i).Cells(表頭(20)).Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells(表頭(20)).Value.ToString Or
  2080. 報價明細表4_dgv.Rows(i).Cells(表頭(22)).Value.ToString <> 報價明細表_存_dgv.Rows(ii).Cells(表頭(22)).Value.ToString Or
  2081. 報價明細表_dgv.Rows(i).Cells(表頭(23)).Value <> 報價明細表_存_dgv.Rows(ii).Cells(表頭(23)).Value Or
  2082. 報價明細表_dgv.Rows(i).Cells(表頭(24)).Value <> 報價明細表_存_dgv.Rows(ii).Cells(表頭(24)).Value Then
  2083. 報價明細表_dgv.Rows(i).Cells("存檔").Value = True : Exit For
  2084. End If
  2085. End If
  2086. Next
  2087. Next
  2088. For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  2089. If 報價明細表_dgv.Rows(i).Cells("存檔").Value = True Then
  2090. PA1 = 報價明細表_dgv.Rows(i).Cells("排序").Value.ToString : PA2 = 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString
  2091. PA3 = 報價明細表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString.Replace("'", "") : PA4 = 報價明細表_dgv.Rows(i).Cells("UNIT").Value.ToString
  2092. PA5 = 報價明細表_dgv.Rows(i).Cells("QTY").Value.ToString : PA6 = 報價明細表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString
  2093. PA7 = 報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString : PA8 = 報價明細表_dgv.Rows(i).Cells("REMARKS").Value.ToString
  2094. PA9 = 報價明細表_dgv.Rows(i).Cells("流水號").Value.ToString : PA10 = 報價明細表_dgv.Rows(i).Cells("實際數量").Value.ToString
  2095. PA11 = 報價明細表_dgv.Rows(i).Cells("工資成本單價").Value.ToString : PA12 = 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value.ToString
  2096. PA13 = 報價明細表_dgv.Rows(i).Cells("材料成本單價").Value.ToString : PA14 = 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value.ToString
  2097. PA15 = 報價明細表_dgv.Rows(i).Cells(表頭(9)).Value.ToString : BL = 報價明細表_dgv.Rows(i).Cells("不計").Value
  2098. PA16 = 報價明細表_dgv.Rows(i).Cells("材料係數").Value.ToString : BL1 = 報價明細表_dgv.Rows(i).Cells("D1").Value
  2099. BL2 = 報價明細表_dgv.Rows(i).Cells("D2").Value : BL3 = 報價明細表_dgv.Rows(i).Cells("D3").Value : BL4 = 報價明細表_dgv.Rows(i).Cells("D4").Value
  2100. BL5 = 報價明細表_dgv.Rows(i).Cells("D5").Value : BL6 = 報價明細表_dgv.Rows(i).Cells("D6").Value : BL7 = 報價明細表_dgv.Rows(i).Cells("D7").Value
  2101. BL8 = 報價明細表_dgv.Rows(i).Cells("D8").Value : PB1 = 報價明細表_dgv.Rows(i).Cells("地點_中").Value.ToString
  2102. PB2 = 報價明細表_dgv.Rows(i).Cells("地點_印").Value.ToString : PB3 = 報價明細表_dgv.Rows(i).Cells("主項_中").Value.ToString
  2103. PB4 = 報價明細表_dgv.Rows(i).Cells("主項_印").Value.ToString : PB5 = 報價明細表_dgv.Rows(i).Cells("主名_中").Value.ToString
  2104. PB6 = 報價明細表_dgv.Rows(i).Cells("主名_印").Value.ToString : PB7 = 報價明細表_dgv.Rows(i).Cells("項名_中").Value.ToString
  2105. PB8 = 報價明細表_dgv.Rows(i).Cells("項名_印").Value.ToString : PB9 = 報價明細表_dgv.Rows(i).Cells("描述_中").Value.ToString
  2106. PB10 = 報價明細表_dgv.Rows(i).Cells("描述_印").Value.ToString : PB11 = 報價明細表_dgv.Rows(i).Cells("其他_中").Value.ToString
  2107. PB12 = 報價明細表_dgv.Rows(i).Cells("其他_印").Value.ToString : PB13 = 報價明細表_dgv.Rows(i).Cells("層級").Value.ToString
  2108. PB14 = 報價明細表_dgv.Rows(i).Cells("工資係數").Value.ToString : PB15 = 報價明細表_dgv.Rows(i).Cells("工資單價").Value.ToString
  2109. PB16 = 報價明細表4_dgv.Rows(i).Cells(表頭(18)).Value.ToString : PB17 = 報價明細表4_dgv.Rows(i).Cells(表頭(20)).Value.ToString
  2110. PB18 = 報價明細表4_dgv.Rows(i).Cells(表頭(22)).Value.ToString : PB19 = 報價明細表_dgv.Rows(i).Cells(表頭(23)).Value.ToString
  2111. PB20 = 報價明細表_dgv.Rows(i).Cells(表頭(24)).Value.ToString
  2112. SQL_合約報價明細表_存檔()
  2113. End If
  2114. Next
  2115. '-----------------預估利潤存檔-------------------------------------------------------------------------------------------------------------------------------
  2116. If 預估工資總成本_tb.Text = "" Then : 預估工資總成本_tb.Text = "0" : End If : PA37 = 預估工資總成本_tb.Text : 預估利潤存檔() : 合約係數指定存檔()
  2117. End Sub
  2118. Private Sub 新增資料2_bt_Click(sender As Object, e As EventArgs) Handles 新增資料2_bt.Click
  2119. If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else
  2120. 報價明細表存檔()
  2121. INB(系統語言字典("H102-129-" & 語言)) : PA20 = 訊息回應
  2122. If IsNumeric(PA20) = False Then : MGB(系統語言字典("H115-121-" & 語言), 1) : Else
  2123. For ia As Integer = 1 To PA20
  2124. PA = 合約編號_tb.Text : PA2 = "" : PA3 = "" : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" : PA10 = "" : PA11 = "" : PA12 = ""
  2125. PA13 = "" : PA14 = "" : PA15 = "" : PA16 = "" : BL = False : BL1 = False : BL2 = False : BL3 = False : BL4 = False : BL5 = False : BL6 = False
  2126. BL7 = False : BL8 = False : BL9 = True
  2127. 合約報價明細表_最後一筆資料()
  2128. If 選擇項1_tb.Text = "" Then
  2129. SQL_合約報價明細表_最後一筆排序()
  2130. If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "00" : End If : conn.Close()
  2131. NUM1 = Double.Parse(PA1) + 1
  2132. If NUM1 < 10 Then : PA1 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 : ElseIf NUM1 > 99 Then : PA1 = NUM1 : End If
  2133. Else
  2134. PA1 = 選擇項2_tb.Text & "-1"
  2135. End If : PB14 = 工資系數_cb.Text : PB15 = 工資單價_cb.Text
  2136. SQL_合約報價明細表_新增資料()
  2137. Next : Set_合約報價明細表()
  2138. 重新排序() : 報價明細表存檔() : 重置_bt.PerformClick()
  2139. End If
  2140. End If
  2141. End Sub
  2142. Private Sub 報價明細表存檔_bt_Click(sender As Object, e As EventArgs) Handles 報價明細表存檔_bt.Click
  2143. If 報價明細表_dgv.Rows.Count = 0 Then : MGB(系統語言字典("H102-130-" & 語言), 1) : Else
  2144. 修改樓層_迴圈() : 報價總表存檔按鈕() : 報價明細表存檔() : Set_合約報價明細表() : 預估利潤存檔() : 重置_bt.PerformClick() : MGB(系統語言字典("H402-119-" & 語言), 1)
  2145. End If
  2146. End Sub
  2147. Private Sub 報價明細表存檔1_bt_Click(sender As Object, e As EventArgs) Handles 報價明細表存檔1_bt.Click
  2148. If 報價明細表_dgv.Rows.Count = 0 Then : MGB(系統語言字典("H102-130-" & 語言), 1) : Else
  2149. 修改樓層_迴圈() : 報價總表存檔按鈕() : 報價明細表存檔() : Set_合約報價明細表() : 預估利潤存檔() : 重置_bt.PerformClick() : MGB(系統語言字典("H402-119-" & 語言), 1)
  2150. End If
  2151. End Sub
  2152. Private Sub 總表選擇刪除1_bt_Click(sender As Object, e As EventArgs) Handles 總表選擇刪除1_bt.Click
  2153. If 啟用批量選擇_ch.Checked = False Then
  2154. If 明細表流水_tb.Text = "" Then : MGB(系統語言字典("H102-131-" & 語言), 1) : Else
  2155. MGB(系統語言字典("H102-103-" & 語言), 2)
  2156. If 訊息回應 = "YES" Then
  2157. 報價明細表存檔() : PA9 = 明細表流水_tb.Text : SQL_合約報價明細表_刪除資料() : Set_合約報價明細表()
  2158. End If
  2159. End If
  2160. Else
  2161. MGB(系統語言字典("H102-103-" & 語言), 2)
  2162. If 訊息回應 = "YES" Then
  2163. 報價明細表存檔()
  2164. For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  2165. If 報價明細表_dgv(表頭(10), i).Value = True Then
  2166. PA9 = 報價明細表_dgv.Rows(i).Cells("流水號").Value.ToString : SQL_合約報價明細表_刪除資料()
  2167. End If
  2168. Next : Set_合約報價明細表() : 啟用批量選擇_ch.Checked = False
  2169. End If
  2170. End If
  2171. End Sub
  2172. Private Sub 選取資料新增到明細表_bt_Click(sender As Object, e As EventArgs) Handles 選取資料新增到明細表_bt.Click
  2173. If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else
  2174. 報價明細表存檔()
  2175. For i As Integer = 0 To 報價明細表2_dgv.Rows.Count - 1
  2176. If 報價明細表2_dgv.Rows(i).Cells(表頭(10)).Value = True Then
  2177. PA = 合約編號_tb.Text : PA2 = 報價明細表2_dgv.Rows(i).Cells("ITEM").Value.ToString : PA3 = 報價明細表2_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString
  2178. PA4 = 報價明細表2_dgv.Rows(i).Cells("UNIT").Value.ToString : PA5 = 報價明細表2_dgv.Rows(i).Cells("QTY").Value.ToString : PA6 = "0" : PA7 = "0" : PA8 = ""
  2179. PA10 = 報價明細表2_dgv.Rows(i).Cells("QTY").Value.ToString : PA11 = "" : PA12 = "" : PA14 = "" : PA15 = 報價明細表2_dgv.Rows(i).Cells(表頭(9)).Value.ToString
  2180. PA16 = ""
  2181. For ii As Integer = 0 To 報價係數_dgv.Rows.Count - 1
  2182. If 報價係數_dgv.Rows(ii).Cells("項目").Value.ToString() = 報價明細表2_dgv.Rows(i).Cells("材料係數").Value.ToString Then
  2183. PA16 = 報價明細表2_dgv.Rows(i).Cells("材料係數").Value.ToString : Exit For
  2184. End If
  2185. Next
  2186. BL = 報價明細表2_dgv.Rows(i).Cells("不計").Value : BL1 = 報價明細表2_dgv.Rows(i).Cells("D1").Value
  2187. BL2 = 報價明細表2_dgv.Rows(i).Cells("D1").Value : BL3 = 報價明細表2_dgv.Rows(i).Cells("D1").Value : BL4 = 報價明細表2_dgv.Rows(i).Cells("D1").Value
  2188. BL5 = 報價明細表2_dgv.Rows(i).Cells("D1").Value : BL6 = 報價明細表2_dgv.Rows(i).Cells("D1").Value : BL7 = 報價明細表2_dgv.Rows(i).Cells("D1").Value
  2189. BL8 = 報價明細表2_dgv.Rows(i).Cells("D1").Value : BL9 = 報價明細表2_dgv.Rows(i).Cells("預設").Value
  2190. 合約報價明細表_最後一筆資料()
  2191. If 選擇項1_tb.Text = "" Then
  2192. SQL_合約報價明細表_最後一筆排序()
  2193. If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "00" : End If : conn.Close()
  2194. NUM1 = Double.Parse(PA1) + 1
  2195. If NUM1 < 10 Then : PA1 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 : ElseIf NUM1 > 99 Then : PA1 = NUM1 : End If
  2196. Else : PA1 = 選擇項2_tb.Text & "-" & i + 1 : End If
  2197. PB14 = 工資系數_cb.Text : PB15 = 工資單價_cb.Text : SQL_合約報價明細表_新增資料()
  2198. End If
  2199. Next : Set_合約報價明細表()
  2200. 重新排序() : 報價明細表存檔()
  2201. 全部取消_bt.PerformClick()
  2202. End If
  2203. End Sub
  2204. Private Sub 選擇材料新增到明細表_bt_Click(sender As Object, e As EventArgs) Handles 選擇材料新增到明細表_bt.Click
  2205. If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H102-107-" & 語言), 1) : Else
  2206. If 料號_tb.Text = "" Then : MGB(系統語言字典("H527-178-" & 語言), 1) : Else
  2207. If 歷史單價_tb.Text = "" Then : MGB(系統語言字典("H527-178-" & 語言), 1) : Else
  2208. 報價明細表存檔()
  2209. PA = 合約編號_tb.Text : PA2 = ITEM2_cb.Text : PA3 = "" : PA4 = 單位1_tb.Text : PA5 = 實際數量_nud.Value : PA6 = "0" : PA7 = "0" : PA8 = "" : PA10 = 實際數量_nud.Value
  2210. PA11 = 工資成本_nud.Value
  2211. PA12 = "" : PA14 = "" : PA15 = 料號_tb.Text : PA16 = 係數清單_cb.Text : BL = False : BL1 = False : BL2 = False : BL3 = False : BL4 = False : BL5 = False
  2212. BL6 = False : BL7 = False : BL8 = False : BL9 = True
  2213. If 帶上歷史單價_ch.Checked = True Then : PA13 = 歷史單價_tb.Text : 材料成本_nud.Value = 歷史單價_tb.Text : Else : PA13 = "0" : 材料成本_nud.Value = 0 : End If
  2214. 明細表新增資料() : 重置_bt.PerformClick()
  2215. End If
  2216. End If
  2217. End If
  2218. End Sub
  2219. Private Sub 明細表新增資料()
  2220. 合約報價明細表_最後一筆資料()
  2221. If 選擇項1_tb.Text = "" Then
  2222. SQL_合約報價明細表_最後一筆排序()
  2223. If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "00" : End If : conn.Close()
  2224. NUM1 = Double.Parse(PA1) + 1
  2225. If NUM1 < 10 Then : PA1 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 : ElseIf NUM1 > 99 Then : PA1 = NUM1 : End If
  2226. Else : PA1 = 選擇項2_tb.Text & "-1" : End If
  2227. PB14 = 工資系數_cb.Text : PB15 = 工資單價_cb.Text : SQL_合約報價明細表_新增資料()
  2228. If 複製報價 = False Then
  2229. Set_合約報價明細表()
  2230. 重新排序() : 報價明細表存檔()
  2231. End If
  2232. End Sub
  2233. Private Sub 修改明細表上的材料指定_bt_Click(sender As Object, e As EventArgs) Handles 修改明細表上的材料指定_bt.Click
  2234. If 明細表流水_tb.Text = "" Then : MGB(系統語言字典("H115-123-" & 語言), 1) : Else
  2235. If 料號_tb.Text = "" Then : MGB(系統語言字典("H527-178-" & 語言), 1) : Else : 報價明細表存檔()
  2236. PA = 合約編號_tb.Text : PA9 = 明細表流水_tb.Text : PA15 = 料號_tb.Text : PA2 = ITEM2_cb.Text : PA5 = 實際數量_nud.Value : PA4 = 單位1_tb.Text
  2237. If 帶上歷史單價_ch.Checked = True Then : SQL6 = ", 材料成本單價 = N'" & 歷史單價_tb.Text & "' " : 材料成本_nud.Value = 歷史單價_tb.Text
  2238. Else : SQL6 = "" : End If
  2239. SQL_合約報價明細表_存檔_料號() : Set_合約報價明細表() : 重置_bt.PerformClick()
  2240. End If
  2241. End If
  2242. End Sub
  2243. Private Sub 排序2_bt_Click(sender As Object, e As EventArgs) Handles 排序2_bt.Click
  2244. If 報價明細表_dgv.Rows.Count > 0 Then
  2245. If 報價明細表_dgv.Columns(0).Visible = False Then : 報價明細表_dgv.Columns(0).Visible = True : Else : 報價明細表_dgv.Columns(0).Visible = False : End If
  2246. End If : Set_合約報價明細表格式()
  2247. End Sub
  2248. Private Sub 全部選擇_bt_Click(sender As Object, e As EventArgs) Handles 全部選擇_bt.Click
  2249. For i As Integer = 0 To 報價明細表2_dgv.Rows.Count - 1
  2250. If 深色風格 = False Then
  2251. 報價明細表2_dgv.Rows(i).Cells(表頭(10)).Value = True : 報價明細表2_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGreen
  2252. Else
  2253. 報價明細表2_dgv.Rows(i).Cells(表頭(10)).Value = True : 報價明細表2_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Green
  2254. End If
  2255. Next i
  2256. End Sub
  2257. Private Sub 全部取消_bt_Click(sender As Object, e As EventArgs) Handles 全部取消_bt.Click
  2258. For i As Integer = 0 To 報價明細表2_dgv.Rows.Count - 1 : 報價明細表2_dgv.Rows(i).Cells(表頭(10)).Value = False
  2259. If 深色風格 = False Then : 報價明細表2_dgv.Rows(i).DefaultCellStyle.BackColor = Color.White
  2260. Else : 報價明細表2_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Black : End If
  2261. Next
  2262. End Sub
  2263. '------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  2264. '-----------------合約報價明細表表編輯功能-------------------------------------------------------------------------------------------------------------------------------
  2265. '------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  2266. Private Sub 明細表編輯()
  2267. If 視窗3_pl.Visible = False Then
  2268. 視窗3_pl.Location = New System.Drawing.Point((Me.Size.Width - 視窗3_pl.Size.Width) / 2, (Me.Size.Height - 視窗3_pl.Size.Height) / 2) : 視窗3_pl.Visible = True
  2269. 目前選擇 = "讀取資料" : 座標1_lb.Text = 目前選擇
  2270. X_2_tb.Text = "" : Y_2_tb.Text = ""
  2271. Set_報價明細表_dgv_利潤表開啟() : 視窗3_pl.BringToFront()
  2272. Else : 視窗3_pl.Visible = False : End If
  2273. End Sub
  2274. Private Sub 項目_tb_TextChanged(sender As Object, e As EventArgs) Handles 項目_tb.TextChanged
  2275. SQL合約主項下拉()
  2276. 主項_中_cb.Items.Clear() : 主項_印_cb.Items.Clear()
  2277. While (dr.Read()) : 主項_中_cb.Items.Add(dr("主項_中")) : 主項_印_cb.Items.Add(dr("主項_印")) : End While : conn.Close()
  2278. 主名_中_cb.Text = "" : 主名_印_cb.Text = "" : 項名_中_cb.Text = "" : 項名_印_cb.Text = ""
  2279. 描述_中_cb.Text = "" : 描述_印_cb.Text = "" : 其他_中_cb.Text = "" : 其他_印_cb.Text = ""
  2280. If 項目_tb.Text = "第一項" Or 項目_tb.Text = "第二項" Or 項目_tb.Text = "第三項" Then
  2281. 實際數量_nud.Value = 0 : 材料成本_nud.Value = 0 : 工資成本_nud.Value = 0 : 工資系數_cb.Text = "" : 係數清單_cb.Text = ""
  2282. End If
  2283. End Sub
  2284. Private Sub ITEM2_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ITEM2_cb.Click
  2285. PPCC = ITEM2_cb.Text : 合約報價單項次選擇.ShowDialog() : ITEM2_cb.Text = PPAA : 項目_tb.Text = PB : PPAA = PPCC
  2286. End Sub
  2287. Private Sub 合計項1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合計項1_cb.SelectedIndexChanged
  2288. 項目_tb.Text = "" : 主項_中_cb.Text = "" : 主項_印_cb.Text = ""
  2289. 主名_中_cb.Text = "" : 主名_印_cb.Text = "" : 項名_中_cb.Text = "" : 項名_印_cb.Text = "" : 地點_中_tb.Text = ""
  2290. 描述_中_cb.Text = "" : 描述_印_cb.Text = "" : 其他_中_cb.Text = "" : 其他_印_cb.Text = "" : 地點_印_tb.Text = ""
  2291. 內容1_tb.Text = 合計項1_cb.Text : ITEM2_cb.Text = "" : 單位1_tb.Text = "" : If 合計項1_cb.Text <> "" Then : ITEM2_cb.Text = "*" : Else : End If
  2292. End Sub
  2293. Private Sub 工資單價_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 工資單價_cb.SelectedIndexChanged
  2294. For i As Integer = 0 To 報價係數_dgv.Rows.Count - 1
  2295. If 工資單價_cb.Text = 報價係數_dgv.Rows(i).Cells("項目").Value.ToString And 報價係數_dgv.Rows(i).Cells("單位").Value.ToString = "RP" Then
  2296. 工資成本_nud.Value = 報價係數_dgv.Rows(i).Cells("係數").Value.ToString : Exit For
  2297. End If
  2298. Next
  2299. End Sub
  2300. Private Sub 合計項1_cb_Click(sender As Object, e As EventArgs) Handles 合計項1_cb.Click
  2301. CB選擇清單_可選空白(合計項1_cb)
  2302. End Sub
  2303. Private Sub 明細表編輯_bt_Click(sender As Object, e As EventArgs) Handles 明細表編輯_bt.Click
  2304. 明細表編輯() : 視窗2_pl.Visible = False
  2305. End Sub
  2306. Private Sub 文字資料輸入2_bt_Click(sender As Object, e As EventArgs) Handles 文字資料輸入2_bt.Click
  2307. If 選擇項1_tb.Text = "" Then : MGB(系統語言字典("H102-136-" & 語言), 1) : Else
  2308. 'If (主項_中_cb.Text <> "" And 主項_印_cb.Text = "") Or (主項_中_cb.Text = "" And 主項_印_cb.Text <> "") Then : MGB("第一項目中有中文或是印尼文沒有填入!!", 1) : Exit Sub : End If
  2309. 'If (主名_中_cb.Text <> "" And 主名_印_cb.Text = "") Or (主名_中_cb.Text = "" And 主名_印_cb.Text <> "") Then : MGB("第二項目中有中文或是印尼文沒有填入!!", 1) : Exit Sub : End If
  2310. 'If (項名_中_cb.Text <> "" And 項名_印_cb.Text = "") Or (項名_中_cb.Text = "" And 項名_印_cb.Text <> "") Then : MGB("第三項目中有中文或是印尼文沒有填入!!", 1) : Exit Sub : End If
  2311. 'If (其他_中_cb.Text <> "" And 其他_印_cb.Text = "") Or (其他_中_cb.Text = "" And 其他_印_cb.Text <> "") Then : MGB("其他選項中有中文或是印尼文沒有填入!!", 1) : Exit Sub : End If
  2312. 'If (地點_中_tb.Text <> "" And 地點_印_tb.Text = "") Or (地點_中_tb.Text = "" And 地點_印_tb.Text <> "") Then : MGB("工程地點中有中文或是印尼文沒有填入!!", 1) : Exit Sub : End If
  2313. 'If (描述_中_cb.Text <> "" And 描述_印_cb.Text = "") Or (描述_中_cb.Text = "" And 描述_印_cb.Text <> "") Then : MGB("項目描述中有中文或是印尼文沒有填入!!", 1) : Exit Sub : End If
  2314. '-----------------------------項目選項存檔---------------------------------------------------------------------------------------------------------------
  2315. Dim 執行存檔 As Boolean = False
  2316. 'If ITEM2_cb.Text = "" Then : MGB("項次不可以空白!!", 1) : Else
  2317. ' 'If 項目_tb.Text = "第一項" Then
  2318. ' ' If 主項_中_cb.Text = "" Then : MGB("第一項目(中文)不可以空白!!", 1) : Else
  2319. ' ' If 主項_印_cb.Text = "" Then : MGB("第一項目(印尼文)不可以空白!!", 1) : Else : 執行存檔 = True : End If : End If : End If
  2320. ' 'If 項目_tb.Text = "第二項" Then
  2321. ' ' If 主項_中_cb.Text = "" Then : MGB("第一項目(中文)不可以空白!!", 1) : Else
  2322. ' ' If 主項_印_cb.Text = "" Then : MGB("第一項目(印尼文)不可以空白!!", 1) : Else
  2323. ' ' If 其他_中_cb.Text = "" Then
  2324. ' ' If 主名_中_cb.Text = "" Then : MGB("第二項目(中文)不可以空白!!", 1) : Else
  2325. ' ' If 主名_印_cb.Text = "" Then : MGB("第二項目(印尼文)不可以空白!!", 1) : Else : 執行存檔 = True : End If : End If
  2326. ' ' Else
  2327. ' ' If 其他_中_cb.Text = "" Then : MGB("其他選項(中文)不可以空白!!", 1) : Else
  2328. ' ' If 其他_印_cb.Text = "" Then : MGB("其他選項(印尼文)不可以空白!!", 1) : Else : 執行存檔 = True : End If : End If
  2329. ' ' End If
  2330. ' ' End If
  2331. ' ' End If
  2332. ' 'End If
  2333. ' 'If 項目_tb.Text = "第三項" Then
  2334. ' ' If 主項_中_cb.Text = "" Then : MGB("第一項目(中文)不可以空白!!", 1) : Else
  2335. ' ' If 主項_印_cb.Text = "" Then : MGB("第一項目(印尼文)不可以空白!!", 1) : Else
  2336. ' ' If 其他_中_cb.Text = "" Then
  2337. ' ' If 主名_中_cb.Text = "" Then : MGB("第二項目(中文)不可以空白!!", 1) : Else
  2338. ' ' If 主名_印_cb.Text = "" Then : MGB("第二項目(印尼文)不可以空白!!", 1) : Else
  2339. ' ' If 項名_中_cb.Text = "" Then : MGB("第三項目(中文)不可以空白!!", 1) : Else
  2340. ' ' If 項名_印_cb.Text = "" Then : MGB("第三項目(印尼文)不可以空白!!", 1) : Else : 執行存檔 = True : End If : End If : End If : End If
  2341. ' ' Else
  2342. ' ' If 其他_中_cb.Text = "" Then : MGB("其他選項(中文)不可以空白!!", 1) : Else
  2343. ' ' If 其他_印_cb.Text = "" Then : MGB("其他選項(印尼文)不可以空白!!", 1) : Else : 執行存檔 = True : End If : End If
  2344. ' ' End If
  2345. ' ' End If
  2346. ' ' End If
  2347. ' 'End If
  2348. ' 'If 執行存檔 = True Then
  2349. ' ' If 項目_tb.Text = "第一項" Then
  2350. ' ' PB1 = 主項_中_cb.Text : PB2 = 主項_印_cb.Text : PB3 = "" : PB4 = "" : PB9 = "" : PB10 = ""
  2351. ' ' PB5 = 描述_中_cb.Text : PB6 = 描述_印_cb.Text : PB7 = 其他_中_cb.Text : PB8 = 其他_印_cb.Text
  2352. ' ' ElseIf 項目_tb.Text = "第二項" Then
  2353. ' ' PB1 = 主項_中_cb.Text : PB2 = 主項_印_cb.Text : PB3 = 主名_中_cb.Text : PB4 = 主名_印_cb.Text : PB9 = "" : PB10 = ""
  2354. ' ' PB5 = 描述_中_cb.Text : PB6 = 描述_印_cb.Text : PB7 = 其他_中_cb.Text : PB8 = 其他_印_cb.Text
  2355. ' ' ElseIf 項目_tb.Text = "第三項" Then
  2356. ' ' PB1 = 主項_中_cb.Text : PB2 = 主項_印_cb.Text : PB3 = 主名_中_cb.Text : PB4 = 主名_印_cb.Text : PB9 = 項名_中_cb.Text : PB10 = 項名_印_cb.Text
  2357. ' ' PB5 = 描述_中_cb.Text : PB6 = 描述_印_cb.Text : PB7 = 其他_中_cb.Text : PB8 = 其他_印_cb.Text
  2358. ' ' End If
  2359. ' ' SQL_合約項目查詢() : If dr.Read Then : Else : SQL_合約項目新增() : End If
  2360. ' 'End If
  2361. 'End If
  2362. '-----------------------------資料帶入明細表---------------------------------------------------------------------------------------------------------------
  2363. Dim ZX As Integer = 選擇項1_tb.Text : 報價明細表_dgv.Rows(ZX).Cells("不計").Value = 不計_ch.Checked
  2364. 報價明細表_dgv.Rows(ZX).Cells("ITEM").Value = ITEM2_cb.Text : 報價明細表_dgv.Rows(ZX).Cells("REMARKS").Value = 備註1_tb.Text
  2365. 報價明細表_dgv.Rows(ZX).Cells("DESCRIPTION").Value = 內容1_tb.Text : 報價明細表_dgv.Rows(ZX).Cells("UNIT").Value = 單位1_tb.Text
  2366. 報價明細表_dgv.Rows(ZX).Cells("實際數量").Value = 實際數量_nud.Value : 報價明細表_dgv.Rows(ZX).Cells("工資成本單價").Value = 工資成本_nud.Value
  2367. 報價明細表_dgv.Rows(ZX).Cells("材料成本單價").Value = 材料成本_nud.Value : 報價明細表_dgv.Rows(ZX).Cells("工資係數").Value = 工資系數_cb.Text
  2368. 報價明細表_dgv.Rows(ZX).Cells("材料係數").Value = 係數清單_cb.Text : 報價明細表_dgv.Rows(ZX).Cells("工資單價").Value = 工資單價_cb.Text
  2369. 報價明細表_dgv.Rows(ZX).Cells("層級").Value = 項目_tb.Text
  2370. 報價明細表_dgv.Rows(ZX).Cells("地點_中").Value = 地點_中_tb.Text : 報價明細表_dgv.Rows(ZX).Cells("地點_印").Value = 地點_印_tb.Text
  2371. 報價明細表_dgv.Rows(ZX).Cells("主項_中").Value = 主項_中_cb.Text : 報價明細表_dgv.Rows(ZX).Cells("主項_印").Value = 主項_印_cb.Text
  2372. 報價明細表_dgv.Rows(ZX).Cells("主名_中").Value = 主名_中_cb.Text : 報價明細表_dgv.Rows(ZX).Cells("主名_印").Value = 主名_印_cb.Text
  2373. 報價明細表_dgv.Rows(ZX).Cells("項名_中").Value = 項名_中_cb.Text : 報價明細表_dgv.Rows(ZX).Cells("項名_印").Value = 項名_印_cb.Text
  2374. 報價明細表_dgv.Rows(ZX).Cells("描述_中").Value = 描述_中_cb.Text : 報價明細表_dgv.Rows(ZX).Cells("描述_印").Value = 描述_印_cb.Text
  2375. 報價明細表_dgv.Rows(ZX).Cells("其他_中").Value = 其他_中_cb.Text : 報價明細表_dgv.Rows(ZX).Cells("其他_印").Value = 其他_印_cb.Text
  2376. 報價明細表_dgv_自動計算()
  2377. End If
  2378. End Sub
  2379. Private Sub 主項_中_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 主項_中_cb.TextChanged
  2380. If 系統語言 = "繁體中文" Then
  2381. 主項_印_cb.SelectedIndex = 主項_中_cb.SelectedIndex
  2382. PB1 = 主項_中_cb.Text : 其他_中_cb.Text = "" : 其他_印_cb.Text = ""
  2383. SQL合約項目下拉() : 主名_中_cb.Items.Clear() : 主名_印_cb.Items.Clear()
  2384. While (dr.Read()) : 主名_中_cb.Items.Add(dr("主名_中")) : 主名_印_cb.Items.Add(dr("主名_印")) : End While : conn.Close()
  2385. 項目其他下拉清單讀取()
  2386. End If
  2387. End Sub
  2388. Private Sub 主項_印_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 主項_印_cb.TextChanged
  2389. If 系統語言 <> "繁體中文" Then
  2390. 主項_中_cb.SelectedIndex = 主項_印_cb.SelectedIndex
  2391. PB1 = 主項_中_cb.Text : 其他_中_cb.Text = "" : 其他_印_cb.Text = ""
  2392. SQL合約項目下拉() : 主名_中_cb.Items.Clear() : 主名_印_cb.Items.Clear()
  2393. While (dr.Read()) : 主名_中_cb.Items.Add(dr("主名_中")) : 主名_印_cb.Items.Add(dr("主名_印")) : End While : conn.Close()
  2394. 項目其他下拉清單讀取()
  2395. End If
  2396. End Sub
  2397. Private Sub 主名_中_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 主名_中_cb.TextChanged
  2398. If 系統語言 = "繁體中文" Then
  2399. 主名_印_cb.SelectedIndex = 主名_中_cb.SelectedIndex
  2400. PB1 = 主項_中_cb.Text : PB2 = 主名_中_cb.Text : 其他_中_cb.Text = "" : 其他_印_cb.Text = ""
  2401. SQL合約項目2下拉() : 項名_中_cb.Items.Clear() : 項名_印_cb.Items.Clear()
  2402. While (dr.Read()) : 項名_中_cb.Items.Add(dr("項名_中")) : 項名_印_cb.Items.Add(dr("項名_印")) : End While : conn.Close()
  2403. 項目其他下拉清單讀取() : 合併項目()
  2404. End If
  2405. End Sub
  2406. Private Sub 主名_印_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 主名_印_cb.TextChanged
  2407. If 系統語言 <> "繁體中文" Then
  2408. 主名_中_cb.SelectedIndex = 主名_印_cb.SelectedIndex
  2409. PB1 = 主項_中_cb.Text : PB2 = 主名_中_cb.Text : 其他_中_cb.Text = "" : 其他_印_cb.Text = ""
  2410. SQL合約項目2下拉() : 項名_中_cb.Items.Clear() : 項名_印_cb.Items.Clear()
  2411. While (dr.Read()) : 項名_中_cb.Items.Add(dr("項名_中")) : 項名_印_cb.Items.Add(dr("項名_印")) : End While : conn.Close()
  2412. 項目其他下拉清單讀取() : 合併項目()
  2413. End If
  2414. End Sub
  2415. Private Sub 項名_中_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 項名_中_cb.TextChanged
  2416. If 系統語言 = "繁體中文" Then
  2417. 項名_印_cb.SelectedIndex = 項名_中_cb.SelectedIndex
  2418. 其他_中_cb.Text = "" : 其他_印_cb.Text = "" : 合併項目()
  2419. End If
  2420. End Sub
  2421. Private Sub 項名_印_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 項名_印_cb.TextChanged
  2422. If 系統語言 <> "繁體中文" Then
  2423. 項名_中_cb.SelectedIndex = 項名_印_cb.SelectedIndex
  2424. 其他_中_cb.Text = "" : 其他_印_cb.Text = "" : 合併項目()
  2425. End If
  2426. End Sub
  2427. Private Sub 描述_中_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 描述_中_cb.TextChanged
  2428. If 系統語言 = "繁體中文" Then
  2429. 描述_印_cb.SelectedIndex = 描述_中_cb.SelectedIndex
  2430. 其他_中_cb.Text = "" : 其他_印_cb.Text = "" : 合併項目()
  2431. End If
  2432. End Sub
  2433. Private Sub 描述_印_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 描述_印_cb.TextChanged
  2434. If 系統語言 <> "繁體中文" Then
  2435. 描述_中_cb.SelectedIndex = 描述_印_cb.SelectedIndex
  2436. 其他_中_cb.Text = "" : 其他_印_cb.Text = "" : 合併項目()
  2437. End If
  2438. End Sub
  2439. Private Sub 其他_中_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 其他_中_cb.TextChanged
  2440. If 系統語言 = "繁體中文" Then
  2441. 其他_印_cb.SelectedIndex = 其他_中_cb.SelectedIndex
  2442. 項名_中_cb.Text = "" : 項名_印_cb.Text = "" : 主名_中_cb.Text = "" : 主名_印_cb.Text = "" : 描述_中_cb.Text = "" : 描述_印_cb.Text = "" : 合併項目()
  2443. End If
  2444. End Sub
  2445. Private Sub 其他_印_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 其他_印_cb.TextChanged
  2446. If 系統語言 <> "繁體中文" Then
  2447. 其他_中_cb.SelectedIndex = 其他_印_cb.SelectedIndex
  2448. 項名_中_cb.Text = "" : 項名_印_cb.Text = "" : 主名_中_cb.Text = "" : 主名_印_cb.Text = "" : 描述_中_cb.Text = "" : 描述_印_cb.Text = "" : 合併項目()
  2449. End If
  2450. End Sub
  2451. Private Sub 地點_中_tb_TextChanged(sender As Object, e As EventArgs) Handles 地點_中_tb.TextChanged
  2452. 合併項目()
  2453. End Sub
  2454. Private Sub 地點_印_tb_TextChanged(sender As Object, e As EventArgs) Handles 地點_印_tb.TextChanged
  2455. 合併項目()
  2456. End Sub
  2457. Private Sub 合併項目()
  2458. If 項目_tb.Text = "第一項" Then
  2459. If 地點_印_tb.Text <> "" And 其他_中_cb.Text = "" Then
  2460. 內容1_tb.Text = 地點_印_tb.Text & 主項_中_cb.Text & 描述_中_cb.Text & vbCrLf & 描述_印_cb.Text & " " & 主項_印_cb.Text & " Untuk " & 地點_印_tb.Text
  2461. ElseIf 地點_印_tb.Text = "" And 其他_中_cb.Text = "" Then
  2462. 內容1_tb.Text = 地點_印_tb.Text & 主項_中_cb.Text & 描述_中_cb.Text & vbCrLf & 描述_印_cb.Text & " " & 主項_印_cb.Text
  2463. ElseIf 地點_印_tb.Text <> "" And 其他_中_cb.Text <> "" Then
  2464. 內容1_tb.Text = 地點_印_tb.Text & 其他_中_cb.Text & vbCrLf & 其他_印_cb.Text & " Untuk " & 地點_印_tb.Text
  2465. ElseIf 地點_印_tb.Text = "" And 其他_中_cb.Text <> "" Then
  2466. 內容1_tb.Text = 地點_印_tb.Text & 其他_中_cb.Text & vbCrLf & 其他_印_cb.Text
  2467. End If
  2468. ElseIf 項目_tb.Text = "第二項" Then
  2469. If 描述_中_cb.Text <> "" And 主名_中_cb.Text <> "" And 其他_中_cb.Text = "" And 地點_印_tb.Text <> "" Then
  2470. 內容1_tb.Text = 地點_中_tb.Text & 主名_中_cb.Text & 描述_中_cb.Text & vbCrLf & 描述_印_cb.Text & " " & 主名_印_cb.Text & " Untuk " & 地點_印_tb.Text
  2471. ElseIf 描述_中_cb.Text <> "" And 主名_中_cb.Text <> "" And 其他_中_cb.Text = "" And 地點_印_tb.Text = "" Then
  2472. 內容1_tb.Text = 地點_中_tb.Text & 主名_中_cb.Text & 描述_中_cb.Text & vbCrLf & 描述_印_cb.Text & " " & 主名_印_cb.Text
  2473. ElseIf 描述_中_cb.Text = "" And 主名_中_cb.Text <> "" And 其他_中_cb.Text = "" And 地點_印_tb.Text <> "" Then
  2474. 內容1_tb.Text = 主名_中_cb.Text & 描述_中_cb.Text & vbCrLf & 主名_印_cb.Text & " Untuk " & 地點_印_tb.Text
  2475. ElseIf 描述_中_cb.Text = "" And 主名_中_cb.Text <> "" And 其他_中_cb.Text = "" And 地點_印_tb.Text = "" Then
  2476. 內容1_tb.Text = 主名_中_cb.Text & 描述_中_cb.Text & vbCrLf & 主名_印_cb.Text
  2477. ElseIf 描述_中_cb.Text <> "" And 主名_中_cb.Text = "" And 其他_中_cb.Text <> "" And 地點_印_tb.Text <> "" Then
  2478. 內容1_tb.Text = 地點_中_tb.Text & 其他_中_cb.Text & 描述_中_cb.Text & vbCrLf & 描述_印_cb.Text & " " & 其他_印_cb.Text & " Untuk " & 地點_印_tb.Text
  2479. ElseIf 描述_中_cb.Text <> "" And 主名_中_cb.Text = "" And 其他_中_cb.Text <> "" And 地點_印_tb.Text = "" Then
  2480. 內容1_tb.Text = 地點_中_tb.Text & 其他_中_cb.Text & 描述_中_cb.Text & vbCrLf & 描述_印_cb.Text & " " & 其他_印_cb.Text
  2481. ElseIf 描述_中_cb.Text = "" And 主名_中_cb.Text = "" And 其他_中_cb.Text <> "" And 地點_印_tb.Text <> "" Then
  2482. 內容1_tb.Text = 其他_中_cb.Text & 描述_中_cb.Text & vbCrLf & 其他_印_cb.Text & " Untuk " & 地點_印_tb.Text
  2483. ElseIf 描述_中_cb.Text = "" And 主名_中_cb.Text = "" And 其他_中_cb.Text <> "" And 地點_印_tb.Text = "" Then
  2484. 內容1_tb.Text = 其他_中_cb.Text & 描述_中_cb.Text & vbCrLf & 其他_印_cb.Text
  2485. End If
  2486. ElseIf 項目_tb.Text = "第三項" Then
  2487. If 描述_中_cb.Text <> "" And 項名_中_cb.Text <> "" And 其他_中_cb.Text = "" And 地點_印_tb.Text <> "" Then
  2488. 內容1_tb.Text = 地點_中_tb.Text & 項名_中_cb.Text & 描述_中_cb.Text & vbCrLf & 描述_印_cb.Text & " " & 項名_印_cb.Text & " Untuk " & 地點_印_tb.Text
  2489. ElseIf 描述_中_cb.Text <> "" And 項名_中_cb.Text <> "" And 其他_中_cb.Text = "" And 地點_印_tb.Text = "" Then
  2490. 內容1_tb.Text = 地點_中_tb.Text & 項名_中_cb.Text & 描述_中_cb.Text & vbCrLf & 描述_印_cb.Text & " " & 項名_印_cb.Text
  2491. ElseIf 描述_中_cb.Text = "" And 項名_中_cb.Text <> "" And 其他_中_cb.Text = "" And 地點_印_tb.Text <> "" Then
  2492. 內容1_tb.Text = 地點_中_tb.Text & 項名_中_cb.Text & 描述_中_cb.Text & vbCrLf & 項名_印_cb.Text & " Untuk " & 地點_印_tb.Text
  2493. ElseIf 描述_中_cb.Text = "" And 項名_中_cb.Text <> "" And 其他_中_cb.Text = "" And 地點_印_tb.Text = "" Then
  2494. 內容1_tb.Text = 地點_中_tb.Text & 項名_中_cb.Text & 描述_中_cb.Text & vbCrLf & 項名_印_cb.Text
  2495. ElseIf 其他_中_cb.Text <> "" And 地點_印_tb.Text <> "" Then
  2496. 內容1_tb.Text = 地點_中_tb.Text & 其他_中_cb.Text & vbCrLf & 其他_印_cb.Text & " Untuk " & 地點_印_tb.Text
  2497. ElseIf 其他_中_cb.Text <> "" And 地點_印_tb.Text = "" Then
  2498. 內容1_tb.Text = 地點_中_tb.Text & 其他_中_cb.Text & vbCrLf & 其他_印_cb.Text
  2499. End If
  2500. End If
  2501. End Sub
  2502. '------------------------------------------------------------------------------------------------------------------------------------------------------------
  2503. '-----------------合約係數功能-------------------------------------------------------------------------------------------------------------------------------
  2504. '------------------------------------------------------------------------------------------------------------------------------------------------------------
  2505. Private Sub Set_合約報價係數_範本()
  2506. Dim ds13, ds14, ds15, ds16 As New DataSet
  2507. 報價係數1_dgv.DataSource = Nothing : ds16.Clear()
  2508. 報價係數1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  2509. 報價係數1_dgv.ColumnHeadersHeight = 25 : 報價係數1_dgv.AllowUserToAddRows = False
  2510. PA = "" : SQL_合約報價係數()
  2511. da.Fill(ds16) : 報價係數1_dgv.DataSource = ds16.Tables(0) : conn.Close()
  2512. 報價係數1_dgv.Columns(0).Visible = False : 報價係數1_dgv.Columns(1).Visible = False : 報價係數1_dgv.Columns(2).FillWeight = 80
  2513. 報價係數1_dgv.Columns(3).FillWeight = 40 : 報價係數1_dgv.Columns(4).FillWeight = 30
  2514. 報價係數1_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  2515. 報價係數1_dgv.Columns(3).DefaultCellStyle.Format = "#,##0.00"
  2516. 報價係數1_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  2517. 報價係數1_dgv.Columns(2).ReadOnly = True : 報價係數1_dgv.Columns(3).ReadOnly = False : 報價係數1_dgv.Columns(4).ReadOnly = False
  2518. 報價係數2_dgv.DataSource = Nothing : ds15.Clear()
  2519. 報價係數2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  2520. 報價係數2_dgv.ColumnHeadersHeight = 25 : 報價係數2_dgv.AllowUserToAddRows = False
  2521. PA = "辦公樓用" : SQL_合約報價係數()
  2522. da.Fill(ds15) : 報價係數2_dgv.DataSource = ds15.Tables(0) : conn.Close()
  2523. 報價係數2_dgv.Columns(0).Visible = False : 報價係數2_dgv.Columns(1).Visible = False : 報價係數2_dgv.Columns(2).FillWeight = 80
  2524. 報價係數2_dgv.Columns(3).FillWeight = 40 : 報價係數2_dgv.Columns(4).FillWeight = 30
  2525. 報價係數2_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  2526. 報價係數2_dgv.Columns(3).DefaultCellStyle.Format = "#,##0.00"
  2527. 報價係數2_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  2528. 報價係數2_dgv.Columns(2).ReadOnly = True : 報價係數2_dgv.Columns(3).ReadOnly = False : 報價係數2_dgv.Columns(4).ReadOnly = False
  2529. 報價係數3_dgv.DataSource = Nothing : ds14.Clear()
  2530. 報價係數3_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  2531. 報價係數3_dgv.ColumnHeadersHeight = 25 : 報價係數3_dgv.AllowUserToAddRows = False
  2532. PA = "宿舍用" : SQL_合約報價係數()
  2533. da.Fill(ds14) : 報價係數3_dgv.DataSource = ds14.Tables(0) : conn.Close()
  2534. 報價係數3_dgv.Columns(0).Visible = False : 報價係數3_dgv.Columns(1).Visible = False : 報價係數3_dgv.Columns(2).FillWeight = 80
  2535. 報價係數3_dgv.Columns(3).FillWeight = 40 : 報價係數3_dgv.Columns(4).FillWeight = 30
  2536. 報價係數3_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  2537. 報價係數3_dgv.Columns(3).DefaultCellStyle.Format = "#,##0.00"
  2538. 報價係數3_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  2539. 報價係數3_dgv.Columns(2).ReadOnly = True : 報價係數3_dgv.Columns(3).ReadOnly = False : 報價係數3_dgv.Columns(4).ReadOnly = False
  2540. 報價係數4_dgv.DataSource = Nothing : ds13.Clear()
  2541. 報價係數4_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  2542. 報價係數4_dgv.ColumnHeadersHeight = 25 : 報價係數4_dgv.AllowUserToAddRows = False
  2543. PA = "廠房用" : SQL_合約報價係數()
  2544. da.Fill(ds13) : 報價係數4_dgv.DataSource = ds13.Tables(0) : conn.Close()
  2545. 報價係數4_dgv.Columns(0).Visible = False : 報價係數4_dgv.Columns(1).Visible = False : 報價係數4_dgv.Columns(2).FillWeight = 80
  2546. 報價係數4_dgv.Columns(3).FillWeight = 40 : 報價係數4_dgv.Columns(4).FillWeight = 30
  2547. 報價係數4_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  2548. 報價係數4_dgv.Columns(3).DefaultCellStyle.Format = "#,##0.00"
  2549. 報價係數4_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  2550. 報價係數4_dgv.Columns(2).ReadOnly = True : 報價係數4_dgv.Columns(3).ReadOnly = False : 報價係數4_dgv.Columns(4).ReadOnly = False
  2551. End Sub
  2552. Private Sub Set_合約報價係數()
  2553. Dim ds16 As New DataSet
  2554. 報價係數_dgv.DataSource = Nothing : ds16.Clear()
  2555. 報價係數_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  2556. 報價係數_dgv.ColumnHeadersHeight = 25 : 報價係數_dgv.AllowUserToAddRows = False
  2557. SQL_合約報價係數()
  2558. da.Fill(ds16) : 報價係數_dgv.DataSource = ds16.Tables(0) : conn.Close()
  2559. If 合約編號_tb.Text = "" Then : Else
  2560. Dim 新增係數 As Boolean
  2561. For i As Integer = 0 To 報價係數1_dgv.Rows.Count - 1
  2562. 新增係數 = True
  2563. For ii As Integer = 0 To 報價係數_dgv.Rows.Count - 1
  2564. If 報價係數1_dgv.Rows(i).Cells("項目").Value.ToString = 報價係數_dgv.Rows(ii).Cells("項目").Value.ToString Then : 新增係數 = False : Exit For
  2565. End If
  2566. Next
  2567. If 新增係數 = True Then : PA = 合約編號_tb.Text
  2568. PA2 = 報價係數1_dgv.Rows(i).Cells("項目").Value.ToString : PA3 = 報價係數1_dgv.Rows(i).Cells("係數").Value.ToString
  2569. PA4 = 報價係數1_dgv.Rows(i).Cells("單位").Value.ToString : 係數流水號() : SQL_合約報價係數_新增()
  2570. End If
  2571. Next
  2572. End If
  2573. 報價係數_dgv.DataSource = Nothing : ds16.Clear()
  2574. 報價係數_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  2575. 報價係數_dgv.ColumnHeadersHeight = 25 : 報價係數_dgv.AllowUserToAddRows = False
  2576. SQL_合約報價係數()
  2577. da.Fill(ds16) : 報價係數_dgv.DataSource = ds16.Tables(0) : conn.Close()
  2578. 報價係數_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  2579. 報價係數_dgv.Columns(0).Visible = False : 報價係數_dgv.Columns(1).Visible = False : 報價係數_dgv.Columns(2).FillWeight = 80
  2580. 報價係數_dgv.Columns(3).FillWeight = 40 : 報價係數_dgv.Columns(4).FillWeight = 30
  2581. 報價係數_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  2582. 報價係數_dgv.Columns(3).DefaultCellStyle.Format = "#,##0.00"
  2583. 報價係數_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  2584. 報價係數_dgv.Columns(2).ReadOnly = True : 報價係數_dgv.Columns(3).ReadOnly = False : 報價係數_dgv.Columns(4).ReadOnly = False
  2585. 工資與材料系數清單()
  2586. End Sub
  2587. Private Sub 報價係數_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 報價係數_dgv.MouseUp
  2588. 'If 報價總表_dgv.SelectedCells.Count = 1 Then : 通知訊息 = 報價總表_dgv.SelectedCells(0).ColumnIndex & " " & 報價總表_dgv.SelectedCells(0).RowIndex) : End If
  2589. If 報價係數_dgv.SelectedCells.Count = 1 Then : 已超出 = False : End If
  2590. If 報價係數_dgv.SelectedCells.Count > 0 Then
  2591. If 報價係數_dgv.SelectedCells(0).ColumnIndex = 4 Then
  2592. 係數單位_cb.Text = 報價係數_dgv.Rows(報價係數_dgv.SelectedCells(0).RowIndex).Cells(4).Value.ToString : CB選擇清單(係數單位_cb, 係數單位_cb.Text)
  2593. 報價係數_dgv.Rows(報價係數_dgv.SelectedCells(0).RowIndex).Cells(4).Value = 係數單位_cb.Text : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算()
  2594. End If
  2595. End If
  2596. End Sub
  2597. Private Sub 報價係數1_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 報價係數1_dgv.CellClick
  2598. If e.RowIndex = -1 Then : Else
  2599. If IsDBNull(報價係數1_dgv.Rows(e.RowIndex).Cells(3).Value) Then : 數值4_tb.Text = 0 : Else : 數值4_tb.Text = 報價係數1_dgv.Rows(e.RowIndex).Cells(3).Value : End If
  2600. End If
  2601. End Sub
  2602. Private Sub 係數範本_tb_Click(sender As Object, e As EventArgs) Handles 重新計算_tb.Click
  2603. 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算()
  2604. End Sub
  2605. Private Sub 新增係數_bt_Click(sender As Object, e As EventArgs) Handles 新增係數_bt.Click
  2606. 合約係數新增.ShowDialog() : Set_合約報價係數_範本() : Set_合約報價係數() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算()
  2607. End Sub
  2608. Private Sub 係數範本選擇_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 係數範本選擇_cb.SelectedIndexChanged
  2609. If 初次讀檔 = False Then
  2610. If 係數範本選擇_cb.Text = "" Then
  2611. For i As Integer = 0 To 報價係數1_dgv.Rows.Count - 1
  2612. For J As Integer = 0 To 報價係數_dgv.Rows.Count - 1
  2613. If 報價係數1_dgv.Rows(i).Cells("項目").Value.ToString() = 報價係數_dgv.Rows(J).Cells("項目").Value.ToString() Then
  2614. 報價係數_dgv.Rows(J).Cells("係數").Value = 報價係數1_dgv.Rows(i).Cells("係數").Value.ToString()
  2615. 報價係數_dgv.Rows(J).Cells("單位").Value = 報價係數1_dgv.Rows(i).Cells("單位").Value.ToString() : Exit For
  2616. End If
  2617. Next
  2618. Next
  2619. ElseIf 係數範本選擇_cb.Text = "辦公樓用" Then
  2620. For i As Integer = 0 To 報價係數2_dgv.Rows.Count - 1
  2621. For J As Integer = 0 To 報價係數_dgv.Rows.Count - 1
  2622. If 報價係數2_dgv.Rows(i).Cells("項目").Value.ToString() = 報價係數_dgv.Rows(J).Cells("項目").Value.ToString() Then
  2623. 報價係數_dgv.Rows(J).Cells("係數").Value = 報價係數2_dgv.Rows(i).Cells("係數").Value.ToString()
  2624. 報價係數_dgv.Rows(J).Cells("單位").Value = 報價係數2_dgv.Rows(i).Cells("單位").Value.ToString() : Exit For
  2625. End If
  2626. Next
  2627. Next
  2628. ElseIf 係數範本選擇_cb.Text = "宿舍用" Then
  2629. For i As Integer = 0 To 報價係數3_dgv.Rows.Count - 1
  2630. For J As Integer = 0 To 報價係數_dgv.Rows.Count - 1
  2631. If 報價係數3_dgv.Rows(i).Cells("項目").Value.ToString() = 報價係數_dgv.Rows(J).Cells("項目").Value.ToString() Then
  2632. 報價係數_dgv.Rows(J).Cells("係數").Value = 報價係數3_dgv.Rows(i).Cells("係數").Value.ToString()
  2633. 報價係數_dgv.Rows(J).Cells("單位").Value = 報價係數3_dgv.Rows(i).Cells("單位").Value.ToString() : Exit For
  2634. End If
  2635. Next
  2636. Next
  2637. ElseIf 係數範本選擇_cb.Text = "廠房用" Then
  2638. For i As Integer = 0 To 報價係數4_dgv.Rows.Count - 1
  2639. For J As Integer = 0 To 報價係數_dgv.Rows.Count - 1
  2640. If 報價係數4_dgv.Rows(i).Cells("項目").Value.ToString() = 報價係數_dgv.Rows(J).Cells("項目").Value.ToString() Then
  2641. 報價係數_dgv.Rows(J).Cells("係數").Value = 報價係數4_dgv.Rows(i).Cells("係數").Value.ToString()
  2642. 報價係數_dgv.Rows(J).Cells("單位").Value = 報價係數4_dgv.Rows(i).Cells("單位").Value.ToString() : Exit For
  2643. End If
  2644. Next
  2645. Next
  2646. End If : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算()
  2647. End If
  2648. End Sub
  2649. Private Sub 編輯係數_bt_Click(sender As Object, e As EventArgs) Handles 係數存檔_bt.Click
  2650. For i As Integer = 0 To 報價係數_dgv.Rows.Count - 1 : PA = 報價單合約編號_tb.Text
  2651. PA1 = 報價係數_dgv.Rows(i).Cells("流水號").Value.ToString() : PA2 = 報價係數_dgv.Rows(i).Cells("係數").Value.ToString()
  2652. PA3 = 報價係數_dgv.Rows(i).Cells("單位").Value.ToString() : SQL_合約報價係數修改()
  2653. Next
  2654. For i As Integer = 0 To 報價係數1_dgv.Rows.Count - 1 : PA = ""
  2655. PA1 = 報價係數1_dgv.Rows(i).Cells("流水號").Value.ToString() : PA2 = 報價係數1_dgv.Rows(i).Cells("係數").Value.ToString()
  2656. PA3 = 報價係數1_dgv.Rows(i).Cells("單位").Value.ToString() : SQL_合約報價係數修改()
  2657. Next
  2658. For i As Integer = 0 To 報價係數2_dgv.Rows.Count - 1 : PA = "辦公樓用"
  2659. PA1 = 報價係數2_dgv.Rows(i).Cells("流水號").Value.ToString() : PA2 = 報價係數2_dgv.Rows(i).Cells("係數").Value.ToString()
  2660. PA3 = 報價係數2_dgv.Rows(i).Cells("單位").Value.ToString() : SQL_合約報價係數修改()
  2661. Next
  2662. For i As Integer = 0 To 報價係數3_dgv.Rows.Count - 1 : PA = "宿舍用"
  2663. PA1 = 報價係數3_dgv.Rows(i).Cells("流水號").Value.ToString() : PA2 = 報價係數3_dgv.Rows(i).Cells("係數").Value.ToString()
  2664. PA3 = 報價係數3_dgv.Rows(i).Cells("單位").Value.ToString() : SQL_合約報價係數修改()
  2665. Next
  2666. For i As Integer = 0 To 報價係數4_dgv.Rows.Count - 1 : PA = "廠房用"
  2667. PA1 = 報價係數4_dgv.Rows(i).Cells("流水號").Value.ToString() : PA2 = 報價係數4_dgv.Rows(i).Cells("係數").Value.ToString()
  2668. PA3 = 報價係數4_dgv.Rows(i).Cells("單位").Value.ToString() : SQL_合約報價係數修改()
  2669. Next
  2670. MGB(系統語言字典("H402-120-" & 語言), 1) : 工資與材料系數清單() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算()
  2671. End Sub
  2672. Private Sub 合約係數指定存檔()
  2673. If 係數範本選擇_cb.Text = "" Then : Else : PA = 報價單合約編號_tb.Text : PA36 = 係數範本選擇_cb.Text : SQL_合約係數指定修改()
  2674. For i As Integer = 0 To 報價係數_dgv.Rows.Count - 1 : PA = 報價單合約編號_tb.Text
  2675. PA1 = 報價係數_dgv.Rows(i).Cells("流水號").Value.ToString() : PA2 = 報價係數_dgv.Rows(i).Cells("係數").Value.ToString()
  2676. PA3 = 報價係數_dgv.Rows(i).Cells("單位").Value.ToString() : SQL_合約報價係數修改()
  2677. Next
  2678. End If
  2679. End Sub
  2680. Private Sub 係數流水號()
  2681. SQL_合約報價係數_最後一筆資料()
  2682. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 9)) : Else : EDR = 0 : End If
  2683. conn.Close() : EDR += 1
  2684. If EDR < 10 Then : ESTR = "CF" & "00000000" & EDR : ElseIf EDR > 9 And EDR < 100 Then : ESTR = "CF" & "0000000" & EDR
  2685. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "CF" & "000000" & EDR : ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "CF" & "00000" & EDR
  2686. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "CF" & "0000" & EDR : ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "CF" & "000" & EDR
  2687. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "CF" & "00" & EDR : ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "CF" & "0" & EDR
  2688. ElseIf EDR > 99999999 Then : ESTR = "CF" & EDR : End If
  2689. PA1 = ESTR
  2690. End Sub
  2691. Private Sub 工資與材料系數清單()
  2692. 係數清單_cb.Items.Clear() : 係數清單_cb.Items.Add("")
  2693. For I As Integer = 0 To 報價係數_dgv.Rows.Count - 1
  2694. Dim 項目值 As String = 報價係數_dgv.Rows(I).Cells("項目").Value.ToString : If Not 項目值 Like "*工資*" And Not 項目值 Like "*工资*" Then : 係數清單_cb.Items.Add(項目值) : End If
  2695. Next
  2696. 工資系數_cb.Items.Clear() : 工資系數_cb.Items.Add("")
  2697. For I As Integer = 0 To 報價係數_dgv.Rows.Count - 1
  2698. If 報價係數_dgv.Rows(I).Cells("單位").Value.ToString = "%" Then
  2699. Dim 項目值 As String = 報價係數_dgv.Rows(I).Cells("項目").Value.ToString : If 項目值 Like "*工資*" Or 項目值 Like "*工资*" Then : 工資系數_cb.Items.Add(項目值) : End If
  2700. End If
  2701. Next
  2702. 工資單價_cb.Items.Clear() : 工資單價_cb.Items.Add("")
  2703. For I As Integer = 0 To 報價係數_dgv.Rows.Count - 1
  2704. If 報價係數_dgv.Rows(I).Cells("單位").Value.ToString = "RP" Then
  2705. Dim 項目值 As String = 報價係數_dgv.Rows(I).Cells("項目").Value.ToString : If 項目值 Like "*工資*" Or 項目值 Like "*工资*" Then : 工資單價_cb.Items.Add(項目值) : End If
  2706. End If
  2707. Next
  2708. End Sub
  2709. '--------------------------------------------------------------------------------------------------------------------------------------------------------------
  2710. '-----------------合約試算表功能-------------------------------------------------------------------------------------------------------------------------------
  2711. '--------------------------------------------------------------------------------------------------------------------------------------------------------------
  2712. Private Sub 重置_bt_Click(sender As Object, e As EventArgs) Handles 重置_bt.Click
  2713. 編輯_ch.Checked = False : 編輯1_ch.Checked = False : 鎖定_ch.Checked = False : 鎖定1_ch.Checked = False
  2714. 目前_tb.Text = "" : 目前X_tb.Text = "" : 目前X1_tb.Text = "" : 目前1_tb.Text = ""
  2715. End Sub
  2716. Private Sub 報價明細表4_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 報價明細表4_dgv.CellClick
  2717. If e.RowIndex = -1 Then : Else : 選擇項1_tb.Text = e.RowIndex : DGV位置2.Value = 選擇項1_tb.Text : DGV_X = 選擇項1_tb.Text : DGV_Y = 選擇項1_tb.Text
  2718. 報價明細表選擇()
  2719. If DGV_X = 4 Or DGV_X = 5 Or DGV_X = 6 Or DGV_X = 8 Or DGV_X = 9 Or DGV_X = 10 Or DGV_X = 11 Or DGV_X = 12 Or DGV_X = 13 Or DGV_X = 14 Or DGV_X = 15 Or DGV_X = 16 Or DGV_X = 17 Then
  2720. If 目前選擇 = "寫入資料" Then : X_2_tb.Text = e.ColumnIndex : Y_2_tb.Text = 選擇項1_tb.Text : Else
  2721. If IsDBNull(報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(e.ColumnIndex).Value) Then : 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(e.ColumnIndex).Value = 0 : End If
  2722. 數值4_tb.Text = 報價明細表_dgv.Rows(選擇項1_tb.Text).Cells(e.ColumnIndex).Value
  2723. End If
  2724. End If
  2725. End If
  2726. End Sub
  2727. Private Sub 報價明細表4_dgv_Scroll(ByVal sender As Object, ByVal e As ScrollEventArgs) Handles 報價明細表4_dgv.Scroll
  2728. Y軸_dgv.FirstDisplayedScrollingRowIndex = 報價明細表4_dgv.FirstDisplayedScrollingRowIndex
  2729. End Sub
  2730. Private Sub 報價明細表4_dgv_ColumnHeaderMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles 報價明細表4_dgv.ColumnHeaderMouseClick
  2731. 報價明細表4_dgv.Columns(e.ColumnIndex).SortMode = DataGridViewColumnSortMode.NotSortable
  2732. End Sub
  2733. Private Sub 報價明細表4_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 報價明細表4_dgv.RowPostPaint
  2734. If 深色風格 = False Then
  2735. Dim linePen As New Pen(Color.Blue, 3)
  2736. If e.RowIndex = 報價明細表4_dgv.Rows.Count - 1 Then : Exit Sub : Else
  2737. If Strings.Left(報價明細表4_dgv("DESCRIPTION", e.RowIndex).Value.ToString, 5) = "Total" Then
  2738. Dim startX As Integer = IIf(報價明細表4_dgv.RowHeadersVisible, 報價明細表4_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  2739. Dim endX As Integer = startX + 報價明細表4_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 報價明細表4_dgv.HorizontalScrollingOffset
  2740. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  2741. End If
  2742. End If
  2743. Else
  2744. Dim linePen As New Pen(Color.Yellow, 3)
  2745. If e.RowIndex = 報價明細表4_dgv.Rows.Count - 1 Then : Exit Sub : Else
  2746. If Strings.Left(報價明細表4_dgv("DESCRIPTION", e.RowIndex).Value.ToString, 5) = "Total" Then
  2747. Dim startX As Integer = IIf(報價明細表4_dgv.RowHeadersVisible, 報價明細表4_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  2748. Dim endX As Integer = startX + 報價明細表4_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 報價明細表4_dgv.HorizontalScrollingOffset
  2749. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  2750. End If
  2751. End If
  2752. End If
  2753. End Sub
  2754. Private Sub 報價明細表4_dgv_KeyDown(sender As Object, e As KeyEventArgs) Handles 報價明細表4_dgv.KeyDown
  2755. If e.KeyCode = Keys.Oemplus Then : e.SuppressKeyPress = True : 鎖定1_ch.Checked = True : 算式1_tb.Focus() : 算式1_tb.SelectionStart = 算式1_tb.Text.Length : End If
  2756. If e.Control AndAlso e.KeyCode = Keys.S Then : 報價明細表存檔_bt.PerformClick() : End If
  2757. End Sub
  2758. Private Sub 報價明細表4_dgv_KeyUp(sender As Object, e As KeyEventArgs) Handles 報價明細表4_dgv.KeyUp
  2759. If e.KeyCode = Keys.Up OrElse e.KeyCode = Keys.Down OrElse e.KeyCode = Keys.Left OrElse e.KeyCode = Keys.Right Then
  2760. e.SuppressKeyPress = True : Me.BeginInvoke(Sub() 處理DGV選中改變())
  2761. End If
  2762. End Sub
  2763. Private Sub 報價明細表4_dgv_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 報價明細表4_dgv.CellEndEdit
  2764. If e.RowIndex = -1 Then : Else : 計算2() : End If
  2765. End Sub
  2766. Private Sub 報價明細表4_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 報價明細表4_dgv.MouseUp
  2767. 處理DGV選中改變()
  2768. End Sub
  2769. Private Sub Y軸_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles Y軸_dgv.CellClick
  2770. If e.RowIndex >= 0 Then
  2771. 報價明細表4_dgv.ClearSelection() : 報價明細表4_dgv.Rows(e.RowIndex).Selected = True
  2772. End If
  2773. End Sub
  2774. Private Sub 處理DGV選中改變()
  2775. If 報價明細表4_dgv.SelectedCells.Count > 0 Then
  2776. For i As Integer = 0 To 報價明細表4_dgv.Rows.Count - 1
  2777. If 深色風格 = False Then
  2778. If IsNumeric(報價明細表4_dgv.Rows(i).Cells("ITEM").Value.ToString) Then
  2779. 報價明細表4_dgv.Rows(i).Cells(3).Style.BackColor = Color.White : 報價明細表4_dgv.Rows(i).Cells(79).Style.BackColor = Color.White
  2780. 報價明細表4_dgv.Rows(i).Cells(80).Style.BackColor = Color.White : 報價明細表4_dgv.Rows(i).Cells(82).Style.BackColor = Color.White
  2781. 報價明細表4_dgv.Rows(i).Cells(84).Style.BackColor = Color.White
  2782. Else
  2783. 報價明細表4_dgv.Rows(i).Cells(3).Style.BackColor = Color.Gainsboro : 報價明細表4_dgv.Rows(i).Cells(79).Style.BackColor = Color.Gainsboro
  2784. 報價明細表4_dgv.Rows(i).Cells(80).Style.BackColor = Color.Gainsboro : 報價明細表4_dgv.Rows(i).Cells(82).Style.BackColor = Color.Gainsboro
  2785. 報價明細表4_dgv.Rows(i).Cells(84).Style.BackColor = Color.Gainsboro
  2786. End If
  2787. '------------數字為0隱藏-----------------------------------------------------------------------------------------------
  2788. If IsDBNull(報價明細表4_dgv.Rows(i).Cells(79).Value) Then : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Gainsboro : Else
  2789. If 報價明細表4_dgv.Rows(i).Cells(79).Value.ToString = "" Then : Else
  2790. If 報價明細表4_dgv.Rows(i).Cells(79).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Gainsboro
  2791. Else : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Black : End If : End If
  2792. End If
  2793. If IsDBNull(報價明細表4_dgv.Rows(i).Cells(81).Value) Then : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Gainsboro : Else
  2794. If 報價明細表4_dgv.Rows(i).Cells(81).Value.ToString = "" Then : Else
  2795. If 報價明細表4_dgv.Rows(i).Cells(81).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Gainsboro
  2796. Else : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Black : End If : End If
  2797. End If
  2798. If IsDBNull(報價明細表4_dgv.Rows(i).Cells(83).Value) Then : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Gainsboro : Else
  2799. If 報價明細表4_dgv.Rows(i).Cells(83).Value.ToString = "" Then : Else
  2800. If 報價明細表4_dgv.Rows(i).Cells(83).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Gainsboro
  2801. Else : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Black : End If
  2802. End If
  2803. End If
  2804. Else
  2805. If IsNumeric(報價明細表4_dgv.Rows(i).Cells("ITEM").Value.ToString) Then
  2806. 報價明細表4_dgv.Rows(i).Cells(3).Style.BackColor = Color.DimGray : 報價明細表4_dgv.Rows(i).Cells(79).Style.BackColor = Color.DimGray
  2807. 報價明細表4_dgv.Rows(i).Cells(80).Style.BackColor = Color.DimGray : 報價明細表4_dgv.Rows(i).Cells(82).Style.BackColor = Color.DimGray
  2808. 報價明細表4_dgv.Rows(i).Cells(84).Style.BackColor = Color.DimGray
  2809. Else
  2810. 報價明細表4_dgv.Rows(i).Cells(3).Style.BackColor = Color.Black : 報價明細表4_dgv.Rows(i).Cells(79).Style.BackColor = Color.Black
  2811. 報價明細表4_dgv.Rows(i).Cells(80).Style.BackColor = Color.Black : 報價明細表4_dgv.Rows(i).Cells(82).Style.BackColor = Color.Black
  2812. 報價明細表4_dgv.Rows(i).Cells(84).Style.BackColor = Color.Black
  2813. End If
  2814. '------------數字為0隱藏-----------------------------------------------------------------------------------------------
  2815. If IsDBNull(報價明細表4_dgv.Rows(i).Cells(79).Value) Then : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Black : Else
  2816. If 報價明細表4_dgv.Rows(i).Cells(79).Value.ToString = "" Then : Else
  2817. If 報價明細表4_dgv.Rows(i).Cells(79).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.Black
  2818. Else : 報價明細表4_dgv.Rows(i).Cells(79).Style.ForeColor = Color.White : End If : End If
  2819. End If
  2820. If IsDBNull(報價明細表4_dgv.Rows(i).Cells(81).Value) Then : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Black : Else
  2821. If 報價明細表4_dgv.Rows(i).Cells(81).Value.ToString = "" Then : Else
  2822. If 報價明細表4_dgv.Rows(i).Cells(81).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.Black
  2823. Else : 報價明細表4_dgv.Rows(i).Cells(81).Style.ForeColor = Color.White : End If : End If
  2824. End If
  2825. If IsDBNull(報價明細表4_dgv.Rows(i).Cells(83).Value) Then : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Black : Else
  2826. If 報價明細表4_dgv.Rows(i).Cells(83).Value.ToString = "" Then : Else
  2827. If 報價明細表4_dgv.Rows(i).Cells(83).Value = 0 Then : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.Black
  2828. Else : 報價明細表4_dgv.Rows(i).Cells(83).Style.ForeColor = Color.White : End If
  2829. End If
  2830. End If
  2831. End If
  2832. Next
  2833. Dim 位置 As Integer = 報價明細表4_dgv.SelectedCells(0).RowIndex : Dim 位置Y As Integer = 報價明細表4_dgv.SelectedCells(0).ColumnIndex
  2834. Y軸_dgv.ClearSelection() : Y軸_dgv.Rows(位置).Selected = True : 目前X1_tb.Text = 位置Y : 計算位置()
  2835. If 報價明細表4_dgv.Rows(位置).Cells("料號原則").Value.ToString <> "" Then
  2836. 首次開啟 = True
  2837. AA1_lb.Text = "A[1] " & 報價明細表4_dgv.Rows(位置).Cells("AA1").Value.ToString : AA1_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("A1").Value.ToString
  2838. AA2_lb.Text = "A[2] " & 報價明細表4_dgv.Rows(位置).Cells("AA2").Value.ToString : AA2_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("A2").Value.ToString
  2839. AA3_lb.Text = "A[3] " & 報價明細表4_dgv.Rows(位置).Cells("AA3").Value.ToString : AA3_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("A3").Value.ToString
  2840. AA4_lb.Text = "A[4] " & 報價明細表4_dgv.Rows(位置).Cells("AA4").Value.ToString : AA4_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("A4").Value.ToString
  2841. AA5_lb.Text = "A[5] " & 報價明細表4_dgv.Rows(位置).Cells("AA5").Value.ToString : AA5_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("A5").Value.ToString
  2842. AA6_lb.Text = "A[6] " & 報價明細表4_dgv.Rows(位置).Cells("AA6").Value.ToString : AA6_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("A6").Value.ToString
  2843. AA7_lb.Text = "A[7] " & 報價明細表4_dgv.Rows(位置).Cells("AA7").Value.ToString : AA7_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("A7").Value.ToString
  2844. AA8_lb.Text = "A[8] " & 報價明細表4_dgv.Rows(位置).Cells("AA8").Value.ToString : AA8_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("A8").Value.ToString
  2845. BB1_nud.Value = 報價明細表4_dgv.Rows(位置).Cells("參數1").Value.ToString : BB2_nud.Value = 報價明細表4_dgv.Rows(位置).Cells("參數2").Value.ToString
  2846. BB3_nud.Value = 報價明細表4_dgv.Rows(位置).Cells("參數3").Value.ToString : 位置_tb.Text = 位置 + 1 : 首次開啟 = False
  2847. If 報價明細表4_dgv.Rows(位置).Cells("物料公式").Value.ToString.StartsWith("=") Then
  2848. 算式2_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("物料公式").Value.ToString.Substring(1)
  2849. Else
  2850. 算式2_tb.Text = 報價明細表4_dgv.Rows(位置).Cells("物料公式").Value.ToString
  2851. End If : 材料工資算式()
  2852. End If
  2853. If 位置Y <> 3 Then
  2854. If 鎖定1_ch.Checked = True And 鎖定1_ch.Checked = True Then : Else : 目前X_tb.Text = 位置Y : 修改樓層_迴圈()
  2855. If IsNumeric(報價明細表4_dgv.Rows(位置).Cells("ITEM").Value.ToString) Then : 試算表_cb.Text = 報價明細表4_dgv.Rows(位置).Cells("流水號").Value.ToString
  2856. PA = 合約編號_tb.Text : PA3 = 試算表_cb.Text : SQL_合約試算分表重複查詢()
  2857. If dr.Read() Then : 係數_nud.Value = dr("係數") : 表號_tb.Text = dr("表號").ToString : End If : 新增試算表_bt.PerformClick() : Set_試算明細表()
  2858. Else : 表號_tb.Text = "" : 試算表_cb.Text = "" : 樓層_迴路_cb.Text = "" : Set_試算明細表() : End If
  2859. If IsNumeric(報價明細表4_dgv.Rows(位置).Cells("ITEM").Value.ToString) Then
  2860. If 試算表_dgv.Rows.Count > 0 Then : 計算位置()
  2861. If X軸 = "A" Then : 報價明細表4_dgv.Rows(位置).Cells(表頭(18)).Value = 系統語言字典("G000-291-" & 語言) : End If
  2862. End If : 表頭_tb.Text = ""
  2863. End If
  2864. End If
  2865. If 鎖定1_ch.Checked = True And 鎖定1_ch.Checked = True Then : Else
  2866. If IsNumeric(報價明細表4_dgv.Rows(位置).Cells("ITEM").Value.ToString) Then
  2867. If X軸 = "A" Then : If 試算表_dgv.Rows.Count > 0 Then : 算式1_tb.Enabled = False : Else : 算式1_tb.Enabled = True : End If
  2868. Else : 算式1_tb.Enabled = True : End If
  2869. Else : 算式1_tb.Enabled = False : End If
  2870. End If
  2871. End If
  2872. If 位置Y = 1 Then
  2873. PPCC = ITEM2_cb.Text : 合約報價單項次選擇.ShowDialog() : ITEM2_cb.Text = PPAA : 項目_tb.Text = PB
  2874. 報價明細表4_dgv.Rows(位置).Cells("ITEM").Value = PPAA : 報價明細表_dgv.Rows(位置).Cells("ITEM").Value = PPAA : PPAA = PPCC
  2875. If IsNumeric(報價明細表4_dgv.Rows(位置).Cells("ITEM").Value) = False Then
  2876. 報價明細表_dgv.Rows(位置).Cells(32).Value = "" : 報價明細表_dgv.Rows(位置).Cells(77).Value = ""
  2877. 報價明細表_dgv.Rows(位置).Cells(78).Value = "" : 報價明細表_dgv_物料顯示() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算()
  2878. Else
  2879. If 報價明細表_dgv.Rows(位置).Cells(32).Value.ToString = "" Then : 報價明細表_dgv.Rows(位置).Cells(32).Value = "其他材料利潤" : End If
  2880. If 報價明細表_dgv.Rows(位置).Cells(77).Value.ToString = "" Then : 報價明細表_dgv.Rows(位置).Cells(77).Value = "工資利潤" : End If
  2881. 報價明細表_dgv_物料顯示() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算()
  2882. End If
  2883. ElseIf 位置Y = 2 Then
  2884. If 視窗3_pl.Visible = False Then : 明細表編輯() : 視窗2_pl.Visible = False : Else : End If
  2885. ElseIf 位置Y = 79 Then
  2886. If 視窗3_pl.Visible = False Then : 式算表編輯() : Else : End If
  2887. ElseIf 位置Y = 80 Then
  2888. If 鎖定1_ch.Checked = True Then
  2889. If 目前1_tb.Text <> 位置 Then
  2890. If 報價明細表4_dgv.Rows(位置).Cells(80).Value.ToString.Contains("A[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else
  2891. 算式1_tb.Text = 檢查前一運算子是否可運算(算式1_tb.Text, "A[" & (位置 + 1) & "]")
  2892. If BL10 = True Then : MGB(系統語言字典("G000-288-" & 語言), 1) : End If : 算式1_tb.Focus() : 算式1_tb.SelectionStart = 算式1_tb.Text.Length
  2893. End If
  2894. End If
  2895. Else
  2896. If 編輯1_ch.Checked = True Then
  2897. 計算1_bt.PerformClick() : 目前1_tb.Text = 位置 : 編輯1_ch.Checked = True : 算式1_tb.Text = 報價明細表4_dgv.Rows(位置).Cells(80).Value.ToString
  2898. Else
  2899. If 目前1_tb.Text = "" Then : 目前1_tb.Text = 位置 : 編輯1_ch.Checked = True : 算式1_tb.Text = 報價明細表4_dgv.Rows(位置).Cells(80).Value.ToString : Else
  2900. If 目前1_tb.Text <> 位置 Then
  2901. If 報價明細表4_dgv.Rows(位置).Cells(80).Value.ToString.Contains("A[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else
  2902. 算式1_tb.Text = 檢查前一運算子是否可運算(算式1_tb.Text, "A[" & (位置 + 1) & "]") : If BL10 = True Then : MGB(系統語言字典("G000-288-" & 語言), 1) : End If
  2903. End If : End If : End If : End If : End If
  2904. ElseIf 位置Y = 81 Then
  2905. If 報價明細表4_dgv.Rows(位置).Cells("料號原則").Value.ToString <> "" Then
  2906. If 物料工資計算式_P.Visible = False Then : 物料工資計算編輯() : Else : End If
  2907. Else : 物料工資計算式_P.Visible = False : End If
  2908. ElseIf 位置Y = 82 Then
  2909. If 鎖定1_ch.Checked = True Then
  2910. If 目前X1_tb.Text = "1" Or 目前X1_tb.Text = "2" Or 目前X1_tb.Text = "3" Or 目前X1_tb.Text = "79" Or 目前X1_tb.Text = "80" Then
  2911. Dim 同格 As Boolean = False
  2912. If 目前X1_tb.Text = "1" Or 目前X1_tb.Text = "2" Or 目前X1_tb.Text = "3" Or 目前X1_tb.Text = "79" Or 目前X1_tb.Text = "80" Or
  2913. 目前X_tb.Text = "1" Or 目前X_tb.Text = "2" Or 目前X_tb.Text = "3" Or 目前X_tb.Text = "79" Or 目前X_tb.Text = "80" Then : 同格 = True : End If
  2914. If 同格 = True And 目前1_tb.Text <> 位置 Then
  2915. If 報價明細表4_dgv.Rows(位置).Cells(82).Value.ToString.Contains("A[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else
  2916. 循環二層判斷("A", 位置, 82)
  2917. End If
  2918. Else : 循環二層判斷("A", 位置, 82) : End If
  2919. 'If 目前1_tb.Text <> 位置 Then : 循環二層判斷("A", 位置, 82) : Else : MGB(系統語言字典("G000-290-" & 語言), 1) : End If
  2920. ElseIf 目前X1_tb.Text = "81" Or 目前X1_tb.Text = "82" Then
  2921. Dim 同格 As Boolean = False
  2922. If 目前X1_tb.Text = "81" Or 目前X1_tb.Text = "82" Or 目前X_tb.Text = "81" Or 目前X_tb.Text = "82" Then : 同格 = True : End If
  2923. If 同格 = True And 目前1_tb.Text <> 位置 Then
  2924. If 報價明細表4_dgv.Rows(位置).Cells(82).Value.ToString.Contains("B[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else
  2925. 循環二層判斷("B", 位置, 82)
  2926. End If
  2927. Else : 循環二層判斷("B", 位置, 82) : End If
  2928. 'If 目前1_tb.Text <> 位置 Then : 循環二層判斷("B", 位置, 82) : Else : MGB(系統語言字典("G000-290-" & 語言), 1) : End If
  2929. ElseIf 目前X1_tb.Text = "83" Or 目前X1_tb.Text = "84" Then
  2930. Dim 同格 As Boolean = False
  2931. If 目前X1_tb.Text = "83" Or 目前X1_tb.Text = "84" Or 目前X_tb.Text = "83" Or 目前X_tb.Text = "84" Then : 同格 = True : End If
  2932. If 同格 = True And 目前1_tb.Text <> 位置 Then
  2933. If 報價明細表4_dgv.Rows(位置).Cells(82).Value.ToString.Contains("C[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else
  2934. 循環二層判斷("C", 位置, 82)
  2935. End If
  2936. Else : 循環二層判斷("C", 位置, 82) : End If
  2937. 'If 目前1_tb.Text <> 位置 Then : 循環二層判斷("C", 位置, 82) : Else : MGB(系統語言字典("G000-290-" & 語言), 1) : End If
  2938. End If
  2939. Else
  2940. If 編輯1_ch.Checked = True Then
  2941. 計算1_bt.PerformClick() : 目前1_tb.Text = 位置 : 編輯1_ch.Checked = True : 算式1_tb.Text = 報價明細表4_dgv.Rows(位置).Cells(82).Value.ToString
  2942. Else
  2943. If 目前1_tb.Text = "" Then : 目前1_tb.Text = 位置 : 編輯1_ch.Checked = True : 算式1_tb.Text = 報價明細表4_dgv.Rows(位置).Cells(82).Value.ToString : Else
  2944. If 目前1_tb.Text <> 位置 Then
  2945. If 報價明細表4_dgv.Rows(位置).Cells(82).Value.ToString.Contains("B[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else
  2946. 算式1_tb.Text = 檢查前一運算子是否可運算(算式1_tb.Text, "B[" & (位置 + 1) & "]") : If BL10 = True Then : MGB(系統語言字典("G000-288-" & 語言), 1) : End If
  2947. End If : End If : End If : End If : End If
  2948. ElseIf 位置Y = 83 Or 位置Y = 84 Then
  2949. If 鎖定1_ch.Checked = True Then
  2950. If 目前X1_tb.Text = "1" Or 目前X1_tb.Text = "2" Or 目前X1_tb.Text = "3" Or 目前X1_tb.Text = "79" Or 目前X1_tb.Text = "80" Then
  2951. Dim 同格 As Boolean = False
  2952. If 目前X1_tb.Text = "1" Or 目前X1_tb.Text = "2" Or 目前X1_tb.Text = "3" Or 目前X1_tb.Text = "79" Or 目前X1_tb.Text = "80" Or
  2953. 目前X_tb.Text = "1" Or 目前X_tb.Text = "2" Or 目前X_tb.Text = "3" Or 目前X_tb.Text = "79" Or 目前X_tb.Text = "80" Then : 同格 = True : End If
  2954. If 同格 = True And 目前1_tb.Text <> 位置 Then
  2955. If 報價明細表4_dgv.Rows(位置).Cells(84).Value.ToString.Contains("A[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else
  2956. 循環二層判斷("A", 位置, 84)
  2957. End If
  2958. Else : 循環二層判斷("A", 位置, 84) : End If
  2959. ElseIf 目前X1_tb.Text = "81" Or 目前X1_tb.Text = "82" Then
  2960. Dim 同格 As Boolean = False
  2961. If 目前X1_tb.Text = "81" Or 目前X1_tb.Text = "82" Or 目前X_tb.Text = "81" Or 目前X_tb.Text = "82" Then : 同格 = True : End If
  2962. If 同格 = True And 目前1_tb.Text <> 位置 Then
  2963. If 報價明細表4_dgv.Rows(位置).Cells(84).Value.ToString.Contains("B[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else
  2964. 循環二層判斷("B", 位置, 84)
  2965. End If
  2966. Else : 循環二層判斷("B", 位置, 84) : End If
  2967. ElseIf 目前X1_tb.Text = "83" Or 目前X1_tb.Text = "84" Then
  2968. Dim 同格 As Boolean = False
  2969. If (目前X1_tb.Text = "83" Or 目前X1_tb.Text = "84") And (目前X_tb.Text = "83" Or 目前X_tb.Text = "84") Then : 同格 = True : End If
  2970. If 同格 = True And 目前1_tb.Text <> 位置 Then
  2971. If 報價明細表4_dgv.Rows(位置).Cells(84).Value.ToString.Contains("C[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else
  2972. 循環二層判斷("C", 位置, 84)
  2973. End If
  2974. Else : 循環二層判斷("C", 位置, 84) : End If
  2975. End If
  2976. Else
  2977. If 編輯1_ch.Checked = True Then
  2978. 計算1_bt.PerformClick() : 目前1_tb.Text = 位置 : 編輯1_ch.Checked = True : 算式1_tb.Text = 報價明細表4_dgv.Rows(位置).Cells(84).Value.ToString
  2979. Else
  2980. If 目前1_tb.Text = "" Then : 目前1_tb.Text = 位置 : 編輯1_ch.Checked = True : 算式1_tb.Text = 報價明細表4_dgv.Rows(位置).Cells(84).Value.ToString : Else
  2981. If 目前1_tb.Text <> 位置 Then
  2982. If 報價明細表4_dgv.Rows(位置).Cells(84).Value.ToString.Contains("C[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else
  2983. 算式1_tb.Text = 檢查前一運算子是否可運算(算式1_tb.Text, "C[" & (位置 + 1) & "]") : If BL10 = True Then : MGB(系統語言字典("G000-288-" & 語言), 1) : End If
  2984. End If : End If : End If : End If : End If
  2985. End If
  2986. End If
  2987. End Sub
  2988. Private Sub 材料工資算式()
  2989. If 算式2_tb.Text <> "" Then
  2990. Try
  2991. Dim A As String = 算式2_tb.Text : If A.StartsWith("=") Then A = A.Substring(1)
  2992. Dim pattern As String = "[AB]\[(\d+)\]" : Dim regex As New Regex(pattern) : Dim matches As MatchCollection = regex.Matches(A)
  2993. Dim SD As Integer = 0 : Dim values(99) As Double
  2994. For Each match As Match In matches
  2995. Dim index As Integer = Integer.Parse(match.Groups(1).Value) : Dim cellValue As Double
  2996. If match.Value.StartsWith("A") Then
  2997. Select Case index
  2998. Case 1 : cellValue = 單位去除模組.轉換為雙精確度(AA1_tb.Text) : Case 2 : cellValue = 單位去除模組.轉換為雙精確度(AA2_tb.Text)
  2999. Case 3 : cellValue = 單位去除模組.轉換為雙精確度(AA3_tb.Text) : Case 4 : cellValue = 單位去除模組.轉換為雙精確度(AA4_tb.Text)
  3000. Case 5 : cellValue = 單位去除模組.轉換為雙精確度(AA5_tb.Text) : Case 6 : cellValue = 單位去除模組.轉換為雙精確度(AA6_tb.Text)
  3001. Case 7 : cellValue = 單位去除模組.轉換為雙精確度(AA7_tb.Text) : Case 8 : cellValue = 單位去除模組.轉換為雙精確度(AA8_tb.Text)
  3002. End Select
  3003. ElseIf match.Value.StartsWith("B") Then
  3004. Select Case index
  3005. Case 1 : cellValue = 單位去除模組.轉換為雙精確度(BB1_nud.Value) : Case 2 : cellValue = 單位去除模組.轉換為雙精確度(BB2_nud.Value)
  3006. Case 3 : cellValue = 單位去除模組.轉換為雙精確度(BB3_nud.Value)
  3007. End Select
  3008. End If : values(SD) = cellValue : SD += 1
  3009. Next
  3010. Dim replacedA As String = A
  3011. For i As Integer = 0 To SD - 1
  3012. replacedA = replacedA.Replace(matches(i).Value, values(i).ToString())
  3013. Next : 算式3_tb.Text = replacedA
  3014. Console.WriteLine(replacedA)
  3015. Dim dt As New System.Data.DataTable()
  3016. dt.Columns.Add("Result", GetType(Double))
  3017. dt.Rows.Add(dt.Compute(replacedA, ""))
  3018. 解答_tb.Text = Strings.Format(CDbl(Convert.ToDouble(dt.Rows(0)("Result"))), "#,##0")
  3019. Catch ex As Exception : 解答_tb.Text = "公式有誤" : End Try
  3020. Else : 算式3_tb.Text = "" : 解答_tb.Text = "" : End If
  3021. End Sub
  3022. Private Sub 算式2_tb_TextChanged(sender As Object, e As EventArgs) Handles 算式2_tb.TextChanged
  3023. If 首次開啟 = False Then : 材料工資算式() : End If
  3024. End Sub
  3025. Private Sub BB1_nud_ValueChanged(sender As Object, e As EventArgs) Handles BB1_nud.ValueChanged
  3026. If 首次開啟 = False Then : 材料工資算式() : End If
  3027. End Sub
  3028. Private Sub BB2_nud_ValueChanged(sender As Object, e As EventArgs) Handles BB2_nud.ValueChanged
  3029. If 首次開啟 = False Then : 材料工資算式() : End If
  3030. End Sub
  3031. Private Sub BB3_nud_ValueChanged(sender As Object, e As EventArgs) Handles BB3_nud.ValueChanged
  3032. If 首次開啟 = False Then : 材料工資算式() : End If
  3033. End Sub
  3034. Private Sub 循環二層判斷(X01 As String, Rows位置 As Integer, Cells位置 As Integer)
  3035. If 報價明細表4_dgv.Rows(Rows位置).Cells(Cells位置).Value.ToString.Contains(X軸 & "[" & CInt(目前1_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else
  3036. Dim cellValue As String = 報價明細表4_dgv.Rows(Rows位置).Cells(Cells位置).Value.ToString() : Dim pattern As String = "[A-Z]\[\d+\]"
  3037. Dim regex As New Regex(pattern) : Dim matches As MatchCollection = regex.Matches(cellValue) : Dim existsB2 As Boolean = False : Dim i As Integer = 0
  3038. For Each match As Match In matches : Dim letter As String = match.Value(0).ToString() : Dim letter1 As String = matches(i).Value().ToString()
  3039. Dim number As Integer : Dim column As Integer : Dim startIndex As Integer = letter1.IndexOf("[") : Dim endIndex As Integer = letter1.IndexOf("]")
  3040. If startIndex > -1 AndAlso endIndex > startIndex Then : Dim result As String = letter1.Substring(2, letter1.Length - 3) : number = CInt(result) : End If
  3041. Select Case letter : Case "A" : column = 80 : Case "B" : column = 82 : Case "C" : column = 84 : Case Else : Continue For : End Select
  3042. Dim nestedCellValue As String = 報價明細表4_dgv.Rows(number - 1).Cells(column).Value.ToString() : Dim nestedMatches As MatchCollection = regex.Matches(nestedCellValue)
  3043. For Each nestedMatch As Match In nestedMatches
  3044. If nestedMatch.Value = X軸 & "[" & CInt(目前1_tb.Text) + 1 & "]" Then : existsB2 = True : Exit For : End If
  3045. Next : If existsB2 Then : Exit For : End If
  3046. Next
  3047. If existsB2 Then : MGB(系統語言字典("G000-290-" & 語言), 1) : Else : 算式1_tb.Text = 檢查前一運算子是否可運算(算式1_tb.Text, X01 & "[" & (Rows位置 + 1) & "]")
  3048. If BL10 = True Then : MGB(系統語言字典("G000-288-" & 語言), 1) : End If : 算式1_tb.Focus() : 算式1_tb.SelectionStart = 算式1_tb.Text.Length
  3049. End If
  3050. End If
  3051. End Sub
  3052. Private Sub 計算位置()
  3053. If 目前X_tb.Text = "1" Or 目前X_tb.Text = "2" Or 目前X_tb.Text = "3" Or 目前X_tb.Text = "79" Or 目前X_tb.Text = "80" Then : 解答位置 = 79 : 公式位置 = 80 : X軸 = "A"
  3054. ElseIf 目前X_tb.Text = "81" Or 目前X_tb.Text = "82" Then : 解答位置 = 81 : 公式位置 = 82 : X軸 = "B"
  3055. ElseIf 目前X_tb.Text = "83" Or 目前X_tb.Text = "84" Then : 解答位置 = 83 : 公式位置 = 84 : X軸 = "C" : End If
  3056. End Sub
  3057. Private Sub 計算1_bt_Click(sender As Object, e As EventArgs) Handles 計算1_bt.Click
  3058. For K As Integer = 1 To 3
  3059. If K = 1 Then : 公式位置 = 80 : 解答位置 = 79 : ElseIf K = 2 Then : 公式位置 = 82 : 解答位置 = 81 : ElseIf K = 3 Then : 公式位置 = 84 : 解答位置 = 83 : End If
  3060. For J As Integer = 0 To 報價明細表4_dgv.Rows.Count - 1
  3061. For G As Integer = 0 To 報價明細表4_dgv.Rows.Count - 1
  3062. 不寫入 = True : 算式1_tb.Text = 報價明細表4_dgv.Rows(G).Cells(公式位置).Value.ToString : 不寫入 = False
  3063. 計算位置() : If X軸 = "A" And 算式1_tb.Text = "" Then : 報價明細表4_dgv.Rows(G).Cells(解答位置).Value = "0" : End If
  3064. If 算式1_tb.Text <> "" Then
  3065. '-----去除等號與備註-------
  3066. If 算式1_tb.Text.StartsWith("=") Then : 算式1_tb.Text = 算式1_tb.Text.Substring(1) : End If
  3067. Dim input As String = 算式1_tb.Text : Dim pattern1 As String = "#.*?#" : Dim regex1 As New Regex(pattern1)
  3068. Dim result As String = regex1.Replace(input, String.Empty)
  3069. If result <> "" Then
  3070. Try
  3071. Dim A As String = result : Dim PP(99) As Integer : Dim RR(99) As String : Dim pattern As String = "[A-Z]\[(\d+)\]" ' 匹配字母[數字] 格式
  3072. Dim regex As New Regex(pattern) : Dim matches As MatchCollection = regex.Matches(A) : Dim SD As Integer = 0
  3073. For Each match As Match In matches
  3074. RR(SD) = match.Value(0).ToString()
  3075. Dim value As Integer = Integer.Parse(match.Groups(1).Value) : PP(SD) = value : If PP(SD) = 0 Then : Exit For : End If : SD += 1
  3076. Next
  3077. Dim builder As New System.Text.StringBuilder() : Dim lastIndex As Integer = 0
  3078. For i As Integer = 0 To SD - 1
  3079. Dim match As Match = matches(i) : builder.Append(A.Substring(lastIndex, match.Index - lastIndex)) : Dim XX As Integer
  3080. Select Case RR(i)
  3081. Case "A" : XX = 79 : Case "B" : XX = 81 : Case "C" : XX = 83 : Case Else : Continue For
  3082. End Select
  3083. builder.Append(CDbl(報價明細表4_dgv.Rows(PP(i) - 1).Cells(XX).Value.ToString)) : lastIndex = match.Index + match.Length
  3084. Next
  3085. builder.Append(A.Substring(lastIndex)) : Dim replacedA As String = builder.ToString()
  3086. Console.WriteLine(replacedA) : 不寫入 = True : result = replacedA : 不寫入 = False
  3087. Dim dt As New System.Data.DataTable() : dt.Columns.Add("Result", GetType(Double)) : dt.Rows.Add(dt.Compute(result, ""))
  3088. 結果1_tb.Text = Convert.ToDouble(dt.Rows(0)("Result"))
  3089. 計算位置() : If X軸 = "A" Then : 報價明細表4_dgv.Rows(G).Cells(解答位置).Value = 結果1_tb.Text
  3090. Else : If CDbl(結果1_tb.Text) > 0 Then : 報價明細表4_dgv.Rows(G).Cells(解答位置).Value = 結果1_tb.Text : End If : End If
  3091. Catch ex As Exception : 計算位置() : 計算1()
  3092. MGB(系統語言字典("G000-289-" & 語言) & 系統語言字典("G000-369-" & 語言) & G + 1 & 系統語言字典("G000-370-" & 語言), 1) : Exit Sub : End Try
  3093. End If
  3094. End If
  3095. Next
  3096. Next : 計算1()
  3097. Next : 計算位置()
  3098. End Sub
  3099. Private Sub 計算1()
  3100. If 目前1_tb.Text <> "" Then
  3101. Dim XC As Integer = 目前1_tb.Text
  3102. If XC > 報價明細表4_dgv.Rows.Count - 1 Then : Else : 不寫入 = True : 算式1_tb.Text = 報價明細表4_dgv.Rows(XC).Cells(公式位置).Value.ToString : 不寫入 = False : End If
  3103. Else : 算式1_tb.Text = "" : End If : 目前1_tb.Text = "" : 編輯1_ch.Checked = False : 鎖定1_ch.Checked = False : 結果1_tb.Text = "0"
  3104. For i As Integer = 0 To 報價明細表4_dgv.Rows.Count - 1
  3105. 結果1_tb.Text = CDbl(結果1_tb.Text) + CDbl(報價明細表4_dgv.Rows(i).Cells(解答位置).Value.ToString)
  3106. Next
  3107. 計算2() : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算()
  3108. End Sub
  3109. Private Sub 計算2()
  3110. For i As Integer = 0 To 報價明細表4_dgv.Rows.Count - 1
  3111. For j As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  3112. If 報價明細表4_dgv.Rows(i).Cells("流水號").Value.ToString = 報價明細表_dgv.Rows(j).Cells("流水號").Value.ToString Then
  3113. If X軸 = "A" Then
  3114. 報價明細表_dgv.Rows(j).Cells("實際數量").Value = 報價明細表4_dgv.Rows(i).Cells(表頭(17)).Value.ToString
  3115. ElseIf X軸 = "B" Then
  3116. 報價明細表_dgv.Rows(j).Cells("工資成本單價").Value = 報價明細表4_dgv.Rows(i).Cells(表頭(19)).Value.ToString
  3117. ElseIf X軸 = "C" Then
  3118. 報價明細表_dgv.Rows(j).Cells("材料成本單價").Value = 報價明細表4_dgv.Rows(i).Cells(表頭(21)).Value.ToString
  3119. End If
  3120. 報價明細表_dgv.Rows(j).Cells("UNIT").Value = 報價明細表4_dgv.Rows(i).Cells("UNIT").Value.ToString
  3121. End If
  3122. Next
  3123. Next
  3124. End Sub
  3125. Private Sub 算式1_tb_KeyDown(sender As Object, e As KeyEventArgs) Handles 算式1_tb.KeyDown
  3126. If e.KeyCode = Keys.Enter Then : e.SuppressKeyPress = True : 計算1_bt.PerformClick() : 報價明細表4_dgv.Focus() : 算式1_tb.Text = "" : End If
  3127. If e.KeyCode = Keys.Escape Then : e.SuppressKeyPress = True : 報價明細表4_dgv.Focus() : 重置_bt.PerformClick() : End If
  3128. End Sub
  3129. Private Sub 算式1_tb_Click(sender As Object, e As EventArgs) Handles 算式1_tb.Click
  3130. If 目前1_tb.Text <> "" Then : 鎖定1_ch.Checked = True : End If
  3131. End Sub
  3132. Private Sub 算式1_tb_TextChanged(sender As Object, e As EventArgs) Handles 算式1_tb.TextChanged
  3133. If 不寫入 = False Then : 計算位置()
  3134. If 目前1_tb.Text = "" Then : Else : Dim XC As Integer = 目前1_tb.Text : 報價明細表4_dgv.Rows(XC).Cells(公式位置).Value = 算式1_tb.Text
  3135. If 試算表_dgv.Rows.Count > 0 Then : If X軸 = "A" Then : 算式1_tb.Enabled = False : End If : Else
  3136. If IsNumeric(報價明細表4_dgv.Rows(XC).Cells("ITEM").Value.ToString) Then : 算式1_tb.Enabled = True : Else
  3137. If 鎖定1_ch.Checked = True And 鎖定1_ch.Checked = True Then : Else : 算式1_tb.Enabled = False : End If
  3138. End If
  3139. End If
  3140. End If
  3141. End If
  3142. End Sub
  3143. Private Sub 導入_bt_Click(sender As Object, e As EventArgs) Handles 導入_bt.Click
  3144. If 解答_tb.Text = "" Or 解答_tb.Text = "公式有誤" Then : Else
  3145. 報價明細表4_dgv.Rows(CDbl(位置_tb.Text) - 1).Cells(82).Value = 算式3_tb.Text : 計算1_bt.PerformClick()
  3146. End If
  3147. End Sub
  3148. Private Sub 物料公式存檔_bt_Click(sender As Object, e As EventArgs) Handles 物料公式存檔_bt.Click
  3149. SQL_物料資料庫公式存檔(算式2_tb.Text, 報價明細表4_dgv.Rows(CInt(位置_tb.Text) - 1).Cells("料號原則").Value.ToString)
  3150. SQL_物料規格表係數存檔(BB1_nud.Value, BB2_nud.Value, BB3_nud.Value, 報價明細表4_dgv.Rows(CInt(位置_tb.Text) - 1).Cells(表頭(9)).Value.ToString)
  3151. MGB(系統語言字典("G000-119-" & 語言), 1)
  3152. End Sub
  3153. Private Sub Set_合約試算控制表_查詢()
  3154. Dim ds5 As New DataSet : 試算控制表_dgv.DataSource = Nothing : ds5.Clear()
  3155. 試算控制表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  3156. 試算控制表_dgv.ColumnHeadersHeight = 25 : 試算控制表_dgv.AllowUserToAddRows = False
  3157. SQL_合約試算控制表_查詢()
  3158. da.Fill(ds5) : 試算控制表_dgv.DataSource = ds5.Tables(0) : conn.Close()
  3159. Set_試算明細表()
  3160. End Sub
  3161. Private Sub 試算表_dgv_KeyDown(sender As Object, e As KeyEventArgs) Handles 試算表_dgv.KeyDown
  3162. If e.KeyCode = Keys.Oemplus Then : e.SuppressKeyPress = True : 鎖定_ch.Checked = True : 算式_tb.Focus() : 算式_tb.SelectionStart = 算式_tb.Text.Length : End If
  3163. If e.Control AndAlso e.KeyCode = Keys.S Then : 修改樓層_迴圈_bt.PerformClick() : End If
  3164. End Sub
  3165. Private Sub 試算表_dgv_KeyUp(sender As Object, e As KeyEventArgs) Handles 試算表_dgv.KeyUp
  3166. If e.KeyCode = Keys.Up OrElse e.KeyCode = Keys.Down OrElse e.KeyCode = Keys.Left OrElse e.KeyCode = Keys.Right Then
  3167. e.SuppressKeyPress = True : Me.BeginInvoke(Sub() 處理DGV選中改變1())
  3168. End If
  3169. End Sub
  3170. Private Sub 試算表_dgv_dgv_KeyDown(sender As Object, e As KeyEventArgs) Handles 試算表_dgv.KeyDown
  3171. If e.KeyCode = Keys.Oemplus Then : 鎖定_ch.Checked = True : 算式_tb.Focus() : 算式_tb.SelectionStart = 算式_tb.Text.Length : End If
  3172. If e.Control AndAlso e.KeyCode = Keys.S Then : 修改樓層_迴圈_bt.PerformClick() : End If
  3173. End Sub
  3174. Private Sub 試算表_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 試算表_dgv.MouseUp
  3175. 處理DGV選中改變1()
  3176. End Sub
  3177. Private Sub 算式_tb_KeyDown(sender As Object, e As KeyEventArgs) Handles 算式_tb.KeyDown
  3178. If e.KeyCode = Keys.Enter Then : 計算_bt.PerformClick() : 試算表_dgv.Focus() : 算式_tb.Text = "" : End If
  3179. If e.KeyCode = Keys.Escape Then : e.SuppressKeyPress = True : 試算表_dgv.Focus() : 重置_bt.PerformClick() : End If
  3180. End Sub
  3181. Private Sub 式算表編輯()
  3182. 式算明細表_P.Location = New System.Drawing.Point((Me.Size.Width - 式算明細表_P.Size.Width) / 2, (Me.Size.Height - 式算明細表_P.Size.Height) / 2) : 式算明細表_P.Visible = True
  3183. 式算明細表_P.BringToFront()
  3184. End Sub
  3185. Private Sub 物料工資計算編輯()
  3186. 物料工資計算式_P.Location = New System.Drawing.Point((Me.Size.Width - 物料工資計算式_P.Size.Width) / 2, (Me.Size.Height - 物料工資計算式_P.Size.Height) / 2)
  3187. 物料工資計算式_P.Visible = True : 物料工資計算式_P.BringToFront()
  3188. End Sub
  3189. Private Sub Set_試算明細表()
  3190. Dim DS7, DS8 As New DataSet
  3191. 試算表_dgv.DataSource = Nothing : DS7.Clear()
  3192. 試算表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  3193. 試算表_dgv.ColumnHeadersHeight = 40 : 試算表_dgv.AllowUserToAddRows = False
  3194. 試算表_存_dgv.DataSource = Nothing : DS8.Clear()
  3195. 試算表_存_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  3196. 試算表_存_dgv.ColumnHeadersHeight = 40 : 試算表_存_dgv.AllowUserToAddRows = False
  3197. If 小間距2_ch.Checked = False And 中間距2_ch.Checked = False And 大間距2_ch.Checked = True Then : 試算表_dgv.RowTemplate.Height = 85
  3198. ElseIf 小間距2_ch.Checked = False And 中間距2_ch.Checked = True And 大間距2_ch.Checked = False Then : 試算表_dgv.RowTemplate.Height = 65
  3199. ElseIf 小間距2_ch.Checked = True And 中間距2_ch.Checked = False And 大間距2_ch.Checked = False Then : 試算表_dgv.RowTemplate.Height = 45 : End If
  3200. SQL_合約試算明細表_查詢1()
  3201. da.Fill(DS7) : 試算表_dgv.DataSource = DS7.Tables(0) : conn.Close() : da.Fill(DS8) : 試算表_存_dgv.DataSource = DS8.Tables(0) : conn.Close()
  3202. For i As Integer = 0 To 試算表_dgv.Rows.Count - 1 : 試算表_dgv.Rows(i).Cells(0).Value = i + 1 : Next
  3203. 試算表_dgv.Columns(0).FillWeight = 30 : 試算表_dgv.Columns(1).FillWeight = 100 : 試算表_dgv.Columns(2).FillWeight = 40
  3204. 試算表_dgv.Columns(3).FillWeight = 150 : 試算表_dgv.Columns(4).Visible = False : 試算表_dgv.Columns(5).Visible = False : 試算表_dgv.Columns("存檔").Visible = False
  3205. 試算表_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  3206. 試算表_dgv.Columns(0).ReadOnly = True : 試算表_dgv.Columns(2).ReadOnly = True : 試算表_dgv.Columns(3).ReadOnly = True
  3207. For i As Integer = 0 To 試算表_dgv.Rows.Count - 1
  3208. If 試算表_dgv.Rows(i).Cells("數量").Value.ToString = "" Then : 試算表_dgv.Rows(i).Cells("數量").Value = "0" : End If
  3209. 試算表_dgv.Rows(i).Cells("數量").Value = Strings.Format(CDbl(試算表_dgv.Rows(i).Cells("數量").Value.ToString), "#,##0.00")
  3210. If 試算表_存_dgv.Rows(i).Cells("數量").Value.ToString = "" Then : 試算表_存_dgv.Rows(i).Cells("數量").Value = "0" : End If
  3211. 試算表_存_dgv.Rows(i).Cells("數量").Value = Strings.Format(CDbl(試算表_存_dgv.Rows(i).Cells("數量").Value.ToString), "#,##0.00")
  3212. 試算表_存_dgv.Rows(i).Cells("存檔").Value = ""
  3213. Next : 計算_bt.PerformClick()
  3214. End Sub
  3215. Private Sub 處理DGV選中改變1()
  3216. If 試算表_dgv.SelectedCells.Count > 0 Then
  3217. Dim 位置 As Integer = 試算表_dgv.SelectedCells(0).RowIndex
  3218. 表頭_tb.Text = 試算表_dgv.Rows(位置).Cells("表頭").Value.ToString
  3219. If 試算表_dgv.SelectedCells(0).ColumnIndex = 1 Then
  3220. DGV編輯模式滑鼠點擊不要將文字全選使用(試算表_dgv, 位置, 1)
  3221. ElseIf 試算表_dgv.SelectedCells(0).ColumnIndex = 2 Or 試算表_dgv.SelectedCells(0).ColumnIndex = 3 Then
  3222. If 鎖定_ch.Checked = True Then
  3223. If 目前_tb.Text <> 位置 Then
  3224. If 試算表_dgv.Rows(位置).Cells(3).Value.ToString.Contains("A[" & CInt(目前_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1)
  3225. Else
  3226. 算式_tb.Text = 檢查前一運算子是否可運算(算式_tb.Text, "A[" & (位置 + 1) & "]")
  3227. If BL10 = True Then : MGB(系統語言字典("G000-288-" & 語言), 1) : End If
  3228. 算式_tb.Focus() : 算式_tb.SelectionStart = 算式_tb.Text.Length
  3229. End If
  3230. End If
  3231. Else
  3232. If 編輯_ch.Checked = True Then
  3233. 計算_bt.PerformClick() : 目前_tb.Text = 位置 : 編輯_ch.Checked = True : 算式_tb.Text = 試算表_dgv.Rows(位置).Cells(3).Value.ToString
  3234. Else
  3235. If 目前_tb.Text = "" Then
  3236. 目前_tb.Text = 位置 : 編輯_ch.Checked = True : 算式_tb.Text = 試算表_dgv.Rows(位置).Cells(3).Value.ToString
  3237. Else
  3238. If 目前_tb.Text <> 位置 Then
  3239. If 試算表_dgv.Rows(位置).Cells(3).Value.ToString.Contains("A[" & CInt(目前_tb.Text) + 1 & "]") Then : MGB(系統語言字典("G000-290-" & 語言), 1)
  3240. Else
  3241. 算式_tb.Text = 檢查前一運算子是否可運算(算式_tb.Text, "A[" & (位置 + 1) & "]")
  3242. If BL10 = True Then : MGB(系統語言字典("G000-288-" & 語言), 1) : End If
  3243. End If
  3244. End If
  3245. End If
  3246. End If
  3247. End If
  3248. End If
  3249. End If
  3250. End Sub
  3251. Private Sub 計算_bt_Click(sender As Object, e As EventArgs) Handles 計算_bt.Click
  3252. For J As Integer = 0 To 試算表_dgv.Rows.Count - 1
  3253. For G As Integer = 0 To 試算表_dgv.Rows.Count - 1
  3254. 不寫入 = True : 算式_tb.Text = 試算表_dgv.Rows(G).Cells(3).Value.ToString : 不寫入 = False
  3255. If 算式_tb.Text <> "" Then
  3256. '-----去除等號與備註-------
  3257. If 算式_tb.Text.StartsWith("=") Then : 算式_tb.Text = 算式_tb.Text.Substring(1) : End If
  3258. Dim input As String = 算式_tb.Text : Dim pattern1 As String = "#.*?#" : Dim regex1 As New Regex(pattern1)
  3259. Dim result As String = regex1.Replace(input, String.Empty)
  3260. Try
  3261. Dim A As String = result ' 或是 "A[0]+A[1]-A[2]+A[3]-A[4]+A[5]-A[6]+A[7]"
  3262. Dim PP(99) As Integer : Dim pattern As String = "A\[(\d+)\]" : Dim regex As New Regex(pattern)
  3263. Dim matches As MatchCollection = regex.Matches(A) : Dim SD As Integer = 0
  3264. For Each match As Match In matches
  3265. Dim value As Integer = Integer.Parse(match.Groups(1).Value) : PP(SD) = value : If PP(SD) = 0 Then : Exit For : End If : SD += 1
  3266. Next
  3267. Dim replacedA As String = A
  3268. For i As Integer = 0 To PP.Length - 1
  3269. If PP(i) = 0 Then : Exit For : End If : replacedA = replacedA.Replace("A[" & PP(i) & "]", CDbl(試算表_dgv.Rows(PP(i) - 1).Cells(2).Value.ToString))
  3270. Next : Console.WriteLine(replacedA) : 不寫入 = True : result = replacedA : 不寫入 = False
  3271. Dim dt As New System.Data.DataTable()
  3272. dt.Columns.Add("Result", GetType(Double))
  3273. dt.Rows.Add(dt.Compute(result, ""))
  3274. 結果_tb.Text = Convert.ToDouble(dt.Rows(0)("Result")) : 試算表_dgv.Rows(G).Cells(2).Value = Strings.Format(CDbl(結果_tb.Text), "#,##0.00")
  3275. Catch ex As Exception : MGB(系統語言字典("G000-289-" & 語言), 1) : End Try
  3276. End If
  3277. Next
  3278. Next
  3279. If 目前_tb.Text <> "" Then
  3280. Dim XC As Integer = 目前_tb.Text
  3281. If XC > 試算表_dgv.Rows.Count - 1 Then : Else : 不寫入 = True : 算式_tb.Text = 試算表_dgv.Rows(XC).Cells(3).Value.ToString : 不寫入 = False : End If
  3282. Else : 算式_tb.Text = "" : End If : 目前_tb.Text = "" : 編輯_ch.Checked = False : 鎖定_ch.Checked = False : 結果_tb.Text = "0"
  3283. For i As Integer = 0 To 試算表_dgv.Rows.Count - 1
  3284. 結果_tb.Text = CDbl(結果_tb.Text) + CDbl(試算表_dgv.Rows(i).Cells(2).Value.ToString)
  3285. Next : If 結果_tb.Text = "" Then : Else : 結果_tb.Text = Strings.Format(CDbl(結果_tb.Text), "#,##0.00") : End If
  3286. For i As Integer = 0 To 報價明細表4_dgv.Rows.Count - 1
  3287. If 試算表_cb.Text <> "" And 試算表_cb.Text = 報價明細表4_dgv.Rows(i).Cells("流水號").Value.ToString Then
  3288. If 試算表_dgv.Rows.Count > 0 Then
  3289. 報價明細表_dgv.Rows(i).Cells("實際數量").Value = 結果_tb.Text : 報價明細表4_dgv.Rows(i).Cells("實際數量").Value = 結果_tb.Text
  3290. 報價明細表4_dgv.Rows(i).Cells(表頭(17)).Value = 結果_tb.Text
  3291. End If
  3292. End If
  3293. Next : 報價明細表_dgv_自動計算() : 報價總表_dgv_自動計算()
  3294. End Sub
  3295. Private Sub 算式_tb_Click(sender As Object, e As EventArgs) Handles 算式_tb.Click
  3296. If 目前_tb.Text <> "" Then : 鎖定_ch.Checked = True : End If
  3297. End Sub
  3298. Private Sub 算式_tb_TextChanged(sender As Object, e As EventArgs) Handles 算式_tb.TextChanged
  3299. If 不寫入 = False Then : If 目前_tb.Text = "" Then : Else : Dim XC As Integer = 目前_tb.Text : 試算表_dgv.Rows(XC).Cells(3).Value = 算式_tb.Text : End If : End If
  3300. End Sub
  3301. Private Sub 樓層_迴路_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 樓層_迴路_cb.SelectedIndexChanged
  3302. PA = 合約編號_tb.Text : PA2 = 表號_tb.Text : PA4 = 樓層_迴路_cb.Text : SQL_合約試算控制表重複查詢() : If dr.Read() Then : 表頭_tb.Text = dr("表頭") : End If
  3303. End Sub
  3304. Private Sub 表號_tb_TextChanged(sender As Object, e As EventArgs) Handles 表號_tb.TextChanged
  3305. PA = 合約編號_tb.Text : PA2 = 表號_tb.Text : Set_合約試算控制表_查詢()
  3306. End Sub
  3307. Private Sub 新增試算表_bt_Click(sender As Object, e As EventArgs) Handles 新增試算表_bt.Click
  3308. If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else
  3309. PA = 合約編號_tb.Text : PA3 = 試算表_cb.Text : SQL_合約試算分表重複查詢()
  3310. If dr.Read() Then : Else
  3311. '------生成表號---------------------------------------------------------------------------------------
  3312. Dim 表號 As String : PA = 合約編號_tb.Text
  3313. conn.Close() : SQL_合約試算分表_最後一筆資料()
  3314. If dr.Read() Then : 表號 = dr("表號").ToString : Else : 表號 = "B00" : End If : conn.Close()
  3315. Dim NUM1 As Integer
  3316. NUM1 = Double.Parse(Strings.Right(表號, 2)) + 1
  3317. If NUM1 < 10 Then : 表號 = "B" & "0" & NUM1
  3318. ElseIf NUM1 > 9 And NUM1 < 100 Then : 表號 = "B" & NUM1 : End If
  3319. '------新增試算表---------------------------------------------------------------------------------------
  3320. 表號_tb.Text = 表號 : PA1 = 試算表_cb.Text : PA2 = 表號_tb.Text : SQL_合約試算分表_新增()
  3321. '------重新載入下拉清單---------------------------------------------------------------------------------------
  3322. 合約試算分下拉清單()
  3323. End If : conn.Close()
  3324. End If
  3325. End Sub
  3326. Private Sub 新增物件_bt_Click(sender As Object, e As EventArgs) Handles 新增物件_bt.Click
  3327. If 試算控制表_dgv.Rows.Count = 40 Then : MGB(系統語言字典("H102-141-" & 語言), 1) : Else
  3328. If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else
  3329. If 試算表_cb.Text = "" Then : MGB(系統語言字典("G000-268-" & 語言), 1) : Else
  3330. INB("請輸入 [樓層/迴路] 的資料!!") : 樓層_迴路_cb.Text = 訊息回應
  3331. PA = 合約編號_tb.Text : PA2 = 表號_tb.Text : PA4 = 樓層_迴路_cb.Text : SQL_合約試算控制表重複查詢()
  3332. If dr.Read() Then : MGB(系統語言字典("H102-140-" & 語言), 1) : Else
  3333. '------生成表號---------------------------------------------------------------------------------------
  3334. Dim 表頭 As String : PA = 合約編號_tb.Text : PA2 = 表號_tb.Text
  3335. conn.Close() : SQL_合約試算控制表_最後一筆資料()
  3336. If dr.Read() Then : 表頭 = dr("表頭").ToString : Else : 表頭 = "A00" : End If : conn.Close()
  3337. Dim NUM1 As Integer
  3338. NUM1 = Double.Parse(Strings.Right(表頭, 2)) + 1
  3339. If NUM1 < 10 Then : 表頭 = "A" & "0" & NUM1
  3340. ElseIf NUM1 > 9 And NUM1 < 100 Then : 表頭 = "A" & NUM1 : End If
  3341. '------新增試算表---------------------------------------------------------------------------------------
  3342. 表頭_tb.Text = 表頭 : PA4 = 樓層_迴路_cb.Text : PA2 = 表號_tb.Text : PA5 = 表頭_tb.Text : SQL_合約試算控制表_新增()
  3343. '------重新載入下拉清單---------------------------------------------------------------------------------------
  3344. 合約試算控制下拉清單() : Set_合約試算控制表_查詢() : MGB(系統語言字典("G000-118-" & 語言), 1)
  3345. 算式1_tb.Text = "" : 編輯1_ch.Checked = True : 鎖定1_ch.Checked = True : 計算1_bt.PerformClick() : 算式1_tb.Enabled = False
  3346. End If : conn.Close()
  3347. End If
  3348. End If
  3349. End If
  3350. End Sub
  3351. Private Sub 修改樓層_迴圈()
  3352. If 試算表_dgv.Rows.Count > 0 Then
  3353. For i As Integer = 0 To 試算表_dgv.Rows.Count - 1
  3354. For ii As Integer = 0 To 試算表_存_dgv.Rows.Count - 1
  3355. If 試算表_存_dgv.Rows(i).Cells("數量").Value.ToString <> 試算表_存_dgv.Rows(ii).Cells("數量").Value.ToString Or
  3356. 試算表_存_dgv.Rows(i).Cells("公式").Value.ToString <> 試算表_存_dgv.Rows(ii).Cells("公式").Value.ToString Or
  3357. 試算表_存_dgv.Rows(i).Cells("備註").Value.ToString <> 試算表_存_dgv.Rows(ii).Cells("備註").Value.ToString Then
  3358. 試算表_存_dgv.Rows(i).Cells("存檔").Value = "1" : Exit For
  3359. End If
  3360. Next
  3361. Next
  3362. For i As Integer = 0 To 試算表_dgv.Rows.Count - 1
  3363. If 試算表_存_dgv.Rows(i).Cells("存檔").Value = "1" Then
  3364. If 試算表_dgv.Rows(i).Cells("數量").Value.ToString = "" Then : 試算表_dgv.Rows(i).Cells("數量").Value = "0" : End If
  3365. PA4 = 試算表_dgv.Rows(i).Cells("樓層/迴路").Value.ToString() : PA5 = 試算表_dgv.Rows(i).Cells("表頭").Value.ToString()
  3366. PA6 = 試算表_dgv.Rows(i).Cells("數量").Value.ToString() : PA7 = 試算表_dgv.Rows(i).Cells("公式").Value.ToString()
  3367. PA8 = 試算表_dgv.Rows(i).Cells("備註").Value.ToString()
  3368. PA = 合約編號_tb.Text : PA2 = 表號_tb.Text : SQL_合約試算控制表_樓層迴路修改()
  3369. End If
  3370. Next
  3371. End If
  3372. End Sub
  3373. Private Sub 修改樓層_迴圈_bt_Click(sender As Object, e As EventArgs) Handles 修改樓層_迴圈_bt.Click
  3374. If 試算表_dgv.Rows.Count > 0 Then
  3375. 修改樓層_迴圈() : 合約試算控制下拉清單() : Set_合約試算控制表_查詢() : 報價總表存檔按鈕() : 報價明細表存檔() : 預估利潤存檔() : MGB(系統語言字典("H299-128-" & 語言), 1)
  3376. End If
  3377. End Sub
  3378. Private Sub 刪除1_bt_Click(sender As Object, e As EventArgs) Handles 刪除1_bt.Click
  3379. If 合約編號_tb.Text = "" Or 表頭_tb.Text = "" Or 表號_tb.Text = "" Then : MGB(系統語言字典("G000-152-" & 語言), 1) : Else
  3380. MGB(系統語言字典("H402-121-" & 語言), 2)
  3381. If 訊息回應 = "YES" Then
  3382. PA = 合約編號_tb.Text : PA5 = 表頭_tb.Text : PA2 = 表號_tb.Text
  3383. SQL_合約試算控制表_刪除() : MGB(系統語言字典("H402-122-" & 語言), 1) : Set_試算明細表()
  3384. End If
  3385. End If
  3386. End Sub
  3387. Private Sub 小間距2_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 小間距2_ch.Click
  3388. 小間距2_ch.Checked = True : 中間距2_ch.Checked = False : 大間距2_ch.Checked = False : Set_試算明細表()
  3389. End Sub
  3390. Private Sub 中間距2_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 中間距2_ch.Click
  3391. 小間距2_ch.Checked = False : 中間距2_ch.Checked = True : 大間距2_ch.Checked = False : Set_試算明細表()
  3392. End Sub
  3393. Private Sub 大間距2_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 大間距2_ch.Click
  3394. 小間距2_ch.Checked = False : 中間距2_ch.Checked = False : 大間距2_ch.Checked = True : Set_試算明細表()
  3395. End Sub
  3396. '------------------------------------------------------------------------------------------------------------------------------------------------------------
  3397. '-----------------預估利潤存檔-------------------------------------------------------------------------------------------------------------------------------
  3398. '------------------------------------------------------------------------------------------------------------------------------------------------------------
  3399. Private Sub 預估利潤存檔()
  3400. 'Or 預估利潤_tb.Text = "0" Or 利潤比3_tb.Text = "0 %"
  3401. If 預估利潤_tb.Text = "" Then
  3402. Else
  3403. If 預估工資總成本_tb.Text = "" Then : 預估工資總成本_tb.Text = "0" : End If
  3404. If 預估工資總報價_tb.Text = "" Then : 預估工資總報價_tb.Text = "0" : End If
  3405. If 利潤比1_tb.Text = "" Then : 利潤比1_tb.Text = "0 %" : End If
  3406. If 預估材料總成本_tb.Text = "" Then : 預估材料總成本_tb.Text = "0" : End If
  3407. If 預估材料總報價_tb.Text = "" Then : 預估材料總報價_tb.Text = "0" : End If
  3408. If 利潤比2_tb.Text = "" Then : 利潤比2_tb.Text = "0 %" : End If
  3409. If 總成本_tb.Text = "" Then : 總成本_tb.Text = "0" : End If
  3410. If 總報價_tb.Text = "" Then : 總報價_tb.Text = "0" : End If
  3411. If 利潤比3_tb.Text = "" Then : 利潤比3_tb.Text = "0 %" : End If
  3412. If 利潤比4_tb.Text = "" Then : 利潤比4_tb.Text = "0 %" : End If
  3413. If 預估利潤_tb.Text = "" Then : 預估利潤_tb.Text = "0" : End If
  3414. PA37 = 預估工資總成本_tb.Text : PA38 = 預估工資總報價_tb.Text : PA39 = Replace(Replace(利潤比1_tb.Text, " ", ""), "%", "")
  3415. PA40 = 預估材料總成本_tb.Text : PA41 = 預估材料總報價_tb.Text : PA42 = Replace(Replace(利潤比2_tb.Text, " ", ""), "%", "") : PA47 = 預估利潤_tb.Text
  3416. PA43 = 總成本_tb.Text : PA44 = 總報價_tb.Text : PA45 = Replace(Replace(利潤比3_tb.Text, " ", ""), "%", "") : PA46 = Replace(Replace(利潤比4_tb.Text, " ", ""), "%", "")
  3417. SQL_合約控制表預估利潤存檔()
  3418. End If
  3419. End Sub
  3420. '-----------------------------------------------------------------------------------------------------------------------------------------------------------
  3421. '---------------------其他雜項功能--------------------------------------------------------------------------------------------------------------------------
  3422. '-----------------------------------------------------------------------------------------------------------------------------------------------------------
  3423. Private Sub 不印工資_全選_bt_Click(sender As Object, e As EventArgs) Handles 不印工資_全選_bt.Click
  3424. For I As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 : 報價明細表_dgv.Rows(I).Cells(85).Value = True : Next
  3425. End Sub
  3426. Private Sub 不印工資_取消_bt_Click(sender As Object, e As EventArgs) Handles 不印工資_取消_bt.Click
  3427. For I As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 : 報價明細表_dgv.Rows(I).Cells(85).Value = False : Next
  3428. End Sub
  3429. Private Sub 不印材料_全選_bt_Click(sender As Object, e As EventArgs) Handles 不印材料_全選_bt.Click
  3430. For I As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 : 報價明細表_dgv.Rows(I).Cells(86).Value = True : Next
  3431. End Sub
  3432. Private Sub 不印材料_取消_bt_Click(sender As Object, e As EventArgs) Handles 不印材料_取消_bt.Click
  3433. For I As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 : 報價明細表_dgv.Rows(I).Cells(86).Value = False : Next
  3434. End Sub
  3435. Private Sub TabControl1_Selecting(sender As Object, e As TabControlCancelEventArgs) Handles TabControl1.Selecting
  3436. Dim selectedIndex As Integer = e.TabPageIndex
  3437. Select Case selectedIndex
  3438. Case 0
  3439. If 空間1.Visible = True Then
  3440. A3 = 空間2.Size.Width : B3 = 空間2.Size.Height
  3441. 空間1.Visible = False : 空間2.Location = New System.Drawing.Point(3, 0) : 空間2.Size = New System.Drawing.Point(A3 + 空間1.Size.Width, B3)
  3442. End If : CanceL3_bt.PerformClick()
  3443. Case 1
  3444. If 空間1.Visible = True Then
  3445. A3 = 空間2.Size.Width : B3 = 空間2.Size.Height
  3446. 空間1.Visible = False : 空間2.Location = New System.Drawing.Point(3, 0) : 空間2.Size = New System.Drawing.Point(A3 + 空間1.Size.Width, B3)
  3447. End If : CanceL3_bt.PerformClick()
  3448. Case 2
  3449. 縮放_bt.PerformClick()
  3450. End Select
  3451. End Sub
  3452. Private Sub Set_合約文件圖庫資料庫狀態()
  3453. Dim ds9 As New DataSet : 圖庫清單_dgv.DataSource = Nothing : ds9.Clear()
  3454. 圖庫清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  3455. 圖庫清單_dgv.ColumnHeadersHeight = 25 : 圖庫清單_dgv.AllowUserToAddRows = False
  3456. 表頭(165) = "資料庫" : 表頭(166) = "狀態"
  3457. SQL_工程文件資料庫管理查詢()
  3458. da.Fill(ds9) : 圖庫清單_dgv.DataSource = ds9.Tables(0) : conn.Close()
  3459. 圖庫清單_dgv.Columns(0).FillWeight = 100 : 圖庫清單_dgv.Columns(1).FillWeight = 20
  3460. End Sub
  3461. Private Sub 彙總存檔_bt_Click(sender As Object, e As EventArgs) Handles 彙總存檔_bt.Click
  3462. PA = 合約編號_tb.Text : 預估利潤存檔() : MGB(系統語言字典("G000-119-" & 語言), 1)
  3463. End Sub
  3464. Private Sub ITEM4_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ITEM4_cb.Click
  3465. PPCC = ITEM4_cb.Text : 合約報價單項次選擇.ShowDialog()
  3466. If IsNumeric(PPAA) = True Then : MGB("這裡只能選擇中文數字,不能選擇阿拉伯數字!!", 1) : Else : ITEM4_cb.Text = PPAA : End If : PPAA = PPCC
  3467. End Sub
  3468. Private Sub 物料_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 物料_ch.Click
  3469. 物料_ch.Checked = True : BOM_ch.Checked = False : 合約_ch.Checked = False : 物料_p.Visible = True : BOM_p.Visible = False : 合約_p.Visible = False
  3470. If 切換_ts.Value = True Then : 新式_P.Visible = True : 新式_P.BringToFront() : 主頁_p.BringToFront() : Else : 新式_P.Visible = False : End If
  3471. End Sub
  3472. Private Sub BOM_ch_CheckedChanged(sender As Object, e As EventArgs) Handles BOM_ch.Click
  3473. 物料_ch.Checked = False : BOM_ch.Checked = True : 合約_ch.Checked = False : 物料_p.Visible = False : BOM_p.Visible = True : 合約_p.Visible = False
  3474. End Sub
  3475. Private Sub 合約_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 合約_ch.Click
  3476. 物料_ch.Checked = False : BOM_ch.Checked = False : 合約_ch.Checked = True : 物料_p.Visible = False : BOM_p.Visible = False : 合約_p.Visible = True
  3477. End Sub
  3478. Private Sub 合約編號1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合約編號1_cb.SelectedIndexChanged
  3479. 條件選擇 = 合約編號1_cb.Text : Set_合約清單()
  3480. End Sub
  3481. Private Sub 工程期1_ch_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 工程期1_ch.SelectedIndexChanged
  3482. 條件選擇 = 合約編號1_cb.Text : Set_合約清單()
  3483. End Sub
  3484. Private Sub 規格顯示修改_bt_Click(sender As Object, e As EventArgs) Handles 規格顯示修改_bt.Click
  3485. If 報價明細表_dgv.Columns(43).Visible = False Then : For I As Integer = 43 To 50 : 報價明細表_dgv.Columns(I).Visible = True : Next
  3486. ElseIf 報價明細表_dgv.Columns(43).Visible = True Then : For I As Integer = 43 To 50 : 報價明細表_dgv.Columns(I).Visible = False : Next : End If
  3487. Set_合約報價明細表格式()
  3488. End Sub
  3489. Private Sub 單位1_tb_TextChanged(sender As Object, e As EventArgs) Handles 單位1_tb.Click
  3490. CB選擇清單(單位_cb, 單位1_tb.Text) : 單位1_tb.Text = 單位_cb.Text
  3491. End Sub
  3492. Private Sub 單位_tb_TextChanged(sender As Object, e As EventArgs) Handles 單位_tb.Click
  3493. CB選擇清單(單位_cb, 單位_tb.Text) : 單位_tb.Text = 單位_cb.Text
  3494. End Sub
  3495. Private Sub 合約編號清單_bt_Click(sender As Object, e As EventArgs) Handles 合約編號清單_bt.Click
  3496. If 合約_dgv.Rows.Count > 2999 Then : MGB(系統語言字典("G000-153-" & 語言), 1) : Else
  3497. For I As Integer = 0 To 3000 : PPBB(I) = "" : Next
  3498. For I As Integer = 0 To 合約_dgv.Rows.Count - 1 : PPBB(I) = 合約_dgv(表頭(7), I).Value.ToString : NN1 = I : Next
  3499. 下拉清單_1.ShowDialog()
  3500. For I As Integer = 0 To 合約_dgv.Rows.Count - 1 : If PPAA = 合約_dgv(表頭(7), I).Value.ToString Then : 選取位置 = I : Exit For : End If : Next : 合約讀取()
  3501. End If
  3502. End Sub
  3503. Private Sub 縮放_bt_Click_1(sender As Object, e As EventArgs) Handles 縮放_bt.Click
  3504. If 空間1.Visible = True Then
  3505. A3 = 空間2.Size.Width : B3 = 空間2.Size.Height
  3506. 空間1.Visible = False : 空間2.Location = New System.Drawing.Point(3, 0) : 空間2.Size = New System.Drawing.Point(A3 + 空間1.Size.Width, B3)
  3507. Else
  3508. A3 = 空間2.Size.Width : B3 = 空間2.Size.Height
  3509. 空間1.Visible = True : 空間2.Location = New System.Drawing.Point(空間1.Size.Width, 0) : 空間2.Size = New System.Drawing.Point(A3 - 空間1.Size.Width, B3)
  3510. If 物料_ch.Checked = True Then : 物料_p.Visible = True : BOM_p.Visible = False : 合約_p.Visible = False
  3511. 物料_ch.Checked = True : BOM_ch.Checked = False : 合約_ch.Checked = False : 物料_p.Visible = True : BOM_p.Visible = False : 合約_p.Visible = False
  3512. If 切換_ts.Value = True Then : 新式_P.Visible = True : 新式_P.BringToFront() : 主頁_p.BringToFront() : Else : 新式_P.Visible = False : End If
  3513. ElseIf BOM_ch.Checked = True Then : 物料_p.Visible = False : BOM_p.Visible = True : 合約_p.Visible = False
  3514. 物料_ch.Checked = False : BOM_ch.Checked = True : 合約_ch.Checked = False : 物料_p.Visible = False : BOM_p.Visible = True : 合約_p.Visible = False
  3515. ElseIf 合約_ch.Checked = True Then : 物料_p.Visible = False : BOM_p.Visible = False : 合約_p.Visible = True
  3516. 物料_ch.Checked = False : BOM_ch.Checked = False : 合約_ch.Checked = True : 物料_p.Visible = False : BOM_p.Visible = False : 合約_p.Visible = True
  3517. End If
  3518. End If
  3519. End Sub
  3520. Private Sub 新建_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 新建_ch.Click
  3521. 新建_ch.Checked = True : 改版_ch.Checked = False : 轉移_ch.Checked = False
  3522. 合約編號_n_cb.Text = "" : 合約編號1_n_tb.Text = "" : 合約編號2_n_tb.Text = "" : 合約編號3_n_tb.Text = ""
  3523. 合約編號_n_cb.Enabled = True : 合約編號1_n_tb.Enabled = True : 合約編號2_n_tb.Enabled = True
  3524. If 深色風格 = False Then
  3525. 新建_ch.ForeColor = Color.Red : 改版_ch.ForeColor = Color.Black : 轉移_ch.ForeColor = Color.Black
  3526. Else
  3527. 新建_ch.ForeColor = Color.LightPink : 改版_ch.ForeColor = Color.White : 轉移_ch.ForeColor = Color.White
  3528. End If
  3529. End Sub
  3530. Private Sub 改版_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 改版_ch.Click
  3531. 新建_ch.Checked = False : 改版_ch.Checked = True : 轉移_ch.Checked = False
  3532. 合約編號_o_cb.Text = 合約編號_cb.Text : 合約編號_n_cb.Text = 合約編號_cb.Text : 合約編號1_o_tb.Text = 合約編號1_tb.Text : 合約編號1_n_tb.Text = 合約編號1_tb.Text
  3533. 合約編號2_o_tb.Text = 合約編號2_tb.Text : 合約編號2_n_tb.Text = 合約編號2_tb.Text : 合約編號3_o_tb.Text = 合約編號3_tb.Text : 合約編號3_n_tb.Text = ""
  3534. 合約編號_n_cb.Enabled = False : 合約編號1_n_tb.Enabled = False : 合約編號2_n_tb.Enabled = True
  3535. If 深色風格 = False Then
  3536. 新建_ch.ForeColor = Color.Black : 改版_ch.ForeColor = Color.Red : 轉移_ch.ForeColor = Color.Black
  3537. Else
  3538. 新建_ch.ForeColor = Color.White : 改版_ch.ForeColor = Color.LightPink : 轉移_ch.ForeColor = Color.White
  3539. End If
  3540. End Sub
  3541. Private Sub 轉移_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 轉移_ch.Click
  3542. 新建_ch.Checked = False : 改版_ch.Checked = False : 轉移_ch.Checked = True
  3543. 合約編號_o_cb.Text = 合約編號_cb.Text : 合約編號_n_cb.Text = 合約編號_cb.Text : 合約編號1_o_tb.Text = 合約編號1_tb.Text : 合約編號1_n_tb.Text = 合約編號1_tb.Text
  3544. 合約編號2_o_tb.Text = 合約編號2_tb.Text : 合約編號2_n_tb.Text = 合約編號2_tb.Text : 合約編號3_o_tb.Text = 合約編號3_tb.Text : 合約編號3_n_tb.Text = ""
  3545. 合約編號_n_cb.Enabled = False : 合約編號1_n_tb.Enabled = False : 合約編號2_n_tb.Enabled = True
  3546. If 深色風格 = False Then
  3547. 新建_ch.ForeColor = Color.Black : 改版_ch.ForeColor = Color.Black : 轉移_ch.ForeColor = Color.Red
  3548. Else
  3549. 新建_ch.ForeColor = Color.White : 改版_ch.ForeColor = Color.White : 轉移_ch.ForeColor = Color.LightPink
  3550. End If
  3551. End Sub
  3552. Private Sub 啟用批量出貨_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 啟用批量選擇_ch.Click
  3553. For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1 : 報價明細表_dgv.Rows(i).Cells(表頭(10)).Value = False : Next
  3554. End Sub
  3555. Private Sub 查閱文件_bt_Click(sender As Object, e As EventArgs) Handles 查閱文件_bt.Click
  3556. If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else
  3557. If 簽回檔 = False Then : MGB(系統語言字典("H106-111-" & 語言), 1) : Else
  3558. PA1 = 合約編號_tb.Text : PA2 = "報價" : 文件查閱視窗.ShowDialog()
  3559. End If
  3560. End If
  3561. End Sub
  3562. Private Sub 詳細資料1_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 詳細資料1_ch.Click
  3563. If 詳細資料1_ch.Checked = True Then : 詳細資料1_ch.Checked = True : Else : 詳細資料1_ch.Checked = False : End If : Set_BOM表明細()
  3564. End Sub
  3565. Private Sub 詳細資料_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 詳細資料_ch.Click
  3566. If 詳細資料_ch.Checked = True Then : 詳細資料_ch.Checked = True : Else : 詳細資料_ch.Checked = False : End If : Set_合約報價明細表1()
  3567. End Sub
  3568. Private Sub 詳細資料2_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 詳細資料2_ch.Click
  3569. If 詳細資料2_ch.Checked = True Then : 詳細資料2_ch.Checked = True : Else : 詳細資料2_ch.Checked = False : End If : Set_合約報價明細表()
  3570. End Sub
  3571. Private Sub 縮放1_bt_Click(sender As Object, e As EventArgs) Handles 縮放1_bt.Click
  3572. If 合約_dgv.Visible = True Then
  3573. AA3 = 空間3.Size.Width : BB3 = 空間3.Size.Height : 合約_dgv.Visible = False
  3574. AA5 = 總表空間_P.Size.Width : BB5 = 總表空間_P.Size.Height
  3575. If 不再動作1 = False Then
  3576. 空間3.Location = New System.Drawing.Point(AA1, BB2) : 空間3.Size = New System.Drawing.Point((AA2 - AA1) + AA3, BB3)
  3577. 總表空間_P.Location = New System.Drawing.Point(AA1 + 基本資料_P.Size.Width, BB4) : 總表空間_P.Size = New System.Drawing.Point((AA2 - AA1) + AA5, BB5)
  3578. End If
  3579. Else
  3580. 合約_dgv.Visible = True
  3581. If 不再動作1 = False Then
  3582. 空間3.Location = New System.Drawing.Point(AA2, BB2) : 空間3.Size = New System.Drawing.Point(AA3, BB3)
  3583. 總表空間_P.Location = New System.Drawing.Point(AA2 + 基本資料_P.Size.Width, BB4) : 總表空間_P.Size = New System.Drawing.Point(AA5, BB5)
  3584. End If
  3585. End If
  3586. End Sub
  3587. Private Sub 縮放2_bt_Click(sender As Object, e As EventArgs) Handles 縮放2_bt.Click
  3588. Dim NX, NY As Integer : NX = 合約_dgv.Size.Width : NY = 合約_dgv.Size.Height
  3589. If 合約_dgv.Visible = False Then : 縮放1_bt.PerformClick() : End If
  3590. If 放大 = True Then
  3591. 合約_dgv.Size = New System.Drawing.Point(NX - 400, NY) : 放大 = False
  3592. 合約_dgv.Columns(表頭(8)).Visible = False : 合約_dgv.Columns("審核通過").Visible = False : 合約_dgv.Columns("停止").Visible = False
  3593. Else
  3594. 合約_dgv.Size = New System.Drawing.Point(NX + 400, NY) : 放大 = True
  3595. 合約_dgv.Columns(表頭(8)).Visible = True : 合約_dgv.Columns("審核通過").Visible = True : 合約_dgv.Columns("停止").Visible = True
  3596. End If
  3597. End Sub
  3598. Private Sub 合約作廢_bt_Click(sender As Object, e As EventArgs) Handles 合約作廢_bt.Click
  3599. If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else
  3600. Dim 是否作廢 As Boolean : PA = 合約編號_tb.Text : SQL_合約作廢查詢()
  3601. If dr.Read Then : If dr("作廢") = False Then : 是否作廢 = False : Else : 是否作廢 = True : End If : End If
  3602. If 是否作廢 = False Then : MGB(系統語言字典("H102-144-" & 語言), 2) : Else : MGB(系統語言字典("H102-145-" & 語言), 2) : End If
  3603. If 訊息回應 = "YES" Then : If 是否作廢 = False Then : PA1 = "1" : Else : PA1 = "0" : End If : SQL_合約作廢查詢修改() : Set_合約清單() : End If
  3604. End If
  3605. End Sub
  3606. Private Sub 發送_bt_Click(sender As Object, e As EventArgs) Handles 發送_bt.Click
  3607. If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else
  3608. MGB(系統語言字典("H102-146-" & 語言), 2)
  3609. If 訊息回應 = "YES" Then
  3610. PA37 = 合約種類_cb.Text : PA36 = 合約種類_tb.Text : PA = 合約編號_tb.Text
  3611. PA36 = 客戶名稱_tb.Text : PA35 = 負責人_A_cb.Text : PA34 = 工程地點_tb.Text : PA33 = 客戶地址_tb.Text : PA32 = 工程名稱_中_tb.Text : PA31 = 工程名稱_英_tb.Text
  3612. PA30 = 選擇公司_cb.Text : PA29 = 負責人_B_cb.Text : PA28 = 我司地址_tb.Text : PA27 = NUD3.Value : PA26 = 工程款1_nud.Value : PA25 = 工程款2_nud.Value
  3613. PA24 = 工程款3_nud.Value : PA23 = 工程款4_nud.Value : PA22 = 工程款5_nud.Value : PA21 = 工期_nud.Value : PA20 = 逾期_bt.Text : PA19 = 最高扣款_bt.Text
  3614. PA18 = 逾期_英_bt.Text : PA17 = 最高扣款_英_bt.Text : PA16 = 減價_bt.Text : PA15 = 廠區_中文_tb.Text : PA14 = 頁數_bt.Text : PA12 = 合約種類_cb.Text
  3615. PA13 = Strings.Format(立約日期_dtp.Value, "yyyy/MM/dd") : PA44 = 合約編號2_tb.Text : PA45 = 合約編號3_tb.Text : PA46 = 合約編號1_tb.Text : PA47 = 工程期_ch.Text
  3616. BL1 = False : PA10 = 折讓比例_nud.Value : PA9 = 歸零位數_nud.Value : BL2 = 稅前歸零_ch.Checked : BL3 = 稅後歸零_ch.Checked
  3617. If 美金_ch.Checked = True Then : PA11 = "美金" : ElseIf 台幣_ch.Checked = True Then : PA11 = "台幣"
  3618. ElseIf 人民幣_ch.Checked = True Then : PA11 = "人民幣" : ElseIf 印尼盾_ch.Checked = True Then : PA11 = "印尼盾" : End If
  3619. 匯率() : PA48 = 匯率1 : SQL_合約修改1()
  3620. '---LINE_AUTO 部門主管------------------------------------------------------------------------------------------------------------------------------------------
  3621. If 登入人IP = 測試IP Then : Else
  3622. LIN訊息通知("CC201", "李協叡", 合約編號_tb.Text & " ][ " & 工程名稱_中_tb.Text)
  3623. LIN訊息通知("CC201", "LIN HSING HAO", 合約編號_tb.Text & " ][ " & 工程名稱_中_tb.Text)
  3624. End If
  3625. End If
  3626. End If
  3627. End Sub
  3628. Private Sub 物料圖1_pb_Click(sender As Object, e As EventArgs) Handles 物料圖1_pb.Click
  3629. If IsNothing(物料圖1_pb.Image) = False Then : 圖片傳遞 = 物料圖1_pb.Image : 圖片放大視窗.ShowDialog() : End If
  3630. End Sub
  3631. Private Sub 工資_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 工資_ch.Click
  3632. If 工資_ch.Checked = True Then : 工資_ch.Checked = True : Else : 工資_ch.Checked = False : End If
  3633. If 報價明細表_dgv.Columns(8).Visible = False Then : Else : Set_報價明細表_dgv_利潤表開啟() : End If : Set_合約報價明細表格式()
  3634. End Sub
  3635. Private Sub 材料_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 材料_ch.Click
  3636. If 材料_ch.Checked = True Then : 材料_ch.Checked = True : Else : 材料_ch.Checked = False : End If
  3637. If 報價明細表_dgv.Columns(8).Visible = False Then : Else : Set_報價明細表_dgv_利潤表開啟() : End If : Set_合約報價明細表格式()
  3638. End Sub
  3639. Private Sub 利潤表_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 利潤表_ch.Click
  3640. If 利潤表_ch.Checked = True Then : 利潤表_ch.Checked = True : Set_報價明細表_dgv_利潤表開啟() : Else : End If
  3641. Set_合約報價明細表格式()
  3642. End Sub
  3643. Private Sub 合約改版_bt_Click(sender As Object, e As EventArgs) Handles 合約改版_bt.Click
  3644. If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H102-147-" & 語言), 1) : Else
  3645. Dim SS1, SS2, SS3, SS4, SS5 As String
  3646. If 系統語言 = "繁體中文" Then
  3647. SS1 = "合約報價單改版後將發生下列變化,確認下列問題!!"
  3648. SS2 = "1、系統將依照舊版合約報價內容複製出新的合約報價。"
  3649. SS3 = "2、舊版合約報價將停用關閉,不在後續功能中顯示。"
  3650. SS4 = "3、請購、採購、入庫、出庫、工程等系統中與原編號"
  3651. SS5 = " 相連的資料都將歸檔到新的合約編號中。"
  3652. Else
  3653. SS1 = "Perubahan berikut akan terjadi setelah revisi kutipan kontrak, mohon konfirmasi masalah berikut!!"
  3654. SS2 = "1. Sistem akan menyalin kutipan kontrak baru sesuai dengan isi kutipan kontrak lama."
  3655. SS3 = "2. Versi lama dari kutipan kontrak akan dinonaktifkan dan tidak akan ditampilkan dalam fungsi tindak lanjut."
  3656. SS4 = "3. Data yang terkait dengan nomor asli dalam sistem permintaan, pengadaan, penyimpanan, pengiriman, teknik dan sistem lainnya akan diarsipkan dalam nomor kontrak baru."
  3657. SS5 = ""
  3658. End If
  3659. 通知訊息 = SS1 & vbCrLf & SS2 & vbCrLf & SS3 & vbCrLf & SS4 & vbCrLf & SS5 : 訊息類型 = "2" : 通知視窗.ShowDialog()
  3660. If 訊息回應 = "YES" Then
  3661. If 視窗4_pl.Visible = False Then
  3662. 新建_ch.Checked = False : 改版_ch.Checked = False : 轉移_ch.Checked = False
  3663. 合約編號_n_cb.Text = "" : 合約編號1_n_tb.Text = "" : 合約編號2_n_tb.Text = "" : 合約編號3_n_tb.Text = ""
  3664. 合約編號_n_cb.Enabled = False : 合約編號1_n_tb.Enabled = False : 合約編號2_n_tb.Enabled = False
  3665. 合約編號_o_cb.Text = 合約編號_cb.Text : 合約編號_n_cb.Text = 合約編號_cb.Text : 合約編號1_o_tb.Text = 合約編號1_tb.Text : 合約編號1_n_tb.Text = 合約編號1_tb.Text
  3666. 合約編號2_o_tb.Text = 合約編號2_tb.Text : 合約編號2_n_tb.Text = 合約編號2_tb.Text : 合約編號3_o_tb.Text = 合約編號3_tb.Text : 合約編號3_n_tb.Text = ""
  3667. If 深色風格 = False Then
  3668. 新建_ch.ForeColor = Color.Black : 改版_ch.ForeColor = Color.Black : 轉移_ch.ForeColor = Color.Black
  3669. Else
  3670. 新建_ch.ForeColor = Color.White : 改版_ch.ForeColor = Color.White : 轉移_ch.ForeColor = Color.White
  3671. End If
  3672. 視窗4_pl.Location = New System.Drawing.Point((Me.Size.Width - 視窗4_pl.Size.Width) / 2, (Me.Size.Height - 視窗4_pl.Size.Height) / 2)
  3673. 視窗4_pl.Visible = True : 視窗4_pl.BringToFront()
  3674. Else : 視窗4_pl.Visible = False : End If
  3675. End If
  3676. End If
  3677. End Sub
  3678. Private Sub 複製轉移_bt_Click(sender As Object, e As EventArgs) Handles 複製轉移_bt.Click
  3679. If 新建_ch.Checked = False And 改版_ch.Checked = False And 轉移_ch.Checked = False Then : MGB(系統語言字典("H102-148-" & 語言), 1)
  3680. If 深色風格 = False Then
  3681. 新建_ch.ForeColor = Color.Red : 改版_ch.ForeColor = Color.Red : 轉移_ch.ForeColor = Color.Red
  3682. Else
  3683. 新建_ch.ForeColor = Color.LightPink : 改版_ch.ForeColor = Color.LightPink : 轉移_ch.ForeColor = Color.LightPink
  3684. End If
  3685. Else
  3686. If 合約編號3_n_tb.Text = "" Then : MGB(系統語言字典("H102-149-" & 語言), 1) : Else
  3687. If 合約編號_n_cb.Text = "" Or 合約編號1_n_tb.Text = "" Or 合約編號2_n_tb.Text = "" Or 合約編號3_n_tb.Text = "" Then : MGB(系統語言字典("H102-150-" & 語言), 1) : Else
  3688. Dim 合約編號條件 As Boolean = True
  3689. If 合約編號_n_cb.Text = "" Then : MGB(系統語言字典("G000-202-" & 語言), 1) : 合約編號條件 = False : End If
  3690. If 合約編號1_n_tb.Text = "" Then : MGB(系統語言字典("G000-203-" & 語言), 1) : 合約編號條件 = False : Else
  3691. Dim d As Int32
  3692. For index = 0 To 合約編號1_n_tb.Text.Length - 1
  3693. d = Asc(合約編號1_n_tb.Text(index))
  3694. Dim 可能不行 As Boolean = False
  3695. If (d < 65 Or d > 90) Then : 可能不行 = True : End If 'c變數若在65~90是大寫的英文字母
  3696. If 可能不行 = True Then
  3697. If (d < 97 Or d > 122) Then : 可能不行 = True : Else : 可能不行 = False : End If 'c變數若在97~122是小寫的英文字母
  3698. If 可能不行 = True Then '然後查表, c變數若在48~57, 表示它是數字,
  3699. If (d < 48 Or d > 57) Then : MGB(系統語言字典("G000-204-" & 語言), 1) : 合約編號條件 = False : Exit For : End If
  3700. End If
  3701. End If
  3702. Next
  3703. End If
  3704. If 合約編號2_n_tb.Text = "" Then : MGB(系統語言字典("G000-205-" & 語言), 1) : 合約編號條件 = False : End If
  3705. Dim c As Int32 '然後查表, c變數若在48~57, 表示它是數字,
  3706. For index = 0 To 合約編號2_n_tb.Text.Length - 1
  3707. c = Asc(合約編號2_n_tb.Text(index))
  3708. If c < 48 Or c > 57 Then : MGB(系統語言字典("G000-206-" & 語言), 1) : 合約編號條件 = False : Exit For : Else
  3709. If Len(合約編號2_n_tb.Text) <> 6 Then : MGB(系統語言字典("G000-207-" & 語言), 1) : 合約編號條件 = False : Exit For : End If
  3710. End If
  3711. Next
  3712. If 合約編號3_n_tb.Text = "" Then : MGB(系統語言字典("G000-208-" & 語言), 1) : 合約編號條件 = False
  3713. ElseIf IsNumeric(合約編號3_n_tb.Text) = False Then : MGB(系統語言字典("G000-209-" & 語言), 1) : 合約編號條件 = False : End If
  3714. If 合約編號條件 = False Then : Else
  3715. If 轉移_ch.Checked = True Then
  3716. '-----------這裡是以轉移為前提--------------------------------------------------------------------------------------------------------
  3717. PA = 合約編號_n_cb.Text & "-" & 合約編號1_n_tb.Text & " " & 合約編號2_n_tb.Text & "-" & 合約編號3_n_tb.Text : SQL_合約查詢()
  3718. If dr.Read() Then : MGB(系統語言字典("H102-151-" & 語言), 1) : Else
  3719. PA17 = 合約編號_tb.Text : PA18 = 合約編號_n_cb.Text & "-" & 合約編號1_n_tb.Text & " " & 合約編號2_n_tb.Text & "-" & 合約編號3_n_tb.Text
  3720. PA19 = 合約編號1_n_tb.Text : PA20 = 合約編號2_n_tb.Text : PA21 = 合約編號3_n_tb.Text : PA22 = 合約編號_n_cb.Text
  3721. SQL_合約編號修改() : 視窗4_pl.Visible = False : MGB(系統語言字典("H102-152-" & 語言), 1) : Set_合約清單()
  3722. End If
  3723. Else
  3724. '-----------這裡是以新建為前提--------------------------------------------------------------------------------------------------------
  3725. PA = 合約編號_n_cb.Text & "-" & 合約編號1_n_tb.Text & " " & 合約編號2_n_tb.Text & "-" & 合約編號3_n_tb.Text : SQL_合約查詢()
  3726. If dr.Read() Then : MGB(系統語言字典("H102-153-" & 語言), 1) : Else
  3727. PA1 = 合約編號_n_cb.Text & "-" & 合約編號1_n_tb.Text & " " & 合約編號2_n_tb.Text & "-" & 合約編號3_n_tb.Text
  3728. PA = 合約編號_tb.Text : PA2 = 合約編號_n_cb.Text : PA3 = 合約編號1_n_tb.Text : PA4 = 合約編號2_n_tb.Text : PA5 = 合約編號3_n_tb.Text
  3729. If 改版_ch.Checked = True Then
  3730. BL1 = True : SQL_合約停用() '-----原合約停用---------------------
  3731. SQL_請購單改合約號() '-----請採購、倉儲,合約號變更-------
  3732. SQL_工程系統改合約號() '-----工程合約號變更-----------------
  3733. For i As Integer = 0 To 圖庫清單_dgv.Rows.Count - 1
  3734. 圖片庫 = 圖庫清單_dgv.Rows(i).Cells("資料庫").Value.ToString : SQL_圖庫系統改合約號() '-----圖庫合約號變更-----------------
  3735. Next
  3736. ElseIf 新建_ch.Checked = True Then
  3737. 'BL1 = True : SQL_合約停用()
  3738. End If
  3739. Dim 數量, 位置(20), 總表位置(20) As Integer : Dim 新編號, 連動(20) As String : 數量 = 0
  3740. 新編號 = PA1
  3741. PA = 新編號 : 選擇項1_tb.Text = "" : 複製報價 = True
  3742. '-----取出舊總表連動位置--------------------------------------------------------------------
  3743. For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  3744. If 報價總表_dgv.Rows(i).Cells("明細連動").Value.ToString() <> "" Then
  3745. 總表位置(數量) = i
  3746. For ii As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  3747. If 報價總表_dgv.Rows(i).Cells("明細連動").Value.ToString() = 報價明細表_dgv.Rows(ii).Cells("流水號").Value.ToString() Then
  3748. 位置(數量) = ii : Exit For
  3749. End If
  3750. Next : 數量 += 1
  3751. End If
  3752. Next
  3753. '-----生成新的報價係數----------------------------------------------------------------------
  3754. For i As Integer = 0 To 報價係數_dgv.Rows.Count - 1
  3755. PA2 = 報價係數_dgv("項目", i).Value.ToString : PA3 = 報價係數_dgv("係數", i).Value.ToString : PA4 = 報價係數_dgv("單位", i).Value.ToString
  3756. SQL_合約報價係數資料不重複() : If dr.Read Then : Else : 係數流水號() : SQL_合約報價係數_新增() : End If
  3757. Next : Set_合約報價係數()
  3758. '-----生成新的合約明細----------------------------------------------------------------------
  3759. For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  3760. PA2 = 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString() : PA3 = 報價明細表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString()
  3761. PA4 = 報價明細表_dgv.Rows(i).Cells("UNIT").Value.ToString() : PA5 = 報價明細表_dgv.Rows(i).Cells("QTY").Value.ToString()
  3762. PA6 = 報價明細表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString() : PA7 = 報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString()
  3763. PA8 = 報價明細表_dgv.Rows(i).Cells("REMARKS").Value.ToString()
  3764. PA10 = 報價明細表_dgv.Rows(i).Cells("實際數量").Value.ToString() : PA11 = 報價明細表_dgv.Rows(i).Cells("工資成本單價").Value.ToString()
  3765. PA12 = 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value.ToString() : PA13 = 報價明細表_dgv.Rows(i).Cells("材料成本單價").Value.ToString()
  3766. PA14 = 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value.ToString() : PA15 = 報價明細表_dgv.Rows(i).Cells(表頭(9)).Value.ToString()
  3767. PA16 = 報價明細表_dgv.Rows(i).Cells("材料係數").Value.ToString() : BL = 報價明細表_dgv.Rows(i).Cells("不計").Value
  3768. BL1 = 報價明細表_dgv.Rows(i).Cells("D1").Value : BL2 = 報價明細表_dgv.Rows(i).Cells("D2").Value : BL3 = 報價明細表_dgv.Rows(i).Cells("D3").Value
  3769. BL4 = 報價明細表_dgv.Rows(i).Cells("D4").Value : BL5 = 報價明細表_dgv.Rows(i).Cells("D5").Value : BL6 = 報價明細表_dgv.Rows(i).Cells("D6").Value
  3770. BL7 = 報價明細表_dgv.Rows(i).Cells("D7").Value : BL8 = 報價明細表_dgv.Rows(i).Cells("D8").Value : BL9 = 報價明細表_dgv.Rows(i).Cells("預設").Value
  3771. 明細表新增資料()
  3772. Next : 合約編號_tb.Text = 新編號 : Set_合約報價明細表()
  3773. '-----算出新明細連動編號--------------------------------------------------------------------
  3774. For i As Integer = 0 To 數量
  3775. For ii As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  3776. If ii = 位置(i) Then
  3777. 連動(i) = 報價明細表_dgv.Rows(ii).Cells("流水號").Value.ToString() : Exit For
  3778. End If
  3779. Next
  3780. Next
  3781. '-----生成新的合約總表----------------------------------------------------------------------
  3782. For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  3783. PA = 合約編號_tb.Text
  3784. PA2 = 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString() : PA3 = 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString()
  3785. PA4 = 報價總表_dgv.Rows(i).Cells("UNIT").Value.ToString() : PA5 = 報價總表_dgv.Rows(i).Cells("QTY").Value.ToString()
  3786. PA6 = 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString() : PA7 = 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString()
  3787. PA8 = 報價總表_dgv.Rows(i).Cells("REMARKS").Value.ToString()
  3788. For ii As Integer = 0 To 數量
  3789. If 總表位置(ii) = i Then
  3790. 報價總表_dgv.Rows(i).Cells("明細連動").Value = 連動(ii) : PA10 = 連動(ii) : Exit For
  3791. Else
  3792. PA10 = ""
  3793. End If
  3794. Next
  3795. 合約報價總表_最後一筆資料()
  3796. SQL_合約報價總表_最後一筆排序()
  3797. If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "000" : End If : conn.Close() : NUM1 = Double.Parse(PA1) + 1
  3798. If NUM1 < 10 Then : PA1 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 : ElseIf NUM1 > 99 Then : PA1 = NUM1 : End If
  3799. SQL_合約報價總表_新增資料()
  3800. Next : Set_合約報價總表() : 報價總表_dgv_自動計算()
  3801. '-----生成新的合約控制----------------------------------------------------------------------
  3802. 合約_dgv.Enabled = False : 合約編號2_tb.Enabled = True : 合約編號3_tb.Enabled = True
  3803. If 新建_ch.Checked = True Then : 預設資料1() : End If
  3804. 合約編號_cb.Text = 合約編號_n_cb.Text : 合約編號1_tb.Text = 合約編號1_n_tb.Text : 合約編號2_tb.Text = 合約編號2_n_tb.Text : 合約編號3_tb.Text = 合約編號3_n_tb.Text
  3805. 存檔_tb.PerformClick() : 複製報價 = False
  3806. If 改版_ch.Checked = True Then
  3807. PA = 合約編號_o_cb.Text & "-" & 合約編號1_o_tb.Text & " " & 合約編號2_o_tb.Text & "-" & 合約編號3_o_tb.Text
  3808. SQL_合約控制表讀取()
  3809. If dr.Read Then
  3810. PA1 = dr("報價說明").ToString : PA11 = dr("驗收開始日期").ToString : PA12 = dr("驗收完成日期").ToString
  3811. PA14 = dr("驗收備註").ToString : PA16 = dr("保固地址").ToString : PA18 = dr("結案備註").ToString
  3812. PA19 = dr("工程主管").ToString : PA20 = dr("工地驗收備註").ToString : PA32 = dr("簽回檔圖庫").ToString
  3813. If dr("追加減").ToString = "" Then : PA2 = "0" : Else : PA2 = dr("追加減").ToString : End If
  3814. If dr("結算金額").ToString = "" Then : PA3 = "0" : Else : PA3 = dr("結算金額").ToString : End If
  3815. If dr("已請款").ToString = "" Then : PA4 = "0" : Else : PA4 = dr("已請款").ToString : End If
  3816. If dr("剩餘款").ToString = "" Then : PA5 = "0" : Else : PA5 = dr("剩餘款").ToString : End If
  3817. If dr("預付款").ToString = "" Then : PA6 = "0" : Else : PA6 = dr("預付款").ToString : End If
  3818. If dr("到貨款").ToString = "" Then : PA7 = "0" : Else : PA7 = dr("到貨款").ToString : End If
  3819. If dr("施工款").ToString = "" Then : PA8 = "0" : Else : PA8 = dr("施工款").ToString : End If
  3820. If dr("驗收款").ToString = "" Then : PA9 = "0" : Else : PA9 = dr("驗收款").ToString : End If
  3821. If dr("保留款").ToString = "" Then : PA10 = "0" : Else : PA10 = dr("保留款").ToString : End If
  3822. If dr("保固期限").ToString = "" Then : PA15 = "0" : Else : PA15 = dr("保固期限").ToString : End If
  3823. If dr("預估工資成本").ToString = "" Then : PA21 = "0" : Else : PA21 = dr("預估工資成本").ToString : End If
  3824. If dr("預估工資報價").ToString = "" Then : PA22 = "0" : Else : PA22 = dr("預估工資報價").ToString : End If
  3825. If dr("工資利潤比").ToString = "" Then : PA23 = "0" : Else : PA23 = dr("工資利潤比").ToString : End If
  3826. If dr("預估材料成本").ToString = "" Then : PA24 = "0" : Else : PA24 = dr("預估材料成本").ToString : End If
  3827. If dr("預估材料報價").ToString = "" Then : PA25 = "0" : Else : PA25 = dr("預估材料報價").ToString : End If
  3828. If dr("材料利潤比").ToString = "" Then : PA26 = "0" : Else : PA26 = dr("材料利潤比").ToString : End If
  3829. If dr("總成本").ToString = "" Then : PA27 = "0" : Else : PA27 = dr("總成本").ToString : End If
  3830. If dr("總報價").ToString = "" Then : PA28 = "0" : Else : PA28 = dr("總報價").ToString : End If
  3831. If dr("利潤比1").ToString = "" Then : PA29 = "0" : Else : PA29 = dr("利潤比1").ToString : End If
  3832. If dr("利潤比2").ToString = "" Then : PA30 = "0" : Else : PA30 = dr("利潤比2").ToString : End If
  3833. If dr("預估利潤").ToString = "" Then : PA31 = "0" : Else : PA31 = dr("預估利潤").ToString : End If
  3834. If IsDBNull(dr("驗收結果")) = True Then : PA13 = "False" : Else : PA13 = dr("驗收結果") : End If
  3835. If IsDBNull(dr("合約停止")) = True Then : PA17 = "False" : Else : PA17 = dr("合約停止") : End If
  3836. If IsDBNull(dr("報價簽回")) = True Then : PA33 = "False" : Else : PA33 = dr("報價簽回") : End If
  3837. If IsDBNull(dr("合約簽回")) = True Then : PA34 = "False" : Else : PA34 = dr("合約簽回") : End If
  3838. If IsDBNull(dr("請款簽回")) = True Then : PA35 = "False" : Else : PA35 = dr("請款簽回") : End If
  3839. If IsDBNull(dr("驗收簽回")) = True Then : PA36 = "False" : Else : PA36 = dr("驗收簽回") : End If
  3840. If IsDBNull(dr("保固簽回")) = True Then : PA37 = "False" : Else : PA37 = dr("保固簽回") : End If
  3841. If IsDBNull(dr("報價放行")) = True Then : PA38 = "False" : Else : PA38 = dr("報價放行") : End If
  3842. If IsDBNull(dr("其他文件")) = True Then : PA39 = "False" : Else : PA39 = dr("其他文件") : End If
  3843. End If
  3844. PA = 合約編號_n_cb.Text & "-" & 合約編號1_n_tb.Text & " " & 合約編號2_n_tb.Text & "-" & 合約編號3_n_tb.Text : SQL_合約控制表_改版修正()
  3845. End If
  3846. PA = "" : 視窗4_pl.Visible = False : MGB(系統語言字典("H102-152-" & 語言), 1) : Set_合約清單()
  3847. End If
  3848. End If
  3849. End If
  3850. End If
  3851. End If
  3852. End If
  3853. End Sub
  3854. Private Sub 合約編號2_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合約編號2_cb.SelectedIndexChanged
  3855. SQL6 = "" : Set_合約清單1()
  3856. End Sub
  3857. Private Sub 合約編號2_cb_Click(sender As Object, e As EventArgs) Handles 合約編號2_cb.Click
  3858. CB選擇清單(合約編號2_cb, 合約編號2_cb.Text)
  3859. End Sub
  3860. Private Sub 甲方_cb_Click(sender As Object, e As EventArgs) Handles 甲方_cb.Click
  3861. CB選擇清單(甲方_cb, 甲方_cb.Text)
  3862. End Sub
  3863. Private Sub 查詢1_bt_Click(sender As Object, e As EventArgs) Handles 查詢1_bt.Click
  3864. MGB(系統語言字典("H115-118-" & 語言), 1)
  3865. End Sub
  3866. Private Sub 預估利潤計算_bt_Click(sender As Object, e As EventArgs) Handles 預估利潤計算_bt.Click
  3867. INB(系統語言字典("H102-154-" & 語言)) : PA50 = 訊息回應 : 報價明細表_dgv_自動計算() : 預估利潤存檔() : PA50 = ""
  3868. End Sub
  3869. '----------------------自創視窗滑鼠拖曳功能---------------------------------------------------------------------------------------------------------
  3870. Dim OldX, OldY As Long : Dim drag As Boolean
  3871. Private Sub CanceL2_bt_Click(sender As Object, e As EventArgs) Handles CanceL2_bt.Click
  3872. If 視窗2_pl.Visible = False Then : 視窗2_pl.Visible = True : 視窗2_pl.BringToFront() : Else
  3873. 視窗2_pl.Visible = False : End If
  3874. End Sub
  3875. Private Sub CanceL3_bt_Click(sender As Object, e As EventArgs) Handles CanceL3_bt.Click
  3876. If 視窗3_pl.Visible = False Then : 視窗3_pl.Visible = True : 視窗3_pl.BringToFront() : Else
  3877. 視窗3_pl.Visible = False : End If
  3878. End Sub
  3879. Private Sub CanceL4_bt_Click(sender As Object, e As EventArgs) Handles CanceL4_bt.Click
  3880. If 視窗4_pl.Visible = False Then : 視窗4_pl.Visible = True : 視窗4_pl.BringToFront() : Else
  3881. 視窗4_pl.Visible = False : End If
  3882. End Sub
  3883. Private Sub CanceL5_bt_Click(sender As Object, e As EventArgs) Handles CanceL5_bt.Click
  3884. If 式算明細表_P.Visible = False Then : 式算明細表_P.Visible = True : 式算明細表_P.BringToFront() : Else
  3885. 式算明細表_P.Visible = False : End If
  3886. End Sub
  3887. Private Sub CanceL6_bt_Click(sender As Object, e As EventArgs) Handles CanceL6_bt.Click
  3888. If 物料工資計算式_P.Visible = False Then : 物料工資計算式_P.Visible = True : 物料工資計算式_P.BringToFront() : Else
  3889. 物料工資計算式_P.Visible = False : End If
  3890. End Sub
  3891. Private Sub 視窗2_pl_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗2_pl.MouseDown
  3892. If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If
  3893. End Sub
  3894. Private Sub 視窗2_pl_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗2_pl.MouseMove
  3895. If drag Then : 視窗2_pl.Left = 視窗2_pl.Left + e.X - OldX : 視窗2_pl.Top = 視窗2_pl.Top + e.Y - OldY : End If
  3896. End Sub
  3897. Private Sub 視窗2_pl_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗2_pl.MouseUp
  3898. drag = False
  3899. End Sub
  3900. Private Sub 視窗3_pl_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗3_pl.MouseDown
  3901. If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If
  3902. End Sub
  3903. Private Sub 視窗3_pl_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗3_pl.MouseMove
  3904. If drag Then : 視窗3_pl.Left = 視窗3_pl.Left + e.X - OldX : 視窗3_pl.Top = 視窗3_pl.Top + e.Y - OldY : End If
  3905. End Sub
  3906. Private Sub 視窗3_pl_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗3_pl.MouseUp
  3907. drag = False
  3908. End Sub
  3909. Private Sub 視窗4_pl_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗4_pl.MouseDown
  3910. If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If
  3911. End Sub
  3912. Private Sub 視窗4_pl_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗4_pl.MouseMove
  3913. If drag Then : 視窗4_pl.Left = 視窗4_pl.Left + e.X - OldX : 視窗4_pl.Top = 視窗4_pl.Top + e.Y - OldY : End If
  3914. End Sub
  3915. Private Sub 視窗4_pl_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 視窗4_pl.MouseUp
  3916. drag = False
  3917. End Sub
  3918. Private Sub 式算明細表_P_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 式算明細表_P.MouseDown
  3919. If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If
  3920. End Sub
  3921. Private Sub 式算明細表_P_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 式算明細表_P.MouseMove
  3922. If drag Then : 式算明細表_P.Left = 式算明細表_P.Left + e.X - OldX : 式算明細表_P.Top = 式算明細表_P.Top + e.Y - OldY : End If
  3923. End Sub
  3924. Private Sub 式算明細表_P_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 式算明細表_P.MouseUp
  3925. drag = False
  3926. End Sub
  3927. Private Sub 物料工資計算式_P_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 物料工資計算式_P.MouseDown
  3928. If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If
  3929. End Sub
  3930. Private Sub 物料工資計算式_P_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 物料工資計算式_P.MouseMove
  3931. If drag Then : 物料工資計算式_P.Left = 物料工資計算式_P.Left + e.X - OldX : 物料工資計算式_P.Top = 物料工資計算式_P.Top + e.Y - OldY : End If
  3932. End Sub
  3933. Private Sub 物料工資計算式_P_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 物料工資計算式_P.MouseUp
  3934. drag = False
  3935. End Sub
  3936. Private Sub 物料工資計算式_lb_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 物料工資計算式_lb.MouseDown
  3937. If e.Button = MouseButtons.Left Then : OldX = e.X : OldY = e.Y : drag = True : End If
  3938. End Sub
  3939. Private Sub 物料工資計算式_lb_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 物料工資計算式_lb.MouseMove
  3940. If drag Then : 物料工資計算式_P.Left = 物料工資計算式_P.Left + e.X - OldX : 物料工資計算式_P.Top = 物料工資計算式_P.Top + e.Y - OldY : End If
  3941. End Sub
  3942. Private Sub 物料工資計算式_lb_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 物料工資計算式_lb.MouseUp
  3943. drag = False
  3944. End Sub
  3945. Private Sub 帶上歷史單價1_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 帶上歷史單價1_ch.CheckedChanged
  3946. 帶上歷史單價_ch.Checked = 帶上歷史單價1_ch.Checked
  3947. Dim CCC1 As Boolean = 帶上歷史單價1_ch.Checked
  3948. Dim CCC2 As Boolean = 帶上歷史單價_ch.Checked
  3949. End Sub
  3950. Private Sub 合約編號1_n_tb_TextChanged(sender As Object, e As EventArgs) Handles 合約編號1_n_tb.TextChanged
  3951. 合約編號1_n_tb.Text = 合約編號1_n_tb.Text.ToUpper
  3952. End Sub
  3953. Private Sub 合約編號1_o_tb_TextChanged(sender As Object, e As EventArgs) Handles 合約編號1_o_tb.TextChanged
  3954. 合約編號1_o_tb.Text = 合約編號1_o_tb.Text.ToUpper
  3955. End Sub
  3956. Private Sub 切換_ts_ValueChanged(sender As Object, e As EventArgs) Handles 切換_ts.ValueChanged
  3957. If 切換_ts.Value = True Then : 新式_P.Visible = True : Else : 新式_P.Visible = False : End If
  3958. End Sub
  3959. Private Sub 待送報價_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 待送報價_ch.Click
  3960. 待送報價_ch.Checked = True : 待審報價_ch.Checked = False : 報價放行_ch.Checked = False
  3961. 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = False : Set_合約清單()
  3962. End Sub
  3963. Private Sub 待審報價_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 待審報價_ch.Click
  3964. 待送報價_ch.Checked = False : 待審報價_ch.Checked = True : 報價放行_ch.Checked = False
  3965. 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = False : Set_合約清單()
  3966. End Sub
  3967. Private Sub 報價放行_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 報價放行_ch.Click
  3968. 待送報價_ch.Checked = False : 待審報價_ch.Checked = False : 報價放行_ch.Checked = True
  3969. 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = False : Set_合約清單()
  3970. End Sub
  3971. Private Sub 作廢報價_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 作廢報價_ch.Click
  3972. 待送報價_ch.Checked = False : 待審報價_ch.Checked = False : 報價放行_ch.Checked = False
  3973. 作廢報價_ch.Checked = True : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = False : Set_合約清單()
  3974. End Sub
  3975. Private Sub 報價簽回_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 報價簽回_ch.Click
  3976. 待送報價_ch.Checked = False : 待審報價_ch.Checked = False : 報價放行_ch.Checked = False
  3977. 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = True : 合約簽回_ch.Checked = False : Set_合約清單()
  3978. End Sub
  3979. Private Sub 合約簽回_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 合約簽回_ch.Click
  3980. 待送報價_ch.Checked = False : 待審報價_ch.Checked = False : 報價放行_ch.Checked = False
  3981. 作廢報價_ch.Checked = False : 報價簽回_ch.Checked = False : 合約簽回_ch.Checked = True : Set_合約清單()
  3982. End Sub
  3983. Private Sub 重新讀取_bt_Click(sender As Object, e As EventArgs) Handles 重新讀取_bt.Click
  3984. Set_BOM表控制()
  3985. End Sub
  3986. Private Sub 回首頁_bt_Click(sender As Object, e As EventArgs) Handles 回首頁_bt.Click
  3987. 主頁_p.BringToFront()
  3988. End Sub
  3989. Private Sub 回次頁_bt_Click(sender As Object, e As EventArgs) Handles 回次頁_bt.Click
  3990. If 頁面 = "1" Then : 主頁_p.BringToFront()
  3991. ElseIf 頁面 = "2" Then : 次頁_p.BringToFront()
  3992. Else : 主頁_p.BringToFront() : End If
  3993. End Sub
  3994. '-----------------------------------------------------------------------------------------------------------------------------------------------------------
  3995. '---------------------BOM表讀取-----------------------------------------------------------------------------------------------------------------------------
  3996. '-----------------------------------------------------------------------------------------------------------------------------------------------------------
  3997. Private Sub Set_BOM表控制()
  3998. Dim ds6 As New DataSet : BOM表控制_dgv.DataSource = Nothing : ds6.Clear()
  3999. BOM表控制_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  4000. BOM表控制_dgv.ColumnHeadersHeight = 25 : BOM表控制_dgv.AllowUserToAddRows = False : BOM表控制_dgv.RowTemplate.Height = 45
  4001. Dim 群組碼 As String
  4002. If 群組碼_cb.Text = "%%" Then
  4003. 群組碼 = " WHERE (群組碼 IS NULL) OR (群組碼 LIKE N'%%') "
  4004. Else
  4005. 群組碼 = " WHERE (群組碼 LIKE N'" & 群組碼_cb.Text & "') "
  4006. End If
  4007. SQL_BOM表控制1(群組碼)
  4008. da.Fill(ds6) : BOM表控制_dgv.DataSource = ds6.Tables(0) : conn.Close()
  4009. BOM表控制_dgv.Columns(0).FillWeight = 15 : BOM表控制_dgv.Columns(1).FillWeight = 100 : BOM表控制_dgv.Columns(2).Visible = False
  4010. BOM表控制_dgv.Columns(0).ReadOnly = True : BOM表控制_dgv.Columns(1).ReadOnly = True
  4011. For i As Integer = 0 To BOM表控制_dgv.Rows.Count - 1 : BOM表控制_dgv.Rows(i).Cells("項次").Value = i + 1 : Next
  4012. End Sub
  4013. Private Sub BOM表控制_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles BOM表控制_dgv.CellClick
  4014. If e.RowIndex = -1 Then : Else
  4015. 主項目_tb.Text = BOM表控制_dgv.Rows(e.RowIndex).Cells("項目").Value.ToString : 項目流水_tb.Text = BOM表控制_dgv.Rows(e.RowIndex).Cells("流水號").Value.ToString
  4016. PA = 項目流水_tb.Text : Set_BOM表明細()
  4017. End If
  4018. End Sub
  4019. Private Sub BOM表明細_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles BOM表明細_dgv.CellClick
  4020. If e.RowIndex = -1 Then : Else
  4021. If BOM表明細_dgv.Rows(e.RowIndex).Cells(35).Value = False Then
  4022. BOM表明細_dgv.Rows(e.RowIndex).Cells(35).Value = True
  4023. If 深色風格 = False Then : BOM表明細_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.LightGreen
  4024. Else : BOM表明細_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.DarkGreen : End If
  4025. Else
  4026. BOM表明細_dgv.Rows(e.RowIndex).Cells(35).Value = False
  4027. If 深色風格 = False Then : BOM表明細_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.White
  4028. Else : BOM表明細_dgv.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Black : End If
  4029. End If
  4030. 物料圖1_pb.Image = Nothing
  4031. If BOM表明細_dgv.Rows(e.RowIndex).Cells("料號原則").Value.ToString = "" Then : Else
  4032. PA2 = BOM表明細_dgv.Rows(e.RowIndex).Cells("料號原則").Value.ToString : SQL_物料圖庫_圖檔讀取一()
  4033. While dr.Read() = True
  4034. Dim unused As Byte() = New Byte(-1) {}
  4035. Dim bytes As Byte() = DirectCast(dr.Item("圖檔"), Byte())
  4036. Dim oStream As New MemoryStream(bytes)
  4037. 物料圖1_pb.Image = Bitmap.FromStream(oStream)
  4038. End While : conn.Close() : 物料圖1_pb.SizeMode = 4
  4039. End If
  4040. End If
  4041. End Sub
  4042. Private Sub Set_BOM表明細()
  4043. Dim ds6 As New DataSet
  4044. BOM表明細_dgv.DataSource = Nothing : ds6.Clear()
  4045. BOM表明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  4046. BOM表明細_dgv.ColumnHeadersHeight = 25 : BOM表明細_dgv.AllowUserToAddRows = False : BOM表明細_dgv.RowTemplate.Height = 45
  4047. SQL_BOM表明細1()
  4048. da.Fill(ds6) : BOM表明細_dgv.DataSource = ds6.Tables(0) : conn.Close()
  4049. BOM表明細_dgv.Columns(0).FillWeight = 30 : BOM表明細_dgv.Columns(0).Visible = False : BOM表明細_dgv.Columns(1).FillWeight = 30
  4050. BOM表明細_dgv.Columns(2).FillWeight = 250 : BOM表明細_dgv.Columns(3).FillWeight = 30 : BOM表明細_dgv.Columns(4).FillWeight = 30
  4051. BOM表明細_dgv.Columns(5).Visible = False : BOM表明細_dgv.Columns(6).Visible = False : BOM表明細_dgv.Columns(35).FillWeight = 30
  4052. BOM表明細_dgv.Columns(36).Visible = False
  4053. For i As Integer = 7 To 34 : BOM表明細_dgv.Columns(i).Visible = False : Next
  4054. BOM表明細_dgv.Columns(表頭(5)).DefaultCellStyle.Format = "#,##0"
  4055. BOM表明細_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  4056. BOM表明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  4057. For i As Integer = 0 To 5 : BOM表明細_dgv.Columns(i).ReadOnly = True : Next
  4058. For i As Integer = 3 To 4 : BOM表明細_dgv.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : Next
  4059. For i As Integer = 0 To BOM表明細_dgv.Rows.Count - 1
  4060. BOM表明細_dgv.Rows(i).Cells(35).Value = False : BOM表明細_dgv.Rows(i).Cells(表頭(2)).Value = i + 1
  4061. BOM表明細_dgv.Rows(i).Cells(表頭(5)).Value = BOM表明細_dgv.Rows(i).Cells(36).Value * 計算基數_nud.Value
  4062. If BOM表明細_dgv.Rows(i).Cells(表頭(6)).Value.ToString <> "" Then
  4063. Dim ZA1, ZA2, ZA3, ZA4, ZA5, ZA6, ZA7, ZA8 As String : 物料規格 = ""
  4064. If 詳細資料1_ch.Checked = True Then
  4065. If BOM表明細_dgv.Rows(i).Cells("A1").Value.ToString <> "" Then
  4066. ZA1 = BOM表明細_dgv.Rows(i).Cells("AA1").Value.ToString & "=" & BOM表明細_dgv.Rows(i).Cells("A1").Value.ToString : 物料規格 = ZA1 : End If
  4067. If BOM表明細_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then
  4068. ZA2 = BOM表明細_dgv.Rows(i).Cells("AA2").Value.ToString & "=" & BOM表明細_dgv.Rows(i).Cells("A2").Value
  4069. If 物料規格 = "" Then : 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If
  4070. If BOM表明細_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then
  4071. ZA3 = BOM表明細_dgv.Rows(i).Cells("AA3").Value.ToString & "=" & BOM表明細_dgv.Rows(i).Cells("A3").Value
  4072. If 物料規格 = "" Then : 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If
  4073. If BOM表明細_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then
  4074. ZA4 = BOM表明細_dgv.Rows(i).Cells("AA4").Value.ToString & "=" & BOM表明細_dgv.Rows(i).Cells("A4").Value
  4075. If 物料規格 = "" Then : 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If
  4076. If BOM表明細_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then
  4077. ZA5 = BOM表明細_dgv.Rows(i).Cells("AA5").Value.ToString & "=" & BOM表明細_dgv.Rows(i).Cells("A5").Value
  4078. If 物料規格 = "" Then : 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If
  4079. If BOM表明細_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then
  4080. ZA6 = BOM表明細_dgv.Rows(i).Cells("AA6").Value.ToString & "=" & BOM表明細_dgv.Rows(i).Cells("A6").Value
  4081. If 物料規格 = "" Then : 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If
  4082. If BOM表明細_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then
  4083. ZA7 = BOM表明細_dgv.Rows(i).Cells("AA7").Value.ToString & "=" & BOM表明細_dgv.Rows(i).Cells("A7").Value
  4084. If 物料規格 = "" Then : 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If
  4085. If BOM表明細_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then
  4086. ZA8 = BOM表明細_dgv.Rows(i).Cells("AA8").Value.ToString & "=" & BOM表明細_dgv.Rows(i).Cells("A8").Value
  4087. If 物料規格 = "" Then : 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If
  4088. Else
  4089. If BOM表明細_dgv.Rows(i).Cells("A1").Value.ToString <> "" Then
  4090. ZA1 = BOM表明細_dgv.Rows(i).Cells("A1").Value.ToString : 物料規格 = ZA1 : End If
  4091. If BOM表明細_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then
  4092. ZA2 = BOM表明細_dgv.Rows(i).Cells("A2").Value : If 物料規格 = "" Then : 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If
  4093. If BOM表明細_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then
  4094. ZA3 = BOM表明細_dgv.Rows(i).Cells("A3").Value : If 物料規格 = "" Then : 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If
  4095. If BOM表明細_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then
  4096. ZA4 = BOM表明細_dgv.Rows(i).Cells("A4").Value : If 物料規格 = "" Then : 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If
  4097. If BOM表明細_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then
  4098. ZA5 = BOM表明細_dgv.Rows(i).Cells("A5").Value : If 物料規格 = "" Then : 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If
  4099. If BOM表明細_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then
  4100. ZA6 = BOM表明細_dgv.Rows(i).Cells("A6").Value : If 物料規格 = "" Then : 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If
  4101. If BOM表明細_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then
  4102. ZA7 = BOM表明細_dgv.Rows(i).Cells("A7").Value : If 物料規格 = "" Then : 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If
  4103. If BOM表明細_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then
  4104. ZA8 = BOM表明細_dgv.Rows(i).Cells("A8").Value : If 物料規格 = "" Then : 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If
  4105. End If
  4106. If BOM表明細_dgv.Rows(i).Cells(表頭(6)).Value.ToString <> "" Then
  4107. BOM表明細_dgv.Rows(i).Cells(表頭(3)).Value = BOM表明細_dgv.Rows(i).Cells("品名").Value.ToString & " " & 物料規格
  4108. End If
  4109. End If
  4110. Next
  4111. End Sub
  4112. Private Sub 計算基數_nud_ValueChanged(sender As Object, e As EventArgs) Handles 計算基數_nud.ValueChanged
  4113. For i As Integer = 0 To BOM表明細_dgv.Rows.Count - 1
  4114. BOM表明細_dgv.Rows(i).Cells(表頭(5)).Value = BOM表明細_dgv.Rows(i).Cells(36).Value * 計算基數_nud.Value
  4115. Next
  4116. End Sub
  4117. Private Sub BOM新增到明細表_bt_Click(sender As Object, e As EventArgs) Handles BOM新增到明細表_bt.Click
  4118. If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Exit Sub : Else
  4119. PA = 合約編號_tb.Text
  4120. If 是否帶入主項目_ch.Checked = True Then
  4121. If ITEM4_cb.Text = "" Then : MGB(系統語言字典("H102-134-" & 語言), 1) : Exit Sub : Else
  4122. If 主項目_tb.Text = "" Then : MGB(系統語言字典("H102-135-" & 語言), 1) : Exit Sub : Else
  4123. PA2 = ITEM4_cb.Text : PA3 = 主項目_tb.Text : PA4 = "" : PA5 = "0" : PA6 = "0" : PA7 = "0" : PA8 = "" : PA10 = "" : PA11 = ""
  4124. PA12 = "" : PA14 = "" : PA15 = "" : PA16 = "" : BL = False : BL1 = False : BL2 = False : BL3 = False : BL4 = False : BL5 = False : BL6 = False
  4125. BL7 = False : BL8 = False : BL9 = True
  4126. 合約報價明細表_最後一筆資料()
  4127. If 選擇項1_tb.Text = "" Then : SQL_合約報價明細表_最後一筆排序()
  4128. If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "000" : End If : conn.Close()
  4129. NUM1 = Double.Parse(PA1) + 1
  4130. If NUM1 < 10 Then : PA1 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 : ElseIf NUM1 > 99 Then : PA1 = NUM1 : End If
  4131. Else : PA1 = 選擇項2_tb.Text & "-00" : End If : PB14 = 工資系數_cb.Text : PB15 = 工資單價_cb.Text : SQL_合約報價明細表_新增資料()
  4132. End If
  4133. End If
  4134. End If
  4135. 報價明細表存檔()
  4136. For i As Integer = 0 To BOM表明細_dgv.Rows.Count - 1
  4137. If BOM表明細_dgv.Rows(i).Cells(35).Value = True Then
  4138. PA2 = BOM表明細_dgv.Rows(i).Cells(表頭(2)).Value.ToString : PA3 = BOM表明細_dgv.Rows(i).Cells(表頭(3)).Value.ToString
  4139. PA4 = BOM表明細_dgv.Rows(i).Cells(表頭(4)).Value.ToString : PA5 = BOM表明細_dgv.Rows(i).Cells(表頭(5)).Value.ToString : PA6 = "0" : PA7 = "0" : PA8 = ""
  4140. PA10 = BOM表明細_dgv.Rows(i).Cells(表頭(5)).Value.ToString : PA11 = "" : PA12 = "" : PA14 = "" : PA15 = BOM表明細_dgv.Rows(i).Cells(表頭(6)).Value.ToString
  4141. 合約報價明細表_最後一筆資料()
  4142. If 選擇項1_tb.Text = "" Then
  4143. SQL_合約報價明細表_最後一筆排序()
  4144. If dr.Read() Then : PA1 = dr("排序") : Else : PA1 = "000" : End If : conn.Close()
  4145. NUM1 = Double.Parse(PA1) + 1
  4146. If NUM1 < 10 Then : PA1 = "00" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : PA1 = "0" & NUM1 : ElseIf NUM1 > 99 Then : PA1 = NUM1 : End If
  4147. Else
  4148. If CInt(BOM表明細_dgv.Rows(i).Cells(表頭(2)).Value.ToString) < 10 Then
  4149. PA1 = 選擇項2_tb.Text & "-0" & BOM表明細_dgv.Rows(i).Cells(表頭(2)).Value.ToString
  4150. ElseIf CInt(BOM表明細_dgv.Rows(i).Cells(表頭(2)).Value.ToString) > 9 Then
  4151. PA1 = 選擇項2_tb.Text & "-" & BOM表明細_dgv.Rows(i).Cells(表頭(2)).Value.ToString
  4152. End If
  4153. End If : PB14 = 工資系數_cb.Text : PB15 = 工資單價_cb.Text : SQL_合約報價明細表_新增資料()
  4154. End If
  4155. Next : Set_合約報價明細表() : 重新排序() : 報價明細表存檔()
  4156. End If
  4157. End Sub
  4158. '-----------------------------------------------------------------------------------------------------------------------------------------------------------
  4159. '---------------------物料資料庫----------------------------------------------------------------------------------------------------------------------------
  4160. '-----------------------------------------------------------------------------------------------------------------------------------------------------------
  4161. Private Sub 物料規格_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 物料規格_dgv.CellClick
  4162. If e.RowIndex = -1 Then : Else
  4163. 料號_tb.Text = 物料規格_dgv.Rows(e.RowIndex).Cells("Nomor_Bagian").Value.ToString
  4164. PA47 = 料號_tb.Text : SQL_採購單價查詢()
  4165. If dr.Read Then : 最後採購日_tb.Text = Strings.Left(dr("採購日"), 4) & "/" & Strings.Mid(dr("採購日"), 5, 2) & "/" & Strings.Right(dr("採購日"), 2)
  4166. 歷史單價_tb.Text = Strings.Format(CInt(dr("單價").ToString), "#,##0") : Else : 最後採購日_tb.Text = "" : 歷史單價_tb.Text = "0"
  4167. End If
  4168. End If
  4169. End Sub
  4170. Private Sub 物料規格1_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 物料規格1_dgv.CellClick
  4171. If e.RowIndex = -1 Then : Else
  4172. 料號_tb.Text = 物料規格1_dgv.Rows(e.RowIndex).Cells("Nomor_Bagian").Value.ToString
  4173. PA47 = 料號_tb.Text : SQL_採購單價查詢()
  4174. If dr.Read Then
  4175. 最後採購日_tb.Text = Strings.Left(dr("採購日"), 4) & "/" & Strings.Mid(dr("採購日"), 5, 2) & "/" & Strings.Right(dr("採購日"), 2)
  4176. 歷史單價_tb.Text = Strings.Format(CInt(dr("單價").ToString), "#,##0")
  4177. 最後採購日1_tb.Text = Strings.Left(dr("採購日"), 4) & "/" & Strings.Mid(dr("採購日"), 5, 2) & "/" & Strings.Right(dr("採購日"), 2)
  4178. 歷史單價1_tb.Text = Strings.Format(CInt(dr("單價").ToString), "#,##0")
  4179. Else
  4180. 最後採購日_tb.Text = "" : 歷史單價_tb.Text = "0" : 最後採購日1_tb.Text = "" : 歷史單價1_tb.Text = "0"
  4181. End If
  4182. End If
  4183. End Sub
  4184. Private Sub Set_DGV1載入前設定()
  4185. 物料清單_dgv.DataSource = Nothing : ds4.Clear()
  4186. 物料清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  4187. 物料清單_dgv.ColumnHeadersHeight = 25 : 物料清單_dgv.AllowUserToAddRows = False
  4188. If 小間距_ch.Checked = False And 中間距_ch.Checked = False And 大間距_ch.Checked = True Then : 物料清單_dgv.RowTemplate.Height = 65
  4189. ElseIf 小間距_ch.Checked = False And 中間距_ch.Checked = True And 大間距_ch.Checked = False Then : 物料清單_dgv.RowTemplate.Height = 45
  4190. ElseIf 小間距_ch.Checked = True And 中間距_ch.Checked = False And 大間距_ch.Checked = False Then : 物料清單_dgv.RowTemplate.Height = 25 : End If : ConnOpen()
  4191. End Sub
  4192. Private Sub Set_清單1_1()
  4193. Dim ds4 As New DataSet : 物料清單1_dgv.DataSource = Nothing : ds4.Clear()
  4194. 物料清單1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  4195. 物料清單1_dgv.ColumnHeadersHeight = 25 : 物料清單1_dgv.AllowUserToAddRows = False : 物料清單1_dgv.RowTemplate.Height = 45
  4196. ConnOpen() : SQL_建築物料請購單申請_物料清單一() : CmdSet_For_DGV()
  4197. da.Fill(ds4) : 物料清單1_dgv.DataSource = ds4.Tables(0) : conn.Close()
  4198. 物料清單1_dgv.Columns(0).FillWeight = 20 : 物料清單1_dgv.Columns(1).Visible = False : 物料清單1_dgv.Columns(2).FillWeight = 175
  4199. 物料清單1_dgv.Columns(4).Visible = False : 物料清單1_dgv.Columns(5).FillWeight = 45 : 物料清單1_dgv.Columns(3).Visible = False
  4200. 物料清單1_dgv.Columns(0).ReadOnly = True : 物料清單1_dgv.Columns(1).ReadOnly = True : 物料清單1_dgv.Columns(2).ReadOnly = True
  4201. For i As Integer = 0 To 物料清單1_dgv.Rows.Count - 1
  4202. 物料清單1_dgv(0, i).Value = i + 1
  4203. Next
  4204. If 低網速模式 = False Then
  4205. 物料清單1_dgv.Columns(6).FillWeight = 50 : 物料清單1_dgv.Columns(6).Visible = True
  4206. Dim mycol As DataGridViewImageColumn = 物料清單1_dgv.Columns("圖檔") : mycol.ImageLayout = DataGridViewImageCellLayout.Zoom
  4207. Else : If 物料清單1_dgv.Columns.Count = 7 Then : 物料清單1_dgv.Columns(6).Visible = False : End If : End If
  4208. End Sub
  4209. Private Sub Set_DG1載入後設定()
  4210. CmdSet_For_DGV() : da.Fill(ds4) : 物料清單_dgv.DataSource = ds4.Tables(0) : conn.Close()
  4211. 物料清單_dgv.Columns(0).Visible = False : 物料清單_dgv.Columns(1).FillWeight = 80 : 物料清單_dgv.Columns(2).FillWeight = 175 : 物料清單_dgv.Columns(3).Visible = False
  4212. 物料清單_dgv.Columns(4).Visible = False : 物料清單_dgv.Columns(5).FillWeight = 45
  4213. 物料清單_dgv.Columns(0).ReadOnly = True : 物料清單_dgv.Columns(1).ReadOnly = True : 物料清單_dgv.Columns(2).ReadOnly = True
  4214. For i As Integer = 0 To 物料清單_dgv.Rows.Count - 1 : 物料清單_dgv(0, i).Value = i + 1 : Next
  4215. If 低網速模式 = False Then
  4216. 物料清單_dgv.Columns(6).FillWeight = 50 : 物料清單_dgv.Columns(6).Visible = True
  4217. Dim mycol As DataGridViewImageColumn = 物料清單_dgv.Columns("圖檔") : mycol.ImageLayout = DataGridViewImageCellLayout.Zoom
  4218. Else : If 物料清單_dgv.Columns.Count = 7 Then : 物料清單_dgv.Columns(6).Visible = False : End If : End If
  4219. End Sub
  4220. Private Sub Set_清單1()
  4221. PA1 = 群組碼_tb.Text : Set_DGV1載入前設定() : SQL_合約試算分表_物料清單一() : Set_DG1載入後設定()
  4222. End Sub
  4223. Private Sub 搜尋_bt_Click(sender As Object, e As EventArgs) Handles 搜尋_bt.Click
  4224. INB(系統語言字典("H402-123-" & 語言)) : PA = 訊息回應
  4225. If PA = "" Then : Else : Set_DGV1載入前設定() : SQL_建築物料請購單申請_物料清單三() : Set_DG1載入後設定() : End If
  4226. End Sub
  4227. Private Sub 物料清單_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 物料清單_dgv.CellClick
  4228. If e.RowIndex = -1 Then : Else
  4229. PA = 物料清單_dgv(1, e.RowIndex).Value.ToString
  4230. PA1 = 物料清單_dgv.Rows(e.RowIndex).Cells("群組碼").Value : PA2 = 物料清單_dgv.Rows(e.RowIndex).Cells("料號原則").Value
  4231. SQL_物料圖庫_圖檔讀取()
  4232. While dr.Read() = True
  4233. Dim unused As Byte() = New Byte(-1) {}
  4234. Dim bytes As Byte() = DirectCast(dr.Item("圖檔"), Byte())
  4235. Dim oStream As New MemoryStream(bytes)
  4236. 物料圖1_pb.Image = Bitmap.FromStream(oStream)
  4237. End While : conn.Close() : 物料圖1_pb.SizeMode = 4
  4238. SQL_建築物料請購單申請_物料規格讀取()
  4239. If dr.Read() Then : KKK2 = dr("規格庫編號") : PA3 = dr("規格庫抬頭指定") : PA4 = dr("群組碼") : End If : conn.Close()
  4240. SQL_規格庫抬頭讀取()
  4241. If dr.Read() Then : AAA1 = dr("A1") : AAA2 = dr("A2") : AAA3 = dr("A3") : AAA4 = dr("A4") : AAA5 = dr("A5") : AAA6 = dr("A6") : AAA7 = dr("A7") : AAA8 = dr("A8") : End If
  4242. conn.Close()
  4243. Dim ds3 As New DataSet
  4244. 物料規格_dgv.DataSource = Nothing : ds3.Clear()
  4245. 物料規格_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  4246. 物料規格_dgv.ColumnHeadersHeight = 25 : 物料規格_dgv.AllowUserToAddRows = False : 物料規格_dgv.RowTemplate.Height = 20
  4247. If KKK2 = "SQLB03" Then : SQL_物料規格_SQLB03() : ElseIf KKK2 = "SQLB04" Then : SQL_物料規格_SQLB04() : ElseIf KKK2 = "SQLB05" Then : SQL_物料規格_SQLB05()
  4248. ElseIf KKK2 = "SQLB06" Then : SQL_物料規格_SQLB06() : ElseIf KKK2 = "SQLB07" Then : SQL_物料規格_SQLB07() : ElseIf KKK2 = "SQLB08" Then : SQL_物料規格_SQLB08() : End If
  4249. da.Fill(ds3) : 物料規格_dgv.DataSource = ds3.Tables(0) : conn.Close()
  4250. 物料規格_dgv.Columns(0).Visible = False : 物料規格_dgv.Columns(1).Visible = False : 物料規格_dgv.Columns(3).Visible = False
  4251. 物料規格_dgv.Columns(2).Width = 17 : 物料規格_dgv.Columns(12).Visible = False : 物料規格_dgv.Columns(13).Visible = False : 物料規格_dgv.Columns(14).Visible = False
  4252. 物料規格_dgv.Columns(15).Visible = False
  4253. If KKK2 = "SQLB03" Then
  4254. 物料規格_dgv.Columns(7).Visible = False : 物料規格_dgv.Columns(8).Visible = False : 物料規格_dgv.Columns(9).Visible = False : 物料規格_dgv.Columns(10).Visible = False
  4255. 物料規格_dgv.Columns(11).Visible = False
  4256. 物料規格_dgv.Columns(4).FillWeight = 213 : 物料規格_dgv.Columns(5).FillWeight = 213 : 物料規格_dgv.Columns(6).FillWeight = 214
  4257. ElseIf KKK2 = "SQLB04" Then
  4258. 物料規格_dgv.Columns(7).Visible = True : 物料規格_dgv.Columns(8).Visible = False : 物料規格_dgv.Columns(9).Visible = False : 物料規格_dgv.Columns(10).Visible = False
  4259. 物料規格_dgv.Columns(11).Visible = False
  4260. 物料規格_dgv.Columns(4).FillWeight = 160 : 物料規格_dgv.Columns(5).FillWeight = 160 : 物料規格_dgv.Columns(6).FillWeight = 160 : 物料規格_dgv.Columns(7).FillWeight = 160
  4261. ElseIf KKK2 = "SQLB05" Then
  4262. 物料規格_dgv.Columns(7).Visible = True : 物料規格_dgv.Columns(8).Visible = True : 物料規格_dgv.Columns(9).Visible = False : 物料規格_dgv.Columns(10).Visible = False
  4263. 物料規格_dgv.Columns(11).Visible = False
  4264. 物料規格_dgv.Columns(4).FillWeight = 128 : 物料規格_dgv.Columns(5).FillWeight = 128 : 物料規格_dgv.Columns(6).FillWeight = 128 : 物料規格_dgv.Columns(7).FillWeight = 128
  4265. 物料規格_dgv.Columns(8).FillWeight = 128
  4266. ElseIf KKK2 = "SQLB06" Then
  4267. 物料規格_dgv.Columns(7).Visible = True : 物料規格_dgv.Columns(8).Visible = True : 物料規格_dgv.Columns(9).Visible = True : 物料規格_dgv.Columns(10).Visible = False
  4268. 物料規格_dgv.Columns(11).Visible = False
  4269. 物料規格_dgv.Columns(4).FillWeight = 106 : 物料規格_dgv.Columns(5).FillWeight = 107 : 物料規格_dgv.Columns(6).FillWeight = 106 : 物料規格_dgv.Columns(7).FillWeight = 107
  4270. 物料規格_dgv.Columns(8).FillWeight = 106 : 物料規格_dgv.Columns(9).FillWeight = 108
  4271. ElseIf KKK2 = "SQLB07" Then
  4272. 物料規格_dgv.Columns(7).Visible = True : 物料規格_dgv.Columns(8).Visible = True : 物料規格_dgv.Columns(9).Visible = True : 物料規格_dgv.Columns(10).Visible = True
  4273. 物料規格_dgv.Columns(11).Visible = False
  4274. 物料規格_dgv.Columns(4).FillWeight = 91 : 物料規格_dgv.Columns(5).FillWeight = 92 : 物料規格_dgv.Columns(6).FillWeight = 91 : 物料規格_dgv.Columns(7).FillWeight = 92
  4275. 物料規格_dgv.Columns(8).FillWeight = 91 : 物料規格_dgv.Columns(9).FillWeight = 92 : 物料規格_dgv.Columns(10).FillWeight = 91
  4276. ElseIf KKK2 = "SQLB08" Then
  4277. 物料規格_dgv.Columns(7).Visible = True : 物料規格_dgv.Columns(8).Visible = True : 物料規格_dgv.Columns(9).Visible = True : 物料規格_dgv.Columns(10).Visible = True
  4278. 物料規格_dgv.Columns(11).Visible = True
  4279. 物料規格_dgv.Columns(4).FillWeight = 80 : 物料規格_dgv.Columns(5).FillWeight = 80 : 物料規格_dgv.Columns(6).FillWeight = 80 : 物料規格_dgv.Columns(7).FillWeight = 80
  4280. 物料規格_dgv.Columns(8).FillWeight = 80 : 物料規格_dgv.Columns(9).FillWeight = 80 : 物料規格_dgv.Columns(10).FillWeight = 80 : 物料規格_dgv.Columns(11).FillWeight = 80
  4281. End If
  4282. 物料規格_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  4283. For i As Integer = 0 To 11 : 物料規格_dgv.Columns(i).ReadOnly = True : Next
  4284. For i As Integer = 0 To 物料規格_dgv.Rows.Count - 1
  4285. 物料規格_dgv.Rows(i).Cells("No").Value = i + 1 : 物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value = 0
  4286. If Not IsNumeric(物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value) Then : MGB(系統語言字典("G000-180-" & 語言), 1)
  4287. ElseIf Val(物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value) > 0 Then : 物料規格_dgv.Rows(i).Cells("Pilih").Value = True
  4288. ElseIf Val(物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value) <= 0 Then : 物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value = "0"
  4289. 物料規格_dgv.Rows(i).Cells("Pilih").Value = False
  4290. End If
  4291. Next i
  4292. End If
  4293. End Sub
  4294. Private Sub 物料規格_dgv_CellContentCl(sender As Object, e As DataGridViewCellEventArgs) Handles 物料規格_dgv.CellEnter
  4295. For i As Integer = 0 To 物料規格_dgv.Rows.Count - 1
  4296. If Not IsNumeric(物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value) Then : MGB(系統語言字典("G000-180-" & 語言), 1)
  4297. 物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value = "0" : 物料規格_dgv.Rows(i).Cells("Pilih").Value = False
  4298. ElseIf Val(物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value) > 0 Then : 物料規格_dgv.Rows(i).Cells("Pilih").Value = True
  4299. ElseIf Val(物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value) <= 0 Then : 物料規格_dgv.Rows(i).Cells("申請數 Terapkan").Value = "0"
  4300. 物料規格_dgv.Rows(i).Cells("Pilih").Value = False
  4301. End If
  4302. Next i
  4303. End Sub
  4304. Private Sub 物料清單1_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 物料清單1_dgv.CellClick
  4305. If e.RowIndex = -1 Then : Else : PA = 物料清單1_dgv(1, e.RowIndex).Value.ToString
  4306. PA1 = 物料清單1_dgv.Rows(e.RowIndex).Cells("群組碼").Value : PA2 = 物料清單1_dgv.Rows(e.RowIndex).Cells("料號原則").Value
  4307. SQL_物料圖庫_圖檔讀取()
  4308. While dr.Read() = True
  4309. Dim unused As Byte() = New Byte(-1) {}
  4310. Dim bytes As Byte() = DirectCast(dr.Item("圖檔"), Byte())
  4311. Dim oStream As New MemoryStream(bytes)
  4312. 物料圖1_pb.Image = Bitmap.FromStream(oStream)
  4313. End While : conn.Close() : 物料圖1_pb.SizeMode = 4
  4314. SQL_建築物料請購單申請_物料規格讀取()
  4315. If dr.Read() Then : KKK2 = dr("規格庫編號") : PA3 = dr("規格庫抬頭指定") : PA4 = dr("群組碼") : End If : conn.Close()
  4316. SQL_規格庫抬頭讀取()
  4317. If dr.Read() Then : AAA1 = dr("A1") : AAA2 = dr("A2") : AAA3 = dr("A3") : AAA4 = dr("A4") : AAA5 = dr("A5") : AAA6 = dr("A6") : AAA7 = dr("A7") : AAA8 = dr("A8") : End If
  4318. conn.Close()
  4319. Dim ds3 As New DataSet
  4320. 物料規格1_dgv.DataSource = Nothing : ds3.Clear()
  4321. 物料規格1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  4322. 物料規格1_dgv.ColumnHeadersHeight = 25 : 物料規格1_dgv.AllowUserToAddRows = False : 物料規格1_dgv.RowTemplate.Height = 20
  4323. If KKK2 = "SQLB03" Then : SQL_物料規格_SQLB03() : ElseIf KKK2 = "SQLB04" Then : SQL_物料規格_SQLB04() : ElseIf KKK2 = "SQLB05" Then : SQL_物料規格_SQLB05()
  4324. ElseIf KKK2 = "SQLB06" Then : SQL_物料規格_SQLB06() : ElseIf KKK2 = "SQLB07" Then : SQL_物料規格_SQLB07() : ElseIf KKK2 = "SQLB08" Then : SQL_物料規格_SQLB08() : End If
  4325. da.Fill(ds3) : 物料規格1_dgv.DataSource = ds3.Tables(0) : conn.Close()
  4326. 物料規格1_dgv.Columns(0).Visible = False : 物料規格1_dgv.Columns(1).Visible = False : 物料規格1_dgv.Columns(3).Visible = False
  4327. 物料規格1_dgv.Columns(2).Width = 17 : 物料規格1_dgv.Columns(12).Visible = False : 物料規格1_dgv.Columns(13).Visible = False : 物料規格1_dgv.Columns(14).Visible = False
  4328. 物料規格1_dgv.Columns(15).Visible = False
  4329. If KKK2 = "SQLB03" Then
  4330. 物料規格1_dgv.Columns(7).Visible = False : 物料規格1_dgv.Columns(8).Visible = False : 物料規格1_dgv.Columns(9).Visible = False : 物料規格1_dgv.Columns(10).Visible = False
  4331. 物料規格1_dgv.Columns(11).Visible = False
  4332. 物料規格1_dgv.Columns(4).FillWeight = 213 : 物料規格1_dgv.Columns(5).FillWeight = 213 : 物料規格1_dgv.Columns(6).FillWeight = 214
  4333. ElseIf KKK2 = "SQLB04" Then
  4334. 物料規格1_dgv.Columns(7).Visible = True : 物料規格1_dgv.Columns(8).Visible = False : 物料規格1_dgv.Columns(9).Visible = False : 物料規格1_dgv.Columns(10).Visible = False
  4335. 物料規格1_dgv.Columns(11).Visible = False
  4336. 物料規格1_dgv.Columns(4).FillWeight = 160 : 物料規格1_dgv.Columns(5).FillWeight = 160 : 物料規格1_dgv.Columns(6).FillWeight = 160 : 物料規格1_dgv.Columns(7).FillWeight = 160
  4337. ElseIf KKK2 = "SQLB05" Then
  4338. 物料規格1_dgv.Columns(7).Visible = True : 物料規格1_dgv.Columns(8).Visible = True : 物料規格1_dgv.Columns(9).Visible = False : 物料規格1_dgv.Columns(10).Visible = False
  4339. 物料規格1_dgv.Columns(11).Visible = False
  4340. 物料規格1_dgv.Columns(4).FillWeight = 128 : 物料規格1_dgv.Columns(5).FillWeight = 128 : 物料規格1_dgv.Columns(6).FillWeight = 128 : 物料規格1_dgv.Columns(7).FillWeight = 128
  4341. 物料規格1_dgv.Columns(8).FillWeight = 128
  4342. ElseIf KKK2 = "SQLB06" Then
  4343. 物料規格1_dgv.Columns(7).Visible = True : 物料規格1_dgv.Columns(8).Visible = True : 物料規格1_dgv.Columns(9).Visible = True : 物料規格1_dgv.Columns(10).Visible = False
  4344. 物料規格1_dgv.Columns(11).Visible = False
  4345. 物料規格1_dgv.Columns(4).FillWeight = 106 : 物料規格1_dgv.Columns(5).FillWeight = 107 : 物料規格1_dgv.Columns(6).FillWeight = 106 : 物料規格1_dgv.Columns(7).FillWeight = 107
  4346. 物料規格1_dgv.Columns(8).FillWeight = 106 : 物料規格1_dgv.Columns(9).FillWeight = 108
  4347. ElseIf KKK2 = "SQLB07" Then
  4348. 物料規格1_dgv.Columns(7).Visible = True : 物料規格1_dgv.Columns(8).Visible = True : 物料規格1_dgv.Columns(9).Visible = True : 物料規格1_dgv.Columns(10).Visible = True
  4349. 物料規格1_dgv.Columns(11).Visible = False
  4350. 物料規格1_dgv.Columns(4).FillWeight = 91 : 物料規格1_dgv.Columns(5).FillWeight = 92 : 物料規格1_dgv.Columns(6).FillWeight = 91 : 物料規格1_dgv.Columns(7).FillWeight = 92
  4351. 物料規格1_dgv.Columns(8).FillWeight = 91 : 物料規格1_dgv.Columns(9).FillWeight = 92 : 物料規格1_dgv.Columns(10).FillWeight = 91
  4352. ElseIf KKK2 = "SQLB08" Then
  4353. 物料規格1_dgv.Columns(7).Visible = True : 物料規格1_dgv.Columns(8).Visible = True : 物料規格1_dgv.Columns(9).Visible = True : 物料規格1_dgv.Columns(10).Visible = True
  4354. 物料規格1_dgv.Columns(11).Visible = True
  4355. 物料規格1_dgv.Columns(4).FillWeight = 80 : 物料規格1_dgv.Columns(5).FillWeight = 80 : 物料規格1_dgv.Columns(6).FillWeight = 80 : 物料規格1_dgv.Columns(7).FillWeight = 80
  4356. 物料規格1_dgv.Columns(8).FillWeight = 80 : 物料規格1_dgv.Columns(9).FillWeight = 80 : 物料規格1_dgv.Columns(10).FillWeight = 80 : 物料規格1_dgv.Columns(11).FillWeight = 80
  4357. End If
  4358. 物料規格1_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  4359. For i As Integer = 0 To 11 : 物料規格1_dgv.Columns(i).ReadOnly = True : Next
  4360. For i As Integer = 0 To 物料規格1_dgv.Rows.Count - 1
  4361. 物料規格1_dgv.Rows(i).Cells("No").Value = i + 1 : 物料規格1_dgv.Rows(i).Cells("申請數 Terapkan").Value = 0
  4362. If Not IsNumeric(物料規格1_dgv.Rows(i).Cells("申請數 Terapkan").Value) Then : MGB(系統語言字典("G000-180-" & 語言), 1)
  4363. ElseIf Val(物料規格1_dgv.Rows(i).Cells("申請數 Terapkan").Value) > 0 Then : 物料規格1_dgv.Rows(i).Cells("Pilih").Value = True
  4364. ElseIf Val(物料規格1_dgv.Rows(i).Cells("申請數 Terapkan").Value) <= 0 Then : 物料規格1_dgv.Rows(i).Cells("申請數 Terapkan").Value = "0"
  4365. 物料規格1_dgv.Rows(i).Cells("Pilih").Value = False
  4366. End If
  4367. Next i
  4368. End If
  4369. End Sub
  4370. Private Sub 小間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 小間距_ch.Click
  4371. 小間距_ch.Checked = True : 中間距_ch.Checked = False : 中間距_ch.Checked = False : Set_清單1()
  4372. End Sub
  4373. Private Sub 中間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 中間距_ch.Click
  4374. 小間距_ch.Checked = False : 中間距_ch.Checked = True : 中間距_ch.Checked = False : Set_清單1()
  4375. End Sub
  4376. Private Sub 大間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 大間距_ch.Click
  4377. 小間距_ch.Checked = False : 中間距_ch.Checked = False : 中間距_ch.Checked = True : Set_清單1()
  4378. End Sub
  4379. Private Sub Set_群組清單()
  4380. Dim ds1 As New DataSet : 群組分類_dgv.DataSource = Nothing : ds1.Clear()
  4381. 群組分類_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  4382. 群組分類_dgv.ColumnHeadersHeight = 25 : 群組分類_dgv.AllowUserToAddRows = False : 群組分類_dgv.RowTemplate.Height = 45
  4383. SQL_物料群組()
  4384. da.Fill(ds1) : 群組分類_dgv.DataSource = ds1.Tables(0) : conn.Close()
  4385. 次項變形()
  4386. End Sub
  4387. Private Sub 次項變形()
  4388. For i As Integer = 1 To 21 : Dim 選擇 As Panel = CType(Me.Controls.Find("AP" & i, True)(0), Panel) : 選擇.Visible = False : Next
  4389. Dim SS As Integer
  4390. If 群組分類_dgv.Rows.Count > 21 Then : SS = 21 : Else : SS = 群組分類_dgv.Rows.Count : End If
  4391. For i As Integer = 1 To SS : Dim 選擇 As Panel = CType(Me.Controls.Find("AP" & i, True)(0), Panel) : 選擇.Visible = True : Next
  4392. Dim 轉檔 As Boolean
  4393. For i As Integer = 0 To 群組分類_dgv.Rows.Count - 1
  4394. Dim 選擇 As PictureBox = CType(Me.Controls.Find("PB_" & i + 1, True)(0), PictureBox)
  4395. If IsDBNull(群組分類_dgv.Rows(i).Cells(2).Value) = True Then : 轉檔 = False : Else : 轉檔 = True : End If
  4396. While 轉檔 = True
  4397. Dim unused As Byte() = New Byte(-1) {}
  4398. Dim bytes As Byte() = DirectCast(群組分類_dgv.Rows(i).Cells(2).Value, Byte())
  4399. Dim oStream As New MemoryStream(bytes)
  4400. 選擇.Image = Bitmap.FromStream(oStream) : 轉檔 = False
  4401. End While : conn.Close() : 選擇.SizeMode = 4
  4402. Dim 選擇1 As System.Windows.Forms.TextBox = CType(Me.Controls.Find("TB_" & i + 1, True)(0), System.Windows.Forms.TextBox)
  4403. 選擇1.Text = 群組分類_dgv.Rows(i).Cells(1).Value.ToString
  4404. '---------未做換頁計算---------------------------------------------
  4405. 群組碼(i + 1) = 群組分類_dgv.Rows(i).Cells(0).Value.ToString
  4406. Next
  4407. End Sub
  4408. Private Sub 管材_bt_Click(sender As Object, e As EventArgs) Handles 管材_bt.Click
  4409. 頁面 = "1" : PA1 = "管材" : Set_群組清單() : 次頁_p.BringToFront()
  4410. End Sub
  4411. Private Sub 電線_bt_Click(sender As Object, e As EventArgs) Handles 電線_bt.Click
  4412. 頁面 = "1" : PA1 = "電線" : Set_群組清單() : 次頁_p.BringToFront()
  4413. End Sub
  4414. Private Sub 電料_bt_Click(sender As Object, e As EventArgs) Handles 電料_bt.Click
  4415. 頁面 = "1" : PA1 = "電料" : Set_群組清單() : 次頁_p.BringToFront()
  4416. End Sub
  4417. Private Sub 槽架_bt_Click(sender As Object, e As EventArgs) Handles 槽架_bt.Click
  4418. 頁面 = "1" : PA1 = "槽架" : Set_群組清單() : 次頁_p.BringToFront()
  4419. End Sub
  4420. Private Sub 建材_bt_Click(sender As Object, e As EventArgs) Handles 建材_bt.Click
  4421. 頁面 = "1" : PA1 = "建材" : Set_群組清單() : 次頁_p.BringToFront()
  4422. End Sub
  4423. Private Sub 五金_bt_Click(sender As Object, e As EventArgs) Handles 五金_bt.Click
  4424. 頁面 = "1" : PA1 = "五金" : Set_群組清單() : 次頁_p.BringToFront()
  4425. End Sub
  4426. Private Sub 設備_bt_Click(sender As Object, e As EventArgs) Handles 設備_bt.Click
  4427. 頁面 = "1" : PA1 = "設備" : Set_群組清單() : 次頁_p.BringToFront()
  4428. End Sub
  4429. Private Sub 工具_bt_Click(sender As Object, e As EventArgs) Handles 工具_bt.Click
  4430. 頁面 = "1" : PA1 = "工具" : Set_群組清單() : 次頁_p.BringToFront()
  4431. End Sub
  4432. Private Sub 日用_bt_Click(sender As Object, e As EventArgs) Handles 日用_bt.Click
  4433. 頁面 = "1" : PA1 = "日用" : Set_群組清單() : 次頁_p.BringToFront()
  4434. End Sub
  4435. Private Sub 其他_bt_Click(sender As Object, e As EventArgs) Handles 其他_bt.Click
  4436. 頁面 = "1" : PA1 = "其他" : Set_群組清單() : 次頁_p.BringToFront()
  4437. End Sub
  4438. Private Sub PB_1_Click(sender As Object, e As EventArgs) Handles PB_1.Click
  4439. 頁面 = "2" : PA1 = 群組碼(1) : Set_清單1_1() : 物料清單_P.BringToFront()
  4440. End Sub
  4441. Private Sub PB_2_Click(sender As Object, e As EventArgs) Handles PB_2.Click
  4442. 頁面 = "2" : PA1 = 群組碼(2) : Set_清單1_1() : 物料清單_P.BringToFront()
  4443. End Sub
  4444. Private Sub PB_3_Click(sender As Object, e As EventArgs) Handles PB_3.Click
  4445. 頁面 = "2" : PA1 = 群組碼(3) : Set_清單1_1() : 物料清單_P.BringToFront()
  4446. End Sub
  4447. Private Sub PB_4_Click(sender As Object, e As EventArgs) Handles PB_4.Click
  4448. 頁面 = "2" : PA1 = 群組碼(4) : Set_清單1_1() : 物料清單_P.BringToFront()
  4449. End Sub
  4450. Private Sub PB_5_Click(sender As Object, e As EventArgs) Handles PB_5.Click
  4451. 頁面 = "2" : PA1 = 群組碼(5) : Set_清單1_1() : 物料清單_P.BringToFront()
  4452. End Sub
  4453. Private Sub PB_6_Click(sender As Object, e As EventArgs) Handles PB_6.Click
  4454. 頁面 = "2" : PA1 = 群組碼(6) : Set_清單1_1() : 物料清單_P.BringToFront()
  4455. End Sub
  4456. Private Sub PB_7_Click(sender As Object, e As EventArgs) Handles PB_7.Click
  4457. 頁面 = "2" : PA1 = 群組碼(7) : Set_清單1_1() : 物料清單_P.BringToFront()
  4458. End Sub
  4459. Private Sub PB_8_Click(sender As Object, e As EventArgs) Handles PB_8.Click
  4460. 頁面 = "2" : PA1 = 群組碼(8) : Set_清單1_1() : 物料清單_P.BringToFront()
  4461. End Sub
  4462. Private Sub PB_9_Click(sender As Object, e As EventArgs) Handles PB_9.Click
  4463. 頁面 = "2" : PA1 = 群組碼(9) : Set_清單1_1() : 物料清單_P.BringToFront()
  4464. End Sub
  4465. Private Sub PB_10_Click(sender As Object, e As EventArgs) Handles PB_10.Click
  4466. 頁面 = "2" : PA1 = 群組碼(10) : Set_清單1_1() : 物料清單_P.BringToFront()
  4467. End Sub
  4468. Private Sub PB_11_Click(sender As Object, e As EventArgs) Handles PB_11.Click
  4469. 頁面 = "2" : PA1 = 群組碼(11) : Set_清單1_1() : 物料清單_P.BringToFront()
  4470. End Sub
  4471. Private Sub PB_12_Click(sender As Object, e As EventArgs) Handles PB_12.Click
  4472. 頁面 = "2" : PA1 = 群組碼(12) : Set_清單1_1() : 物料清單_P.BringToFront()
  4473. End Sub
  4474. Private Sub PB_13_Click(sender As Object, e As EventArgs) Handles PB_13.Click
  4475. 頁面 = "2" : PA1 = 群組碼(13) : Set_清單1_1() : 物料清單_P.BringToFront()
  4476. End Sub
  4477. Private Sub PB_14_Click(sender As Object, e As EventArgs) Handles PB_14.Click
  4478. 頁面 = "2" : PA1 = 群組碼(14) : Set_清單1_1() : 物料清單_P.BringToFront()
  4479. End Sub
  4480. Private Sub PB_15_Click(sender As Object, e As EventArgs) Handles PB_15.Click
  4481. 頁面 = "2" : PA1 = 群組碼(15) : Set_清單1_1() : 物料清單_P.BringToFront()
  4482. End Sub
  4483. Private Sub PB_16_Click(sender As Object, e As EventArgs) Handles PB_16.Click
  4484. 頁面 = "2" : PA1 = 群組碼(16) : Set_清單1_1() : 物料清單_P.BringToFront()
  4485. End Sub
  4486. Private Sub PB_17_Click(sender As Object, e As EventArgs) Handles PB_17.Click
  4487. 頁面 = "2" : PA1 = 群組碼(17) : Set_清單1_1() : 物料清單_P.BringToFront()
  4488. End Sub
  4489. Private Sub PB_18_Click(sender As Object, e As EventArgs) Handles PB_18.Click
  4490. 頁面 = "2" : PA1 = 群組碼(18) : Set_清單1_1() : 物料清單_P.BringToFront()
  4491. End Sub
  4492. Private Sub PB_19_Click(sender As Object, e As EventArgs) Handles PB_19.Click
  4493. 頁面 = "2" : PA1 = 群組碼(19) : Set_清單1_1() : 物料清單_P.BringToFront()
  4494. End Sub
  4495. Private Sub PB_20_Click(sender As Object, e As EventArgs) Handles PB_20.Click
  4496. 頁面 = "2" : PA1 = 群組碼(20) : Set_清單1_1() : 物料清單_P.BringToFront()
  4497. End Sub
  4498. Private Sub PB_21_Click(sender As Object, e As EventArgs) Handles PB_21.Click
  4499. 頁面 = "2" : PA1 = 群組碼(21) : Set_清單1_1() : 物料清單_P.BringToFront()
  4500. End Sub
  4501. Private Sub TB_1_TextChanged(sender As Object, e As EventArgs) Handles TB_1.Click
  4502. 頁面 = "2" : PA1 = 群組碼(1) : Set_清單1_1() : 物料清單_P.BringToFront()
  4503. End Sub
  4504. Private Sub TB_2_TextChanged(sender As Object, e As EventArgs) Handles TB_2.Click
  4505. 頁面 = "2" : PA1 = 群組碼(2) : Set_清單1_1() : 物料清單_P.BringToFront()
  4506. End Sub
  4507. Private Sub TB_3_TextChanged(sender As Object, e As EventArgs) Handles TB_3.Click
  4508. 頁面 = "2" : PA1 = 群組碼(3) : Set_清單1_1() : 物料清單_P.BringToFront()
  4509. End Sub
  4510. Private Sub TB_4_TextChanged(sender As Object, e As EventArgs) Handles TB_4.Click
  4511. 頁面 = "2" : PA1 = 群組碼(4) : Set_清單1_1() : 物料清單_P.BringToFront()
  4512. End Sub
  4513. Private Sub TB_5_TextChanged(sender As Object, e As EventArgs) Handles TB_5.Click
  4514. 頁面 = "2" : PA1 = 群組碼(5) : Set_清單1_1() : 物料清單_P.BringToFront()
  4515. End Sub
  4516. Private Sub TB_6_TextChanged(sender As Object, e As EventArgs) Handles TB_6.Click
  4517. 頁面 = "2" : PA1 = 群組碼(6) : Set_清單1_1() : 物料清單_P.BringToFront()
  4518. End Sub
  4519. Private Sub TB_7_TextChanged(sender As Object, e As EventArgs) Handles TB_7.Click
  4520. 頁面 = "2" : PA1 = 群組碼(7) : Set_清單1_1() : 物料清單_P.BringToFront()
  4521. End Sub
  4522. Private Sub TB_8_TextChanged(sender As Object, e As EventArgs) Handles TB_8.Click
  4523. 頁面 = "2" : PA1 = 群組碼(8) : Set_清單1_1() : 物料清單_P.BringToFront()
  4524. End Sub
  4525. Private Sub TB_9_TextChanged(sender As Object, e As EventArgs) Handles TB_9.Click
  4526. 頁面 = "2" : PA1 = 群組碼(9) : Set_清單1_1() : 物料清單_P.BringToFront()
  4527. End Sub
  4528. Private Sub TB_10_TextChanged(sender As Object, e As EventArgs) Handles TB_10.Click
  4529. 頁面 = "2" : PA1 = 群組碼(10) : Set_清單1_1() : 物料清單_P.BringToFront()
  4530. End Sub
  4531. Private Sub TB_11_TextChanged(sender As Object, e As EventArgs) Handles TB_11.Click
  4532. 頁面 = "2" : PA1 = 群組碼(11) : Set_清單1_1() : 物料清單_P.BringToFront()
  4533. End Sub
  4534. Private Sub TB_12_TextChanged(sender As Object, e As EventArgs) Handles TB_12.Click
  4535. 頁面 = "2" : PA1 = 群組碼(12) : Set_清單1_1() : 物料清單_P.BringToFront()
  4536. End Sub
  4537. Private Sub TB_13_TextChanged(sender As Object, e As EventArgs) Handles TB_13.Click
  4538. 頁面 = "2" : PA1 = 群組碼(13) : Set_清單1_1() : 物料清單_P.BringToFront()
  4539. End Sub
  4540. Private Sub TB_14_TextChanged(sender As Object, e As EventArgs) Handles TB_14.Click
  4541. 頁面 = "2" : PA1 = 群組碼(14) : Set_清單1_1() : 物料清單_P.BringToFront()
  4542. End Sub
  4543. Private Sub TB_15_TextChanged(sender As Object, e As EventArgs) Handles TB_15.Click
  4544. 頁面 = "2" : PA1 = 群組碼(15) : Set_清單1_1() : 物料清單_P.BringToFront()
  4545. End Sub
  4546. Private Sub TB_16_TextChanged(sender As Object, e As EventArgs) Handles TB_16.Click
  4547. 頁面 = "2" : PA1 = 群組碼(16) : Set_清單1_1() : 物料清單_P.BringToFront()
  4548. End Sub
  4549. Private Sub TB_17_TextChanged(sender As Object, e As EventArgs) Handles TB_17.Click
  4550. 頁面 = "2" : PA1 = 群組碼(17) : Set_清單1_1() : 物料清單_P.BringToFront()
  4551. End Sub
  4552. Private Sub TB_18_TextChanged(sender As Object, e As EventArgs) Handles TB_18.Click
  4553. 頁面 = "2" : PA1 = 群組碼(18) : Set_清單1_1() : 物料清單_P.BringToFront()
  4554. End Sub
  4555. Private Sub TB_19_TextChanged(sender As Object, e As EventArgs) Handles TB_19.Click
  4556. 頁面 = "2" : PA1 = 群組碼(19) : Set_清單1_1() : 物料清單_P.BringToFront()
  4557. End Sub
  4558. Private Sub TB_20_TextChanged(sender As Object, e As EventArgs) Handles TB_20.Click
  4559. 頁面 = "2" : PA1 = 群組碼(20) : Set_清單1_1() : 物料清單_P.BringToFront()
  4560. End Sub
  4561. Private Sub TB_21_TextChanged(sender As Object, e As EventArgs) Handles TB_21.Click
  4562. 頁面 = "2" : PA1 = 群組碼(21) : Set_清單1_1() : 物料清單_P.BringToFront()
  4563. End Sub
  4564. Private Sub 回首頁_bt_MouseEnter(sender As Object, e As EventArgs) Handles 回首頁_bt.MouseEnter
  4565. ToolTip1.SetToolTip(Me.回首頁_bt, 系統語言字典("G000-183-" & 語言))
  4566. End Sub
  4567. Private Sub 回次頁_bt_MouseEnter(sender As Object, e As EventArgs) Handles 回次頁_bt.MouseEnter
  4568. ToolTip1.SetToolTip(Me.回次頁_bt, 系統語言字典("G000-184-" & 語言))
  4569. End Sub
  4570. Private Sub 管材_bt_MouseEnter(sender As Object, e As EventArgs) Handles 管材_bt.MouseEnter
  4571. ToolTip1.SetToolTip(Me.管材_bt, 系統語言字典("G000-185-" & 語言))
  4572. End Sub
  4573. Private Sub 電線_bt_MouseEnter(sender As Object, e As EventArgs) Handles 電線_bt.MouseEnter
  4574. ToolTip1.SetToolTip(Me.電線_bt, 系統語言字典("G000-186-" & 語言))
  4575. End Sub
  4576. Private Sub 電料_bt_MouseEnter(sender As Object, e As EventArgs) Handles 電料_bt.MouseEnter
  4577. ToolTip1.SetToolTip(Me.電料_bt, 系統語言字典("G000-187-" & 語言))
  4578. End Sub
  4579. Private Sub 槽架_bt_MouseEnter(sender As Object, e As EventArgs) Handles 槽架_bt.MouseEnter
  4580. ToolTip1.SetToolTip(Me.槽架_bt, 系統語言字典("G000-188-" & 語言))
  4581. End Sub
  4582. Private Sub 建材_bt_MouseEnter(sender As Object, e As EventArgs) Handles 建材_bt.MouseEnter
  4583. ToolTip1.SetToolTip(Me.建材_bt, 系統語言字典("G000-189-" & 語言))
  4584. End Sub
  4585. Private Sub 五金_bt_MouseEnter(sender As Object, e As EventArgs) Handles 五金_bt.MouseEnter
  4586. ToolTip1.SetToolTip(Me.五金_bt, 系統語言字典("G000-190-" & 語言))
  4587. End Sub
  4588. Private Sub 設備_bt_MouseEnter(sender As Object, e As EventArgs) Handles 設備_bt.MouseEnter
  4589. ToolTip1.SetToolTip(Me.設備_bt, 系統語言字典("G000-191-" & 語言))
  4590. End Sub
  4591. Private Sub 群組碼中_cb_Click(sender As Object, e As EventArgs) Handles 群組碼中_cb.Click
  4592. CB選擇清單(群組碼中_cb, 群組碼中_cb.Text)
  4593. End Sub
  4594. Private Sub 群組碼中_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 群組碼中_cb.TextChanged
  4595. If 系統語言 = "繁體中文" Then
  4596. 群組碼印_cb.SelectedIndex = 群組碼中_cb.SelectedIndex : 群組碼_cb.SelectedIndex = 群組碼中_cb.SelectedIndex : Set_BOM表控制()
  4597. End If
  4598. End Sub
  4599. Private Sub 群組碼印_cb_Click(sender As Object, e As EventArgs) Handles 群組碼印_cb.Click
  4600. CB選擇清單(群組碼印_cb, 群組碼印_cb.Text)
  4601. End Sub
  4602. Private Sub 群組碼印_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 群組碼印_cb.TextChanged
  4603. If 系統語言 <> "繁體中文" Then
  4604. 群組碼中_cb.SelectedIndex = 群組碼印_cb.SelectedIndex : 群組碼_cb.SelectedIndex = 群組碼印_cb.SelectedIndex : Set_BOM表控制()
  4605. End If
  4606. End Sub
  4607. Private Sub 工具_bt_MouseEnter(sender As Object, e As EventArgs) Handles 工具_bt.MouseEnter
  4608. ToolTip1.SetToolTip(Me.工具_bt, 系統語言字典("G000-192-" & 語言))
  4609. End Sub
  4610. Private Sub 日用_bt_MouseEnter(sender As Object, e As EventArgs) Handles 日用_bt.MouseEnter
  4611. ToolTip1.SetToolTip(Me.日用_bt, 系統語言字典("G000-193-" & 語言))
  4612. End Sub
  4613. Private Sub 其他_bt_MouseEnter(sender As Object, e As EventArgs) Handles 其他_bt.MouseEnter
  4614. ToolTip1.SetToolTip(Me.其他_bt, 系統語言字典("G000-194-" & 語言))
  4615. End Sub
  4616. Private Sub 存檔_tb_MouseEnter(sender As Object, e As EventArgs) Handles 存檔_tb.MouseEnter
  4617. ToolTip1.SetToolTip(Me.存檔_tb, 系統語言字典("H102-155-" & 語言))
  4618. End Sub
  4619. Private Sub 縮放2_bt_MouseEnter(sender As Object, e As EventArgs) Handles 縮放2_bt.MouseEnter
  4620. ToolTip1.SetToolTip(Me.縮放2_bt, 系統語言字典("G000-198-" & 語言))
  4621. End Sub
  4622. Private Sub 查詢_bt_MouseEnter(sender As Object, e As EventArgs) Handles 查詢_bt.MouseEnter
  4623. ToolTip1.SetToolTip(Me.查詢_bt, 系統語言字典("G000-113-" & 語言))
  4624. End Sub
  4625. Private Sub 係數存檔_bt_MouseEnter(sender As Object, e As EventArgs) Handles 係數存檔_bt.MouseEnter
  4626. ToolTip1.SetToolTip(Me.係數存檔_bt, 系統語言字典("G000-292-" & 語言))
  4627. End Sub
  4628. Private Sub 重新計算_tb_MouseEnter(sender As Object, e As EventArgs) Handles 重新計算_tb.MouseEnter
  4629. ToolTip1.SetToolTip(Me.重新計算_tb, 系統語言字典("G000-293-" & 語言))
  4630. End Sub
  4631. Private Sub 新增係數_bt_MouseEnter(sender As Object, e As EventArgs) Handles 新增係數_bt.MouseEnter
  4632. ToolTip1.SetToolTip(Me.新增係數_bt, 系統語言字典("G000-294-" & 語言))
  4633. End Sub
  4634. Private Sub 重置_bt_MouseEnter(sender As Object, e As EventArgs) Handles 重置_bt.MouseEnter
  4635. ToolTip1.SetToolTip(Me.重置_bt, 系統語言字典("G000-295-" & 語言))
  4636. End Sub
  4637. Private Sub 新增物件_bt_MouseEnter(sender As Object, e As EventArgs) Handles 新增物件_bt.MouseEnter
  4638. ToolTip1.SetToolTip(Me.新增物件_bt, 系統語言字典("G000-296-" & 語言))
  4639. End Sub
  4640. Private Sub 修改樓層_迴圈_bt_MouseEnter(sender As Object, e As EventArgs) Handles 修改樓層_迴圈_bt.MouseEnter
  4641. ToolTip1.SetToolTip(Me.修改樓層_迴圈_bt, 系統語言字典("G000-110-" & 語言))
  4642. End Sub
  4643. Private Sub 刪除1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 刪除1_bt.MouseEnter
  4644. ToolTip1.SetToolTip(Me.刪除1_bt, 系統語言字典("G000-112-" & 語言))
  4645. End Sub
  4646. Private Sub 上移2_bt_MouseEnter(sender As Object, e As EventArgs) Handles 上移2_bt.MouseEnter
  4647. ToolTip1.SetToolTip(Me.上移2_bt, 系統語言字典("G000-297-" & 語言))
  4648. End Sub
  4649. Private Sub 下移2_bt_MouseEnter(sender As Object, e As EventArgs) Handles 下移2_bt.MouseEnter
  4650. ToolTip1.SetToolTip(Me.下移2_bt, 系統語言字典("G000-298-" & 語言))
  4651. End Sub
  4652. Private Sub 上移_bt_MouseEnter(sender As Object, e As EventArgs) Handles 上移_bt.MouseEnter
  4653. ToolTip1.SetToolTip(Me.上移_bt, 系統語言字典("G000-299-" & 語言))
  4654. End Sub
  4655. Private Sub 下移_bt_MouseEnter(sender As Object, e As EventArgs) Handles 下移_bt.MouseEnter
  4656. ToolTip1.SetToolTip(Me.下移_bt, 系統語言字典("G000-300-" & 語言))
  4657. End Sub
  4658. Private Sub 預估利潤計算_bt_MouseEnter(sender As Object, e As EventArgs) Handles 預估利潤計算_bt.MouseEnter
  4659. ToolTip1.SetToolTip(Me.預估利潤計算_bt, 系統語言字典("G000-317-" & 語言))
  4660. End Sub
  4661. Private Sub 彙總存檔_bt_MouseEnter(sender As Object, e As EventArgs) Handles 彙總存檔_bt.MouseEnter
  4662. ToolTip1.SetToolTip(Me.彙總存檔_bt, 系統語言字典("G000-318-" & 語言))
  4663. End Sub
  4664. Private Sub 查閱文件_bt_MouseEnter(sender As Object, e As EventArgs) Handles 查閱文件_bt.MouseEnter
  4665. ToolTip1.SetToolTip(Me.查閱文件_bt, 系統語言字典("H110-113-" & 語言))
  4666. End Sub
  4667. Private Sub 合約改版_bt_MouseEnter(sender As Object, e As EventArgs) Handles 合約改版_bt.MouseEnter
  4668. ToolTip1.SetToolTip(Me.合約改版_bt, 系統語言字典("H102-126-" & 語言))
  4669. End Sub
  4670. Private Sub 刪除合約_bt_MouseEnter(sender As Object, e As EventArgs) Handles 刪除合約_bt.MouseEnter
  4671. ToolTip1.SetToolTip(Me.刪除合約_bt, 系統語言字典("H102-125-" & 語言))
  4672. End Sub
  4673. Private Sub 發送_bt_MouseEnter(sender As Object, e As EventArgs) Handles 發送_bt.MouseEnter
  4674. ToolTip1.SetToolTip(Me.發送_bt, 系統語言字典("G000-234-" & 語言))
  4675. End Sub
  4676. Private Sub 排序1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 排序1_bt.MouseEnter
  4677. ToolTip1.SetToolTip(Me.排序1_bt, 系統語言字典("H115-104-" & 語言))
  4678. End Sub
  4679. Private Sub 新增資料1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 新增資料1_bt.MouseEnter
  4680. ToolTip1.SetToolTip(Me.新增資料1_bt, 系統語言字典("H115-103-" & 語言))
  4681. End Sub
  4682. Private Sub 總表編輯_bt_MouseEnter(sender As Object, e As EventArgs) Handles 總表編輯_bt.MouseEnter
  4683. ToolTip1.SetToolTip(Me.總表編輯_bt, 系統語言字典("H102-124-" & 語言))
  4684. End Sub
  4685. Private Sub 報價總表存檔_bt_MouseEnter(sender As Object, e As EventArgs) Handles 報價總表存檔_bt.MouseEnter
  4686. ToolTip1.SetToolTip(Me.報價總表存檔_bt, 系統語言字典("H102-123-" & 語言))
  4687. End Sub
  4688. Private Sub 總表選擇刪除_bt_MouseEnter(sender As Object, e As EventArgs) Handles 總表選擇刪除_bt.MouseEnter
  4689. ToolTip1.SetToolTip(Me.總表選擇刪除_bt, 系統語言字典("H102-122-" & 語言))
  4690. End Sub
  4691. Private Sub 列印成EXCEL_bt_MouseEnter(sender As Object, e As EventArgs) Handles 列印成EXCEL_bt.MouseEnter
  4692. ToolTip1.SetToolTip(Me.列印成EXCEL_bt, 系統語言字典("G000-114-" & 語言))
  4693. End Sub
  4694. Private Sub 折價計算_bt_MouseEnter(sender As Object, e As EventArgs) Handles 折價計算_bt.MouseEnter
  4695. ToolTip1.SetToolTip(Me.折價計算_bt, 系統語言字典("H102-121-" & 語言))
  4696. End Sub
  4697. Private Sub BOM新增到明細表_bt_MouseEnter(sender As Object, e As EventArgs) Handles BOM新增到明細表_bt.MouseEnter
  4698. ToolTip1.SetToolTip(Me.BOM新增到明細表_bt, 系統語言字典("H102-120-" & 語言))
  4699. End Sub
  4700. Private Sub 選取資料新增到明細表_bt_MouseEnter(sender As Object, e As EventArgs) Handles 選取資料新增到明細表_bt.MouseEnter
  4701. ToolTip1.SetToolTip(Me.選取資料新增到明細表_bt, 系統語言字典("H102-119-" & 語言))
  4702. End Sub
  4703. Private Sub 物料_ch_MouseEnter(sender As Object, e As EventArgs) Handles 物料_ch.MouseEnter
  4704. ToolTip1.SetToolTip(Me.物料_ch, 系統語言字典("H211-106-" & 語言))
  4705. End Sub
  4706. Private Sub BOM_ch_MouseEnter(sender As Object, e As EventArgs) Handles BOM_ch.MouseEnter
  4707. ToolTip1.SetToolTip(Me.BOM_ch, "BOM")
  4708. End Sub
  4709. Private Sub 合約_ch_MouseEnter(sender As Object, e As EventArgs) Handles 合約_ch.MouseEnter
  4710. ToolTip1.SetToolTip(Me.合約_ch, 系統語言字典("H506-167-" & 語言))
  4711. End Sub
  4712. Private Sub 排序2_bt_MouseEnter(sender As Object, e As EventArgs) Handles 排序2_bt.MouseEnter
  4713. ToolTip1.SetToolTip(Me.排序2_bt, 系統語言字典("H115-104-" & 語言))
  4714. End Sub
  4715. Private Sub 新增資料2_bt_MouseEnter(sender As Object, e As EventArgs) Handles 新增資料2_bt.MouseEnter
  4716. ToolTip1.SetToolTip(Me.新增資料2_bt, 系統語言字典("H115-103-" & 語言))
  4717. End Sub
  4718. Private Sub 新增資料3_bt_MouseEnter(sender As Object, e As EventArgs) Handles 新增資料3_bt.MouseEnter
  4719. ToolTip1.SetToolTip(Me.新增資料3_bt, 系統語言字典("H115-103-" & 語言))
  4720. End Sub
  4721. Private Sub 明細表編輯_bt_MouseEnter(sender As Object, e As EventArgs) Handles 明細表編輯_bt.MouseEnter
  4722. ToolTip1.SetToolTip(Me.明細表編輯_bt, 系統語言字典("H102-118-" & 語言))
  4723. End Sub
  4724. Private Sub 選擇材料新增到明細表_bt_MouseEnter(sender As Object, e As EventArgs) Handles 選擇材料新增到明細表_bt.MouseEnter
  4725. ToolTip1.SetToolTip(Me.選擇材料新增到明細表_bt, 系統語言字典("H115-105-" & 語言))
  4726. End Sub
  4727. Private Sub 修改明細表上的材料指定_bt_MouseEnter(sender As Object, e As EventArgs) Handles 修改明細表上的材料指定_bt.MouseEnter
  4728. ToolTip1.SetToolTip(Me.修改明細表上的材料指定_bt, 系統語言字典("H115-106-" & 語言))
  4729. End Sub
  4730. Private Sub 規格顯示修改_bt_MouseEnter(sender As Object, e As EventArgs) Handles 規格顯示修改_bt.MouseEnter
  4731. ToolTip1.SetToolTip(Me.規格顯示修改_bt, 系統語言字典("H102-117-" & 語言))
  4732. End Sub
  4733. Private Sub 報價明細表存檔_bt_MouseEnter(sender As Object, e As EventArgs) Handles 報價明細表存檔_bt.MouseEnter
  4734. ToolTip1.SetToolTip(Me.報價明細表存檔_bt, 系統語言字典("H102-116-" & 語言))
  4735. End Sub
  4736. Private Sub 報價明細表存檔1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 報價明細表存檔1_bt.MouseEnter
  4737. ToolTip1.SetToolTip(Me.報價明細表存檔1_bt, 系統語言字典("H102-116-" & 語言))
  4738. End Sub
  4739. Private Sub 總表選擇刪除1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 總表選擇刪除1_bt.MouseEnter
  4740. ToolTip1.SetToolTip(Me.總表選擇刪除1_bt, 系統語言字典("G000-112-" & 語言))
  4741. End Sub
  4742. Private Sub 明細表選擇刪除2_bt_MouseEnter(sender As Object, e As EventArgs) Handles 明細表選擇刪除2_bt.MouseEnter
  4743. ToolTip1.SetToolTip(Me.明細表選擇刪除2_bt, 系統語言字典("G000-112-" & 語言))
  4744. End Sub
  4745. Private Sub 縮放1_bt_MouseEnter(sender As Object, e As EventArgs) Handles 縮放1_bt.MouseEnter
  4746. ToolTip1.SetToolTip(Me.縮放1_bt, 系統語言字典("G000-151-" & 語言))
  4747. End Sub
  4748. Private Sub 合約作廢_bt_MouseEnter(sender As Object, e As EventArgs) Handles 合約作廢_bt.MouseEnter
  4749. ToolTip1.SetToolTip(Me.合約作廢_bt, 系統語言字典("H102-114-" & 語言))
  4750. End Sub
  4751. Private Sub 導入_bt_MouseEnter(sender As Object, e As EventArgs) Handles 導入_bt.MouseEnter
  4752. ToolTip1.SetToolTip(Me.導入_bt, 系統語言字典("G000-374-" & 語言))
  4753. End Sub
  4754. Private Sub 物料公式存檔_bt_MouseEnter(sender As Object, e As EventArgs) Handles 物料公式存檔_bt.MouseEnter
  4755. ToolTip1.SetToolTip(Me.物料公式存檔_bt, 系統語言字典("G000-375-" & 語言))
  4756. End Sub
  4757. '------------------------------------------------------------------------------------------------------------------------------------------
  4758. '----------------------列印成excel---------------------------------------------------------------------------------------------------------
  4759. '------------------------------------------------------------------------------------------------------------------------------------------
  4760. Dim 主頁1 As Boolean
  4761. Private Sub 列印成EXCEL_bt_Click(sender As Object, e As EventArgs) Handles 列印成EXCEL_bt.Click
  4762. If 合約編號_tb.Text = "" Then : MGB(系統語言字典("H115-122-" & 語言), 1) : Else
  4763. For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  4764. If 報價明細表_dgv.Rows(i).Cells(85).Value = True Or 報價明細表_dgv.Rows(i).Cells(86).Value = True Then : 工材分離_ch.Checked = True : Exit For : End If
  4765. Next
  4766. XN1 = 0
  4767. xlApp = CType(CreateObject("Excel.Application"), Microsoft.Office.Interop.Excel.Application)
  4768. xlApp.Visible = True : xlApp.DisplayAlerts = True : xlApp.Application.WindowState = xlMaximized : xlBook = xlApp.Workbooks.Add
  4769. xlSheet = NewMethod(xlBook) : xlApp.Sheets(1).Select : xlApp.Sheets(1).Name = "明細表"
  4770. xlBook.Activate() : xlSheet.Activate()
  4771. xlSheet.Cells(2, 1) = "QUOTATION(報價單)" : xlSheet.Cells(3, 7) = "NO : " & 合約編號_tb.Text
  4772. xlSheet.Cells(3, 1) = "業主名稱 : " & 客戶名稱_tb.Text : xlSheet.Cells(4, 7) = "Date : " & Strings.Format(Today(), "yyyy/MM/dd")
  4773. xlSheet.Cells(4, 1) = "工程項目 : " & 工程名稱_中_tb.Text & vbCrLf & 工程名稱_英_tb.Text
  4774. xlSheet.Cells(5, 1) = "ITEM" : xlSheet.Cells(5, 2) = "DESCRIPTION" : xlSheet.Cells(5, 3) = "UNIT"
  4775. xlSheet.Cells(5, 4) = "Q'TY" : xlSheet.Cells(5, 9) = "REMARKS"
  4776. If 工材分離_ch.Checked = False Then : xlSheet.Cells(5, 5) = "UNIT PRICE" & vbCrLf & "(RP)" : xlSheet.Cells(5, 7) = "AMOUNT" & vbCrLf & "(RP)" : Else
  4777. xlSheet.Cells(5, 5) = "工資報價單價" & vbCrLf & "Hrga satuan penawaran gaji" : xlSheet.Cells(5, 6) = "工資報價復價" & vbCrLf & "Total harga upah"
  4778. xlSheet.Cells(5, 7) = "材料報價單價" & vbCrLf & "Harga satuan kutipan material" : xlSheet.Cells(5, 8) = "材料報價複價" & vbCrLf & "Harga total kuotasi material"
  4779. End If
  4780. For i As Integer = 0 To 報價明細表_dgv.Rows.Count - 1
  4781. If 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString() = "*" Then : Else
  4782. xlSheet.Cells(6 + i, 1) = 報價明細表_dgv.Rows(i).Cells("ITEM").Value.ToString()
  4783. End If
  4784. xlSheet.Cells(6 + i, 2) = 報價明細表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString()
  4785. xlSheet.Cells(6 + i, 3) = 報價明細表_dgv.Rows(i).Cells("UNIT").Value.ToString()
  4786. If CLng(報價明細表_dgv.Rows(i).Cells("QTY").Value.ToString()) = 0 Then : xlSheet.Cells(6 + i, 4) = "" : Else
  4787. xlSheet.Cells(6 + i, 4) = 報價明細表_dgv.Rows(i).Cells("QTY").Value.ToString() : End If
  4788. xlSheet.Cells(6 + i, 9) = 報價明細表_dgv.Rows(i).Cells("REMARKS").Value.ToString()
  4789. If 工材分離_ch.Checked = False Then
  4790. If CLng(報價明細表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString()) = 0 Then : xlSheet.Cells(6 + i, 5) = "" : Else
  4791. xlSheet.Cells(6 + i, 5) = 報價明細表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString()
  4792. End If
  4793. If CLng(報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString()) = 0 Then : xlSheet.Cells(6 + i, 7) = "" : Else
  4794. xlSheet.Cells(6 + i, 7) = 報價明細表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString()
  4795. End If
  4796. Else
  4797. If CLng(報價明細表_dgv.Rows(i).Cells("工資報價單價").Value.ToString()) = 0 Then : xlSheet.Cells(6 + i, 5) = "" : Else
  4798. xlSheet.Cells(6 + i, 5) = 報價明細表_dgv.Rows(i).Cells("工資報價單價").Value.ToString()
  4799. End If
  4800. If CLng(報價明細表_dgv.Rows(i).Cells("工資報價後價").Value.ToString()) = 0 Then : xlSheet.Cells(6 + i, 6) = "" : Else
  4801. xlSheet.Cells(6 + i, 6) = 報價明細表_dgv.Rows(i).Cells("工資報價後價").Value.ToString()
  4802. End If
  4803. If CLng(報價明細表_dgv.Rows(i).Cells("材料報價單價").Value.ToString()) = 0 Then : xlSheet.Cells(6 + i, 7) = "" : Else
  4804. xlSheet.Cells(6 + i, 7) = 報價明細表_dgv.Rows(i).Cells("材料報價單價").Value.ToString()
  4805. End If
  4806. If CLng(報價明細表_dgv.Rows(i).Cells("材料報價後價").Value.ToString()) = 0 Then : xlSheet.Cells(6 + i, 8) = "" : Else
  4807. xlSheet.Cells(6 + i, 8) = 報價明細表_dgv.Rows(i).Cells("材料報價後價").Value.ToString()
  4808. End If
  4809. End If
  4810. XN2 = 6 + i
  4811. Next
  4812. AA(xlApp, xlSheet) : 主頁1 = False
  4813. If 合約編號_cb.Text = "HX" Then : CC(xlApp, xlSheet) : Else : DD(xlApp, xlSheet) : End If : FF(xlApp, xlSheet)
  4814. xlSheet = NewMethod(xlBook) : xlApp.Sheets(1).Select : xlApp.Sheets(1).Name = "報價單"
  4815. xlBook.Activate() : xlSheet.Activate()
  4816. xlSheet.Cells(2, 1) = "QUOTATION(報價單)" : xlSheet.Cells(4, 6) = "NO : " & 合約編號_tb.Text
  4817. xlSheet.Cells(4, 1) = "業主名稱 : " & 客戶名稱_tb.Text : xlSheet.Cells(5, 6) = "Date : " & Strings.Format(Today(), "yyyy/MM/dd")
  4818. xlSheet.Cells(5, 1) = "工程項目 : " & 工程名稱_中_tb.Text & vbCrLf & 工程名稱_英_tb.Text
  4819. xlSheet.Cells(6, 1) = "ITEM" : xlSheet.Cells(6, 2) = "DESCRIPTION" : xlSheet.Cells(6, 3) = "UNIT" : xlSheet.Cells(6, 5) = "UNIT PRICE" & vbCrLf & "(RP)"
  4820. xlSheet.Cells(6, 6) = "AMOUNT" & vbCrLf & "(RP)" : xlSheet.Cells(6, 4) = "Q'TY" : xlSheet.Cells(6, 7) = "REMARKS"
  4821. Dim 無稅加總 As Long = 0
  4822. For i As Integer = 0 To 報價總表_dgv.Rows.Count - 1
  4823. If 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString() = "*" Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString() = "@" Or
  4824. 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString() = "^" Or 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString() = "$" Then : Else
  4825. xlSheet.Cells(7 + i, 1) = 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString()
  4826. End If
  4827. If 報價總表_dgv.Rows(i).Cells("ITEM").Value.ToString() = "@" Then
  4828. xlSheet.Cells(7 + i, 2) = "總計( 含稅 ) Grand Total( Including Tax)"
  4829. Else
  4830. xlSheet.Cells(7 + i, 2) = 報價總表_dgv.Rows(i).Cells("DESCRIPTION").Value.ToString()
  4831. End If
  4832. xlSheet.Cells(7 + i, 3) = 報價總表_dgv.Rows(i).Cells("UNIT").Value.ToString()
  4833. If CLng(報價總表_dgv.Rows(i).Cells("QTY").Value.ToString()) = 0 Then : xlSheet.Cells(7 + i, 4) = "" : Else
  4834. xlSheet.Cells(7 + i, 4) = 報價總表_dgv.Rows(i).Cells("QTY").Value.ToString()
  4835. End If
  4836. If CLng(報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString()) = 0 Then : xlSheet.Cells(7 + i, 5) = "" : Else
  4837. xlSheet.Cells(7 + i, 5) = 報價總表_dgv.Rows(i).Cells("UNIT PRICE" & 幣別).Value.ToString()
  4838. End If
  4839. If CLng(報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString()) = 0 Then : xlSheet.Cells(7 + i, 6) = "" : Else
  4840. xlSheet.Cells(7 + i, 6) = 報價總表_dgv.Rows(i).Cells("AMOUNT" & 幣別).Value.ToString()
  4841. End If
  4842. xlSheet.Cells(7 + i, 7) = 報價總表_dgv.Rows(i).Cells("REMARKS").Value.ToString() : XN1 = 8 + i
  4843. Next
  4844. xlSheet.Cells(XN1 + 1, 1) = "報價說明Offer descriptions:" : xlSheet.Cells(XN1 + 2, 1) = 報價說明_tb.Text
  4845. xlSheet.Cells(XN1 + 3, 1) = "客戶確認 (簽名,蓋章)" : xlSheet.Cells(XN1 + 3, 3) = "核准" : xlSheet.Cells(XN1 + 3, 7) = "經辦人"
  4846. xlSheet.Cells(XN1 + 4, 1) = "Customer confirmation ( signature ) : " : xlSheet.Cells(XN1 + 4, 3) = "Approved : " : xlSheet.Cells(XN1 + 4, 7) = "Operator:"
  4847. xlSheet.Cells(XN1 + 5, 7) = gUserName
  4848. xlSheet.Cells(XN1 + 6, 1) = "_________________________________" : xlSheet.Cells(XN1 + 6, 3) = "_________________________________"
  4849. xlSheet.Cells(XN1 + 6, 7) = "_______________________"
  4850. BB(xlApp, xlSheet) : 主頁1 = True
  4851. If 合約編號_cb.Text = "HX" Then : CC(xlApp, xlSheet) : Else : DD(xlApp, xlSheet) : End If : GG(xlApp, xlSheet)
  4852. xlApp.Sheets(3).Delete : xlSheet.PageSetup.PrintArea = ""
  4853. '-------------轉換成PDF---------------------------------------------------------------------
  4854. Dim SERT As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
  4855. xlBook.Sheets(1).ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, SERT & "\" & 合約編號_tb.Text & "_X1.pdf", XlFixedFormatQuality.xlQualityStandard, True)
  4856. xlBook.Sheets(2).ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, SERT & "\" & 合約編號_tb.Text & "_X2.pdf", XlFixedFormatQuality.xlQualityStandard, True)
  4857. Dim pdf1 As String = SERT & "\" & 合約編號_tb.Text & "_X1.pdf" : Dim pdf2 As String = SERT & "\" & 合約編號_tb.Text & "_X2.pdf"
  4858. Dim outputPDF As String = SERT & "\" & 合約編號_tb.Text & ".pdf"
  4859. Dim mergedDocument As New PdfDocument() ' 创建一个新的PDF文档对象
  4860. Dim document1 As PdfDocument = PdfReader.Open(pdf1, PdfDocumentOpenMode.Import) ' 打开第一个PDF文件
  4861. For Each page As PdfPage In document1.Pages : mergedDocument.AddPage(page) : Next ' 将第一个PDF文件的页面逐一添加到合并文档
  4862. Dim document2 As PdfDocument = PdfReader.Open(pdf2, PdfDocumentOpenMode.Import) ' 打开第二个PDF文件
  4863. For Each page As PdfPage In document2.Pages : mergedDocument.AddPage(page) : Next ' 将第二个PDF文件的页面逐一添加到合并文档
  4864. mergedDocument.Save(outputPDF) ' 保存合并后的PDF文件
  4865. document1.Close() : document2.Close() ' 关闭文档对象
  4866. File.Delete(SERT & "\" & 合約編號_tb.Text & "_X1.pdf") : File.Delete(SERT & "\" & 合約編號_tb.Text & "_X2.pdf") ' 删除文件1和文件2
  4867. '-------------關閉EXCEL---------------------------------------------------------------------
  4868. xlApp.Cells.Select() : xlApp.Application.WindowState = xlMinimized
  4869. xlBook.Close(False)
  4870. Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet)
  4871. Runtime.InteropServices.Marshal.ReleaseComObject(xlBook)
  4872. Runtime.InteropServices.Marshal.ReleaseComObject(xlApp)
  4873. xlApp.Quit() : xlSheet = Nothing : xlBook = Nothing : xlApp = Nothing : GC.Collect()
  4874. '-------------開啟PDF---------------------------------------------------------------------
  4875. Dim pdfFilePath As String = SERT & "\" & 合約編號_tb.Text & ".pdf" : 工材分離_ch.Checked = False
  4876. If IsChromeInstalled() Then
  4877. Try
  4878. Dim chromeProcess As New Process()
  4879. chromeProcess.StartInfo.FileName = "chrome"
  4880. chromeProcess.StartInfo.Arguments = """" & pdfFilePath & """"
  4881. chromeProcess.Start() : MGB(系統語言字典("H204-134-" & 語言), 1)
  4882. Catch ex As Exception
  4883. MGB(系統語言字典("H204-134-" & 語言), 1)
  4884. End Try
  4885. Else
  4886. Try
  4887. System.Diagnostics.Process.Start("""" & pdfFilePath & """") : MGB(系統語言字典("H204-134-" & 語言), 1)
  4888. Catch ex As Exception
  4889. MGB(系統語言字典("H204-134-" & 語言), 1)
  4890. End Try
  4891. End If
  4892. End If
  4893. End Sub
  4894. Private Function IsChromeInstalled() As Boolean
  4895. Dim key As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall")
  4896. If key IsNot Nothing Then
  4897. For Each subkeyName As String In key.GetSubKeyNames()
  4898. Dim subkey As Microsoft.Win32.RegistryKey = key.OpenSubKey(subkeyName)
  4899. Dim displayName As Object = subkey.GetValue("DisplayName")
  4900. If displayName IsNot Nothing AndAlso displayName.ToString().Contains("Google Chrome") Then
  4901. Return True
  4902. End If
  4903. Next
  4904. End If
  4905. Return False
  4906. End Function
  4907. Private Shared Function NewMethod(xlBook As Workbook) As Worksheet
  4908. Return CType(xlBook.Worksheets.Add, Worksheet)
  4909. End Function
  4910. Private Sub AA(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Worksheet)
  4911. xlSheet.Cells.Select()
  4912. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  4913. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
  4914. xlSheet.Range("A2:I2").Select()
  4915. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 14 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  4916. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
  4917. xlSheet.Rows("1:1").Select : myExcel.Selection.RowHeight = 120
  4918. xlSheet.Rows("2:2").Select : myExcel.Selection.RowHeight = 30 : xlSheet.Rows("3:3").Select : myExcel.Selection.RowHeight = 20
  4919. xlSheet.Rows("4:4").Select : myExcel.Selection.RowHeight = 35 : xlSheet.Rows("5:5").Select : myExcel.Selection.RowHeight = 65
  4920. xlSheet.Rows("6:" & XN2).Select : myExcel.Selection.RowHeight = 35
  4921. If 工材分離_ch.Checked = True Then
  4922. xlSheet.Range("E5:H6").Select()
  4923. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 8 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  4924. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
  4925. End If
  4926. xlSheet.Range("A5:I5").Select()
  4927. With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorAccent1 : .TintAndShade = 0.799981688894314
  4928. .PatternTintAndShade = 0 : End With
  4929. xlSheet.Range("A4").Select()
  4930. With myExcel.Selection : .HorizontalAlignment = xlGeneral : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4931. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  4932. xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = 6
  4933. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False
  4934. .ReadingOrder = xlContext : .MergeCells = False : End With
  4935. xlSheet.Columns("C:D").Select : myExcel.Selection.ColumnWidth = 6 : xlSheet.Columns("I:I").Select : myExcel.Selection.ColumnWidth = 40
  4936. xlSheet.Columns("I:I").Select : myExcel.Selection.ColumnWidth = 18.5
  4937. If 工材分離_ch.Checked = False Then
  4938. xlSheet.Columns("G:H").Select : myExcel.Selection.ColumnWidth = 9 : xlSheet.Columns("E:F").Select : myExcel.Selection.ColumnWidth = 9
  4939. xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 50
  4940. Else
  4941. xlSheet.Columns("G:H").Select : myExcel.Selection.ColumnWidth = 13 : xlSheet.Columns("E:F").Select : myExcel.Selection.ColumnWidth = 13
  4942. xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 50
  4943. End If
  4944. xlSheet.Range("A2:I2").Select()
  4945. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4946. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  4947. xlSheet.Range("A3:F3").Select()
  4948. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4949. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  4950. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4951. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  4952. xlSheet.Range("A4:F4").Select()
  4953. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4954. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  4955. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4956. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  4957. xlSheet.Range("G3:I3").Select()
  4958. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4959. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  4960. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4961. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  4962. xlSheet.Range("G4:I4").Select()
  4963. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4964. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  4965. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4966. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  4967. If 工材分離_ch.Checked = False Then
  4968. xlSheet.Range("E5:F5").Select()
  4969. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4970. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  4971. xlSheet.Range("G5:H5").Select()
  4972. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4973. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  4974. End If
  4975. xlSheet.Range("C5:H5").Select()
  4976. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4977. .ShrinkToFit = False : .ReadingOrder = xlContext : End With
  4978. For i As Integer = 6 To XN2
  4979. xlSheet.Range("E" & i & ":F" & i).Select()
  4980. If 工材分離_ch.Checked = False Then
  4981. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4982. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge : End If
  4983. xlSheet.Range("G" & i & ":H" & i).Select()
  4984. If 工材分離_ch.Checked = False Then
  4985. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4986. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge : End If
  4987. Next
  4988. xlSheet.Range("E6:H" & XN2).Select()
  4989. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4990. .ShrinkToFit = False : .ReadingOrder = xlContext : End With
  4991. myExcel.Selection.NumberFormatLocal = "#,##0_ "
  4992. xlSheet.Range("C6:D" & XN2).Select()
  4993. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4994. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  4995. xlSheet.Range("I6:I" & XN2).Select()
  4996. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  4997. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  4998. xlSheet.Range("B6:B" & XN2).Select()
  4999. With myExcel.Selection : .HorizontalAlignment = xlGeneral : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0
  5000. .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  5001. xlSheet.Range("A5:I5").Select()
  5002. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  5003. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5004. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5005. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5006. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5007. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5008. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5009. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  5010. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  5011. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  5012. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  5013. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  5014. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5015. myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
  5016. xlSheet.Range("A6:I" & XN2).Select()
  5017. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  5018. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5019. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5020. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5021. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5022. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5023. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5024. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  5025. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  5026. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  5027. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  5028. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  5029. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5030. xlSheet.Range("J17").Select() : myExcel.ActiveWindow.DisplayGridlines = False
  5031. xlSheet.Range("A4:F4").Select()
  5032. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False
  5033. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  5034. xlSheet.Range("A5:I5").Select()
  5035. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .Orientation = 0
  5036. .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : End With
  5037. xlSheet.Range("A6:I" & XN2).Select()
  5038. With myExcel.Selection : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False
  5039. .ReadingOrder = xlContext : End With
  5040. Dim 攔寬 As Single
  5041. xlSheet.Rows("4:4").Select : xlSheet.Rows("4:4").EntireRow.AutoFit
  5042. 攔寬 = xlSheet.Rows("4:4").RowHeight
  5043. xlSheet.Rows("4:4").Select : myExcel.Selection.RowHeight = 攔寬 + 40
  5044. xlSheet.Rows("6:" & XN2).Select : xlSheet.Rows("6:" & XN2).EntireRow.AutoFit
  5045. For i As Integer = 6 To XN2
  5046. xlSheet.Rows(i & ":" & i).Select
  5047. 攔寬 = xlSheet.Rows(i & ":" & i).RowHeight
  5048. xlSheet.Rows(i & ":" & i).Select : myExcel.Selection.RowHeight = 攔寬 + 20
  5049. If Strings.Left(xlSheet.Cells(i, 2).value, 5) = "Total" Then
  5050. xlSheet.Range("A" & i & ":I" & i).Select()
  5051. With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorAccent1
  5052. .TintAndShade = 0.799981688894314 : .PatternTintAndShade = 0 : End With
  5053. End If
  5054. Next
  5055. xlSheet.Range("A3:F4").Select()
  5056. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 14 : .StrikeThrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False
  5057. .Shadow = False : .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
  5058. End Sub
  5059. Private Sub BB(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Worksheet)
  5060. xlSheet.Cells.Select()
  5061. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 10 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  5062. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
  5063. xlSheet.Rows("2:2").Select
  5064. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 14 : .Strikethrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False : .Shadow = False
  5065. .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
  5066. xlSheet.Rows("1:1").Select : myExcel.Selection.RowHeight = 120 : xlSheet.Rows("2:2").Select : myExcel.Selection.RowHeight = 30
  5067. xlSheet.Rows("4:4").Select : myExcel.Selection.RowHeight = 20 : xlSheet.Rows("5:5").Select : myExcel.Selection.RowHeight = 35
  5068. xlSheet.Rows("6:6").Select : myExcel.Selection.RowHeight = 40 : xlSheet.Columns("A:A").Select : myExcel.Selection.ColumnWidth = 6
  5069. xlSheet.Rows("7:" & XN1).Select : myExcel.Selection.RowHeight = 35
  5070. xlSheet.Columns("B:B").Select : myExcel.Selection.ColumnWidth = 60 : xlSheet.Columns("C:C").Select : myExcel.Selection.ColumnWidth = 6
  5071. xlSheet.Columns("D:D").Select : myExcel.Selection.ColumnWidth = 6 : xlSheet.Columns("E:E").Select : myExcel.Selection.ColumnWidth = 18
  5072. xlSheet.Columns("F:F").Select : myExcel.Selection.ColumnWidth = 18 : xlSheet.Columns("G:G").Select : myExcel.Selection.ColumnWidth = 18.5
  5073. xlSheet.Range("A2:G2").Select()
  5074. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5075. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  5076. xlSheet.Range("A4:E4").Select()
  5077. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5078. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  5079. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5080. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  5081. xlSheet.Range("A5:E5").Select()
  5082. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5083. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  5084. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5085. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  5086. xlSheet.Range("F4:G4").Select()
  5087. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5088. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  5089. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5090. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  5091. xlSheet.Range("F5:G5").Select()
  5092. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5093. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  5094. With myExcel.Selection : .HorizontalAlignment = xlRight : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5095. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  5096. xlSheet.Range("A6:A" & XN1 - 1).Select()
  5097. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5098. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  5099. xlSheet.Range("C6:D" & XN1 - 1).Select()
  5100. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5101. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  5102. xlSheet.Range("E6:F6").Select()
  5103. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5104. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  5105. xlSheet.Range("A6:G6").Select()
  5106. With myExcel.Selection.Interior : .Pattern = xlSolid : .PatternColorIndex = xlAutomatic : .ThemeColor = xlThemeColorLight2
  5107. .TintAndShade = 0.799981688894314 : .PatternTintAndShade = 0 : End With
  5108. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  5109. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5110. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5111. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5112. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5113. With myExcel.Selection.Borders(xlInsideVertical) : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5114. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5115. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  5116. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  5117. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  5118. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  5119. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  5120. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5121. myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
  5122. xlSheet.Range("A7:G" & XN1 - 1).Select()
  5123. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  5124. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5125. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5126. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5127. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5128. With myExcel.Selection.Borders(xlInsideVertical) : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5129. With myExcel.Selection.Borders(xlInsideHorizontal) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5130. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  5131. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  5132. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  5133. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  5134. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlMedium : End With
  5135. With myExcel.Selection.Borders(xlInsideVertical) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5136. xlSheet.Range("A" & XN1 + 1 & ":G" & XN1 + 1).Select()
  5137. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5138. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  5139. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5140. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  5141. xlSheet.Range("A" & XN1 + 2 & ":G" & XN1 + 2).Select()
  5142. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5143. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With : myExcel.Selection.Merge
  5144. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5145. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  5146. xlSheet.Range("A" & XN1 + 1 & ":G" & XN1 + 2).Select()
  5147. myExcel.Selection.Borders(xlDiagonalDown).LineStyle = xlNone : myExcel.Selection.Borders(xlDiagonalUp).LineStyle = xlNone
  5148. With myExcel.Selection.Borders(xlEdgeLeft) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5149. With myExcel.Selection.Borders(xlEdgeTop) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5150. With myExcel.Selection.Borders(xlEdgeBottom) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5151. With myExcel.Selection.Borders(xlEdgeRight) : .LineStyle = xlContinuous : .ColorIndex = 0 : .TintAndShade = 0 : .Weight = xlThin : End With
  5152. myExcel.Selection.Borders(xlInsideVertical).LineStyle = xlNone : myExcel.Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
  5153. xlSheet.Rows(XN1 + 2 & ":" & XN1 + 2).Select : myExcel.Selection.RowHeight = 100
  5154. xlSheet.Rows(XN1 + 3 & ":" & XN1 + 3).Select : myExcel.Selection.RowHeight = 30
  5155. With myExcel.Selection : .HorizontalAlignment = xlGeneral : .VerticalAlignment = xlBottom : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5156. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  5157. xlSheet.Rows(XN1 + 5 & ":" & XN1 + 5).Select : myExcel.Selection.RowHeight = 80
  5158. xlSheet.Range("H17").Select() : myExcel.ActiveWindow.DisplayGridlines = False
  5159. xlSheet.Range("E7:F" & XN1 - 1).Select() : myExcel.Selection.NumberFormatLocal = "#,##0_ "
  5160. xlSheet.Range("A5:E5").Select()
  5161. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False
  5162. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  5163. xlSheet.Range("A6:G6").Select()
  5164. With myExcel.Selection : .HorizontalAlignment = xlCenter : .VerticalAlignment = xlCenter : .WrapText = False : .Orientation = 0 : .AddIndent = False
  5165. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = False : End With
  5166. xlSheet.Range("A7:G" & XN1 - 1).Select()
  5167. With myExcel.Selection : .VerticalAlignment = xlCenter : .WrapText = True : .Orientation = 0 : .AddIndent = False : .IndentLevel = 0 : .ShrinkToFit = False
  5168. .ReadingOrder = xlContext : .MergeCells = False : End With
  5169. xlSheet.Range("A" & XN1 + 2 & ":G" & XN1 + 2).Select()
  5170. With myExcel.Selection : .HorizontalAlignment = xlLeft : .VerticalAlignment = xlTop : .WrapText = True : .Orientation = 0 : .AddIndent = False
  5171. .IndentLevel = 0 : .ShrinkToFit = False : .ReadingOrder = xlContext : .MergeCells = True : End With
  5172. Dim 攔寬 As Single
  5173. xlSheet.Rows("5:5").Select : xlSheet.Rows("5:5").EntireRow.AutoFit
  5174. 攔寬 = xlSheet.Rows("5:5").RowHeight
  5175. xlSheet.Rows("5:5").Select : myExcel.Selection.RowHeight = 攔寬 + 40
  5176. xlSheet.Rows("7:" & XN1).Select : xlSheet.Rows("7:" & XN1).EntireRow.AutoFit
  5177. For i As Integer = 7 To XN1
  5178. xlSheet.Rows(i & ":" & i).Select
  5179. 攔寬 = xlSheet.Rows(i & ":" & i).RowHeight
  5180. xlSheet.Rows(i & ":" & i).Select : myExcel.Selection.RowHeight = 攔寬 + 20
  5181. Next
  5182. xlSheet.Range("A4:E5").Select()
  5183. With myExcel.Selection.Font : .Name = "微軟正黑體" : .Size = 14 : .StrikeThrough = False : .Superscript = False : .Subscript = False : .OutlineFont = False
  5184. .Shadow = False : .Underline = xlUnderlineStyleNone : .ThemeColor = xlThemeColorLight1 : .TintAndShade = 0 : .ThemeFont = xlThemeFontNone : End With
  5185. End Sub
  5186. Private Sub CC(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Worksheet)
  5187. Clipboard.SetDataObject(PictureBox1.Image)
  5188. xlSheet.Range("A1").Select()
  5189. myExcel.ActiveSheet.Pictures.Paste.Select
  5190. myExcel.Selection.ShapeRange.Height = 115
  5191. If 主頁1 = False Then
  5192. myExcel.Selection.ShapeRange.IncrementLeft(0)
  5193. Else
  5194. myExcel.Selection.ShapeRange.IncrementLeft(20)
  5195. End If
  5196. myExcel.Selection.ShapeRange.IncrementTop(0)
  5197. End Sub
  5198. Private Sub DD(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Worksheet)
  5199. Clipboard.SetDataObject(PictureBox2.Image)
  5200. xlSheet.Range("A1").Select()
  5201. myExcel.ActiveSheet.Pictures.Paste.Select
  5202. myExcel.Selection.ShapeRange.Height = 115
  5203. If 主頁1 = False Then
  5204. myExcel.Selection.ShapeRange.IncrementLeft(0)
  5205. Else
  5206. myExcel.Selection.ShapeRange.IncrementLeft(20)
  5207. End If
  5208. myExcel.Selection.ShapeRange.IncrementTop(0)
  5209. End Sub
  5210. Private Sub FF(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Worksheet)
  5211. If Strings.Left(合約編號_tb.Text, 2) = "HX" Then
  5212. myExcel.ActiveSheet.PageSetup.CenterHeaderPicture.Filename =
  5213. Str01 & "\HXBWLOG.png"
  5214. Else
  5215. myExcel.ActiveSheet.PageSetup.CenterHeaderPicture.Filename =
  5216. Str01 & "\PGSBWLOG.png"
  5217. End If
  5218. myExcel.Application.PrintCommunication = False : With myExcel.ActiveSheet.PageSetup : .PrintTitleRows = "$1:$5" : .PrintTitleColumns = "" : End With
  5219. myExcel.Application.PrintCommunication = True : myExcel.ActiveSheet.PageSetup.PrintArea = "" : myExcel.Application.PrintCommunication = False
  5220. With myExcel.ActiveSheet.PageSetup : .LeftHeader = ""
  5221. .CenterHeader = "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "&G"
  5222. .RightHeader = "" : .LeftFooter = "" : .CenterFooter = "第 &P 頁,共 &N 頁" : .RightFooter = ""
  5223. .LeftMargin = myExcel.Application.InchesToPoints(0.236220472440945) : .RightMargin = myExcel.Application.InchesToPoints(0.236220472440945)
  5224. .TopMargin = myExcel.Application.InchesToPoints(0.748031496062992) : .BottomMargin = myExcel.Application.InchesToPoints(0.748031496062992)
  5225. .HeaderMargin = myExcel.Application.InchesToPoints(0.31496062992126) : .FooterMargin = myExcel.Application.InchesToPoints(0.31496062992126)
  5226. .PrintHeadings = False : .PrintGridlines = False : .CenterHorizontally = True : .CenterVertically = False : .Draft = False
  5227. .FirstPageNumber = xlAutomatic : .BlackAndWhite = False : .Zoom = False : .FitToPagesWide = 1 : .FitToPagesTall = False : .OddAndEvenPagesHeaderFooter = False
  5228. .DifferentFirstPageHeaderFooter = False : .ScaleWithDocHeaderFooter = True : .AlignMarginsHeaderFooter = True
  5229. .EvenPage.LeftHeader.Text = "" : .EvenPage.CenterHeader.Text = "" : .EvenPage.RightHeader.Text = "" : .EvenPage.LeftFooter.Text = ""
  5230. .EvenPage.CenterFooter.Text = "" : .EvenPage.RightFooter.Text = "" : .FirstPage.LeftHeader.Text = "" : .FirstPage.CenterHeader.Text = ""
  5231. .FirstPage.RightHeader.Text = "" : .FirstPage.LeftFooter.Text = "" : .FirstPage.CenterFooter.Text = "" : .FirstPage.RightFooter.Text = ""
  5232. End With : myExcel.Application.PrintCommunication = True
  5233. End Sub
  5234. Private Sub GG(ByVal myExcel As Microsoft.Office.Interop.Excel.Application, ByVal xlSheet As Worksheet)
  5235. If Strings.Left(合約編號_tb.Text, 2) = "HX" Then
  5236. myExcel.ActiveSheet.PageSetup.CenterHeaderPicture.Filename =
  5237. Str01 & "\HXBWLOG.png"
  5238. Else
  5239. myExcel.ActiveSheet.PageSetup.CenterHeaderPicture.Filename =
  5240. Str01 & "\PGSBWLOG.png"
  5241. End If
  5242. myExcel.Application.PrintCommunication = False : With myExcel.ActiveSheet.PageSetup : .PrintTitleRows = "$1:$5" : .PrintTitleColumns = "" : End With
  5243. myExcel.Application.PrintCommunication = True : myExcel.ActiveSheet.PageSetup.PrintArea = "$A:$G" : myExcel.Application.PrintCommunication = False
  5244. With myExcel.ActiveSheet.PageSetup : .LeftHeader = ""
  5245. .CenterHeader = "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "&G"
  5246. .RightHeader = "" : .LeftFooter = "" : .CenterFooter = "第 &P 頁,共 &N 頁" : .RightFooter = ""
  5247. .LeftMargin = myExcel.Application.InchesToPoints(0.236220472440945) : .RightMargin = myExcel.Application.InchesToPoints(0.236220472440945)
  5248. .TopMargin = myExcel.Application.InchesToPoints(0.748031496062992) : .BottomMargin = myExcel.Application.InchesToPoints(0.748031496062992)
  5249. .HeaderMargin = myExcel.Application.InchesToPoints(0.31496062992126) : .FooterMargin = myExcel.Application.InchesToPoints(0.31496062992126)
  5250. .PrintHeadings = False : .PrintGridlines = False : .CenterHorizontally = True : .CenterVertically = False : .Draft = False
  5251. .FirstPageNumber = xlAutomatic : .BlackAndWhite = False : .Zoom = False : .FitToPagesWide = 1 : .FitToPagesTall = False : .OddAndEvenPagesHeaderFooter = False
  5252. .DifferentFirstPageHeaderFooter = False : .ScaleWithDocHeaderFooter = True : .AlignMarginsHeaderFooter = True
  5253. .EvenPage.LeftHeader.Text = "" : .EvenPage.CenterHeader.Text = "" : .EvenPage.RightHeader.Text = "" : .EvenPage.LeftFooter.Text = ""
  5254. .EvenPage.CenterFooter.Text = "" : .EvenPage.RightFooter.Text = "" : .FirstPage.LeftHeader.Text = "" : .FirstPage.CenterHeader.Text = ""
  5255. .FirstPage.RightHeader.Text = "" : .FirstPage.LeftFooter.Text = "" : .FirstPage.CenterFooter.Text = "" : .FirstPage.RightFooter.Text = ""
  5256. End With : myExcel.Application.PrintCommunication = True
  5257. End Sub
  5258. Private Sub 風格()
  5259. If 深色風格 = False Then
  5260. Me.BackColor = SystemColors.Control : 新式_P.BackColor = Color.White : 主頁_p.BackColor = Color.White : 次頁_p.BackColor = Color.White : 物料_p.BackColor = Color.White
  5261. 物料清單_P.BackColor = Color.White : BOM_p.BackColor = Color.White : 合約_p.BackColor = Color.White : 工程合約試算表_tc.BackColor = SystemColors.Control
  5262. 工程合約報價明細_tc.BackColor = SystemColors.Control : 係數設定_tc.BackColor = SystemColors.Control
  5263. 視窗2_pl.BackColor = Color.White : Panel3.BackColor = Color.White : 總表空間_P.BackColor = Color.White
  5264. TabPage1.BackColor = Color.White : TabPage2.BackColor = Color.White : 建立合約資料_tc.BackColor = SystemColors.Control : 基本資料_P.BackColor = Color.White
  5265. 視窗3_pl.BackColor = SystemColors.Control : 式算明細表_P.BackColor = SystemColors.Control : Panel4.BackColor = Color.White
  5266. '----------------黑-------------------------------------------
  5267. 最後採購日1_lb.ForeColor = Color.Black : 歷史單價1_lb.ForeColor = Color.Black : 帶上歷史單價1_ch.ForeColor = Color.Black : 最後採購日_lb.ForeColor = Color.Black
  5268. 歷史單價_lb.ForeColor = Color.Black : 帶上歷史單價_ch.ForeColor = Color.Black : 小間距_ch.ForeColor = Color.Black : 中間距_ch.ForeColor = Color.Black
  5269. 大間距_ch.ForeColor = Color.Black : 詳細資料1_ch.ForeColor = Color.Black : 小間距2_ch.ForeColor = Color.Black : 中間距2_ch.ForeColor = Color.Black
  5270. 大間距2_ch.ForeColor = Color.Black : 小間距3_ch.ForeColor = Color.Black : 中間距3_ch.ForeColor = Color.Black : 大間距3_ch.ForeColor = Color.Black
  5271. 項目1_lb.ForeColor = Color.Black : 主項目_lb.ForeColor = Color.Black : 詳細資料_ch.ForeColor = Color.Black : 單位_lb.ForeColor = Color.Black
  5272. 甲方_lb.ForeColor = Color.Black : Label1.ForeColor = Color.Black : Label3.ForeColor = Color.Black : 編輯1_ch.ForeColor = Color.Black
  5273. Label4.ForeColor = Color.Black : 編輯_ch.ForeColor = Color.Black : 鎖定1_ch.ForeColor = Color.Black : 鎖定_ch.ForeColor = Color.Black
  5274. 詳細資料2_ch.ForeColor = Color.Black : 啟用批量選擇_ch.ForeColor = Color.Black : 係數_lb.ForeColor = Color.Black : 通用_lb.ForeColor = Color.Black
  5275. 材料_ch.ForeColor = Color.Black : 工資_ch.ForeColor = Color.Black : 利潤表_ch.ForeColor = Color.Black : 辦公_lb.ForeColor = Color.Black
  5276. Label16.ForeColor = Color.Black : 待送報價_ch.ForeColor = Color.Black : 待審報價_ch.ForeColor = Color.Black : 宿舍_lb.ForeColor = Color.Black
  5277. 報價放行_ch.ForeColor = Color.Black : 作廢報價_ch.ForeColor = Color.Black : 合約號搜尋_lb.ForeColor = Color.Black : Label28.ForeColor = Color.Black
  5278. Label5.ForeColor = Color.Black : Label379.ForeColor = Color.Black : Label35.ForeColor = Color.Black : Label15.ForeColor = Color.Black
  5279. Label20.ForeColor = Color.Black : 合約停止_ch.ForeColor = Color.Black : 美金_ch.ForeColor = Color.Black : 人民幣_ch.ForeColor = Color.Black
  5280. 台幣_ch.ForeColor = Color.Black : 印尼盾_ch.ForeColor = Color.Black : Label380.ForeColor = Color.Black : Label64.ForeColor = Color.Black
  5281. Label70.ForeColor = Color.Black : Label68.ForeColor = Color.Black : 報價簽回_ch.ForeColor = Color.Black : 合約簽回_ch.ForeColor = Color.Black
  5282. 小間距1_ch.ForeColor = Color.Black : 中間距1_ch.ForeColor = Color.Black : 大間距1_ch.ForeColor = Color.Black : 不計_ch.ForeColor = Color.Black
  5283. Label75.ForeColor = Color.Black : 選擇移動_lb.ForeColor = Color.Black : 資料移動_lb.ForeColor = Color.Black : 工廠_lb.ForeColor = Color.Black
  5284. 選擇係數_lb.ForeColor = Color.Black : 利潤表_ch.ForeColor = Color.Black : 工資_ch.ForeColor = Color.Black : 材料_ch.ForeColor = Color.Black
  5285. BOM群組_lb.ForeColor = Color.Black : 計算基數_lb.ForeColor = Color.Black : 明細表編輯_lb.ForeColor = Color.Black : 搜尋_lb.ForeColor = Color.Black
  5286. 公式1_lb.ForeColor = Color.Black : 公式2_lb.ForeColor = Color.Black
  5287. 鎖定1_ch.Enabled = False : 鎖定_ch.Enabled = False : 編輯1_ch.Enabled = False : 編輯_ch.Enabled = False
  5288. '----------------紅-------------------------------------------
  5289. 群組編碼_lb.ForeColor = Color.Red : 日期2_lb.ForeColor = Color.Red : 編號1_lb.ForeColor = Color.Red : 日期1_lb.ForeColor = Color.Red
  5290. 業主1_lb.ForeColor = Color.Red : 案名中1_lb.ForeColor = Color.Red : 案名英1_lb.ForeColor = Color.Red : 編號2_lb.ForeColor = Color.Red
  5291. Label53.ForeColor = Color.Red : 稅前歸零_ch.ForeColor = Color.Red : 稅後歸零_ch.ForeColor = Color.Red : Label81.ForeColor = Color.Red
  5292. Label69.ForeColor = Color.Red : Label63.ForeColor = Color.Red : Label58.ForeColor = Color.Red : Label55.ForeColor = Color.Red
  5293. Label54.ForeColor = Color.Red : Label378.ForeColor = Color.Red : Label375.ForeColor = Color.Red : Label374.ForeColor = Color.Red
  5294. Label373.ForeColor = Color.Red : Label404.ForeColor = Color.Red : Label405.ForeColor = Color.Red : Label29.ForeColor = Color.Red
  5295. 業主2_lb.ForeColor = Color.Red : 案名中2_lb.ForeColor = Color.Red : 案名英2_lb.ForeColor = Color.Red : 檔板_lb.ForeColor = Color.Red
  5296. 是否帶入主項目_ch.ForeColor = Color.Red
  5297. '----------------藍-------------------------------------------
  5298. Label73.ForeColor = Color.Blue : Label74.ForeColor = Color.Blue : Label24.ForeColor = Color.Blue : Label25.ForeColor = Color.Blue
  5299. 中文大寫1_ch.ForeColor = Color.Blue : 中文小寫1_ch.ForeColor = Color.Blue : 數字1_ch.ForeColor = Color.Blue : Label30.ForeColor = Color.Blue
  5300. Label45.ForeColor = Color.Blue : Label31.ForeColor = Color.Blue : Label82.ForeColor = Color.Blue : Label39.ForeColor = Color.Blue
  5301. 甲方2_lb.ForeColor = Color.Blue : Label376.ForeColor = Color.Blue : Label377.ForeColor = Color.Blue : Label66.ForeColor = Color.Blue
  5302. Label65.ForeColor = Color.Blue : Label57.ForeColor = Color.Blue : Label60.ForeColor = Color.Blue : Label71.ForeColor = Color.Blue
  5303. 目前選擇_lb.ForeColor = Color.Blue : 項目_lb.ForeColor = Color.Blue : 合計項_lb.ForeColor = Color.Blue : 工程地點_lb.ForeColor = Color.Blue
  5304. 材料系數_lb.ForeColor = Color.Blue
  5305. '----------------綠-------------------------------------------
  5306. Label23.ForeColor = Color.Green : 座標_lb.ForeColor = Color.Green : 工材分離_ch.ForeColor = Color.Green : Label80.ForeColor = Color.Green
  5307. Label83.ForeColor = Color.Green : Label79.ForeColor = Color.Green : CH1.ForeColor = Color.Green : 稅額顯示_lb.ForeColor = Color.Green
  5308. CH2.ForeColor = Color.Green : Label390.ForeColor = Color.Green : Label389.ForeColor = Color.Green : Label388.ForeColor = Color.Green
  5309. Label387.ForeColor = Color.Green : Label386.ForeColor = Color.Green : Label21.ForeColor = Color.Green : Label391.ForeColor = Color.Green
  5310. Label393.ForeColor = Color.Green : Label394.ForeColor = Color.Green : Label396.ForeColor = Color.Green : Label395.ForeColor = Color.Green
  5311. Label42.ForeColor = Color.Green : Label410.ForeColor = Color.Green : Label408.ForeColor = Color.Green : Label412.ForeColor = Color.Green
  5312. Label413.ForeColor = Color.Green : Label414.ForeColor = Color.Green : Label62.ForeColor = Color.Green : Label61.ForeColor = Color.Green
  5313. Label59.ForeColor = Color.Green : Label67.ForeColor = Color.Green : 材料成本單價_lb.ForeColor = Color.Green : 座標1_lb.ForeColor = Color.Green
  5314. 關鍵字查詢_lb.ForeColor = Color.Green : 其他選項_lb.ForeColor = Color.Green
  5315. '--紫--
  5316. 第一項目_lb.ForeColor = Color.FromArgb(64, 0, 64) : 第二項目_lb.ForeColor = Color.FromArgb(64, 0, 64) : 第三項目_lb.ForeColor = Color.FromArgb(64, 0, 64)
  5317. 項目描述_lb.ForeColor = Color.FromArgb(64, 0, 64)
  5318. '---大便色---
  5319. 工資成本單價_lb.ForeColor = Color.FromArgb(64, 64, 0) : 工資單價_lb.ForeColor = Color.FromArgb(64, 64, 0) : 工資係數_lb.ForeColor = Color.FromArgb(64, 64, 0)
  5320. 切換_ts.BackColor = Color.White : 切換_ts.ForeColor = Color.White
  5321. 群組碼印_cb.BackColor = Color.White : 群組碼印_cb.ForeColor = Color.Black : 係數範本選擇_cb.BackColor = Color.White : 係數範本選擇_cb.ForeColor = Color.Black
  5322. 算式_tb.BackColor = Color.White : 算式_tb.ForeColor = Color.Black : 重新計算_tb.BackColor = Color.White : 重新計算_tb.ForeColor = Color.Black
  5323. 報價工程名稱_英1_tb.BackColor = Color.White : 報價工程名稱_英1_tb.ForeColor = Color.Black : 算式1_tb.BackColor = Color.White : 算式1_tb.ForeColor = Color.Black
  5324. 最後採購日1_tb.BackColor = Color.White : 最後採購日1_tb.ForeColor = Color.Black : 新增係數_bt.BackColor = Color.White : 新增係數_bt.ForeColor = Color.Black
  5325. 合約編號1_cb.BackColor = Color.White : 合約編號1_cb.ForeColor = Color.Black : 主項目_tb.BackColor = Color.White : 主項目_tb.ForeColor = Color.Black
  5326. 最後採購日_tb.BackColor = Color.White : 最後採購日_tb.ForeColor = Color.Black : 歷史單價1_tb.BackColor = Color.White : 歷史單價1_tb.ForeColor = Color.Black
  5327. 歷史單價_tb.BackColor = Color.White : 歷史單價_tb.ForeColor = Color.Black : 搜尋_bt.BackColor = Color.White : 搜尋_bt.ForeColor = Color.Black
  5328. 新群組1_cb.BackColor = Color.White : 新群組1_cb.ForeColor = Color.Black : ITEM4_cb.BackColor = Color.White : ITEM4_cb.ForeColor = Color.Black
  5329. 關鍵字搜尋1_tb.BackColor = Color.White : 關鍵字搜尋1_tb.ForeColor = Color.Black : 合約編號2_cb.BackColor = Color.White : 合約編號2_cb.ForeColor = Color.Black
  5330. 合約編號_1_tb.BackColor = Color.White : 合約編號_1_tb.ForeColor = Color.Black : 係數_nud.BackColor = Color.White : 係數_nud.ForeColor = Color.Black
  5331. 樓層_迴路_cb.BackColor = Color.White : 樓層_迴路_cb.ForeColor = Color.Black : 報價工程名稱_中1_tb.BackColor = Color.White : 報價工程名稱_中1_tb.ForeColor = Color.Black
  5332. 係數項目_cb.BackColor = Color.White : 係數項目_cb.ForeColor = Color.Black : 報價單客戶名稱1_cb.BackColor = Color.White : 報價單客戶名稱1_cb.ForeColor = Color.Black
  5333. 係數單位_cb.BackColor = Color.White : 係數單位_cb.ForeColor = Color.Black : 報價單合約編號1_tb.BackColor = Color.White : 報價單合約編號1_tb.ForeColor = Color.Black
  5334. 報價單合約編號_tb.BackColor = Color.White : 報價單合約編號_tb.ForeColor = Color.Black : 報價單客戶名稱_cb.BackColor = Color.White : 報價單客戶名稱_cb.ForeColor = Color.Black
  5335. 報價工程名稱_中_tb.BackColor = Color.White : 報價工程名稱_中_tb.ForeColor = Color.Black : 報價工程名稱_英_tb.BackColor = Color.White : 報價工程名稱_英_tb.ForeColor = Color.Black
  5336. ITEM3_cb.BackColor = Color.White : ITEM3_cb.ForeColor = Color.Black : 重新計算_tb.BackColor = Color.White : 重新計算_tb.ForeColor = Color.Black
  5337. 單位2_tb.BackColor = Color.White : 單位2_tb.ForeColor = Color.Black : 係數存檔_bt.BackColor = Color.White : 係數存檔_bt.ForeColor = Color.Black
  5338. 申請數_nud.BackColor = Color.White : 申請數_nud.ForeColor = Color.Black : 縮放_bt.BackColor = Color.White : 縮放_bt.ForeColor = Color.Black
  5339. 料號_tb.BackColor = Color.White : 料號_tb.ForeColor = Color.Black : 單位_tb.BackColor = Color.White : 單位_tb.ForeColor = Color.Black
  5340. 數量_tb.BackColor = Color.White : 數量_tb.ForeColor = Color.Black : 內容_tb.BackColor = Color.White : 內容_tb.ForeColor = Color.Black
  5341. 備註_tb.BackColor = Color.White : 備註_tb.ForeColor = Color.Black : 合計項_cb.BackColor = Color.White : 合計項_cb.ForeColor = Color.Black
  5342. 報價說明_tb.BackColor = Color.White : 報價說明_tb.ForeColor = Color.Black : 關鍵字搜尋_tb.BackColor = Color.White : 關鍵字搜尋_tb.ForeColor = Color.Black
  5343. 合約編號清單_bt.BackColor = Color.White : 合約編號清單_bt.ForeColor = Color.Black : 合約編號_cb.BackColor = Color.White : 合約編號_cb.ForeColor = Color.Black
  5344. 合約編號1_tb.BackColor = Color.White : 合約編號1_tb.ForeColor = Color.Black : 合約編號2_tb.BackColor = Color.White : 合約編號2_tb.ForeColor = Color.Black
  5345. 合約編號3_tb.BackColor = Color.White : 合約編號3_tb.ForeColor = Color.Black : 自動讀取_bt.BackColor = Color.White : 自動讀取_bt.ForeColor = Color.Black
  5346. 手動輸入_bt.BackColor = Color.White : 手動輸入_bt.ForeColor = Color.Black : 最末頁_cb.BackColor = Color.White : 最末頁_cb.ForeColor = Color.Black
  5347. 合約種類_cb.BackColor = Color.White : 合約種類_cb.ForeColor = Color.Black : 合約種類_tb.BackColor = Color.White : 合約種類_tb.ForeColor = Color.Black
  5348. 客戶名稱_tb.BackColor = Color.White : 客戶名稱_tb.ForeColor = Color.Black : 負責人_A_cb.BackColor = Color.White : 負責人_A_cb.ForeColor = Color.Black
  5349. 工程地點_tb.BackColor = Color.White : 工程地點_tb.ForeColor = Color.Black : 客戶地址_tb.BackColor = Color.White : 客戶地址_tb.ForeColor = Color.Black
  5350. 工程名稱_中_tb.BackColor = Color.White : 工程名稱_中_tb.ForeColor = Color.Black : 工程名稱_英_tb.BackColor = Color.White : 工程名稱_英_tb.ForeColor = Color.Black
  5351. 選擇公司_cb.BackColor = Color.White : 選擇公司_cb.ForeColor = Color.Black : 負責人_B_cb.BackColor = Color.White : 負責人_B_cb.ForeColor = Color.Black
  5352. 我司地址_tb.BackColor = Color.White : 我司地址_tb.ForeColor = Color.Black : NUD1.BackColor = Color.White : NUD1.ForeColor = Color.Black
  5353. NUD2.BackColor = Color.White : NUD2.ForeColor = Color.Black : NUD3.BackColor = Color.White : NUD3.ForeColor = Color.Black
  5354. 工程款1_nud.BackColor = Color.White : 工程款1_nud.ForeColor = Color.Black : 工程款2_nud.BackColor = Color.White : 工程款2_nud.ForeColor = Color.Black
  5355. 工程款3_nud.BackColor = Color.White : 工程款3_nud.ForeColor = Color.Black : 工程款4_nud.BackColor = Color.White : 工程款4_nud.ForeColor = Color.Black
  5356. 工程款5_nud.BackColor = Color.White : 工程款5_nud.ForeColor = Color.Black : 工程款6_nud.BackColor = Color.White : 工程款6_nud.ForeColor = Color.Black
  5357. 金額1_und.BackColor = Color.White : 金額1_und.ForeColor = Color.Black : 金額2_und.BackColor = Color.White : 金額2_und.ForeColor = Color.Black
  5358. 金額3_und.BackColor = Color.White : 金額3_und.ForeColor = Color.Black : 金額4_und.BackColor = Color.White : 金額4_und.ForeColor = Color.Black
  5359. 金額5_und.BackColor = Color.White : 金額5_und.ForeColor = Color.Black : 金額6_und.BackColor = Color.White : 金額6_und.ForeColor = Color.Black
  5360. 工期_nud.BackColor = Color.White : 工期_nud.ForeColor = Color.Black : 逾期_bt.BackColor = Color.White : 逾期_bt.ForeColor = Color.Black
  5361. 最高扣款_bt.BackColor = Color.White : 最高扣款_bt.ForeColor = Color.Black : 逾期_英_bt.BackColor = Color.White : 逾期_英_bt.ForeColor = Color.Black
  5362. 最高扣款_英_bt.BackColor = Color.White : 最高扣款_英_bt.ForeColor = Color.Black : 減價_bt.BackColor = Color.White : 減價_bt.ForeColor = Color.Black
  5363. 廠區_中文_tb.BackColor = Color.White : 廠區_中文_tb.ForeColor = Color.Black : 頁數_bt.BackColor = Color.White : 頁數_bt.ForeColor = Color.Black
  5364. 預估工資總成本_tb.BackColor = Color.White : 預估工資總成本_tb.ForeColor = Color.Black : 預估材料總成本_tb.BackColor = Color.White : 預估材料總成本_tb.ForeColor = Color.Black
  5365. 總成本_tb.BackColor = Color.White : 總成本_tb.ForeColor = Color.Black : 預估工資總報價_tb.BackColor = Color.White : 預估工資總報價_tb.ForeColor = Color.Black
  5366. 預估材料總報價_tb.BackColor = Color.White : 預估材料總報價_tb.ForeColor = Color.Black : 總報價_tb.BackColor = Color.White : 總報價_tb.ForeColor = Color.Black
  5367. 預估利潤_tb.BackColor = Color.White : 預估利潤_tb.ForeColor = Color.Black : 利潤比1_tb.BackColor = Color.White : 利潤比1_tb.ForeColor = Color.Black
  5368. 利潤比2_tb.BackColor = Color.White : 利潤比2_tb.ForeColor = Color.Black : 利潤比3_tb.BackColor = Color.White : 利潤比3_tb.ForeColor = Color.Black
  5369. 利潤比4_tb.BackColor = Color.White : 利潤比4_tb.ForeColor = Color.Black : 選擇項1_tb.BackColor = Color.White : 選擇項1_tb.ForeColor = Color.Black
  5370. 單位1_tb.BackColor = Color.White : 單位1_tb.ForeColor = Color.Black : 內容1_tb.BackColor = Color.White : 內容1_tb.ForeColor = Color.Black
  5371. 備註1_tb.BackColor = Color.White : 備註1_tb.ForeColor = Color.Black : 地點_中_tb.BackColor = Color.White : 地點_中_tb.ForeColor = Color.Blue
  5372. 地點_印_tb.BackColor = Color.White : 地點_印_tb.ForeColor = Color.Blue : 主項_中_cb.BackColor = Color.White : 主項_中_cb.ForeColor = Color.FromArgb(64, 0, 64)
  5373. 主項_印_cb.BackColor = Color.White : 主項_印_cb.ForeColor = Color.FromArgb(64, 0, 64) : 主名_中_cb.BackColor = Color.White : 主名_中_cb.ForeColor = Color.FromArgb(64, 0, 64)
  5374. 主名_印_cb.BackColor = Color.White : 主名_印_cb.ForeColor = Color.FromArgb(64, 0, 64) : 項名_中_cb.BackColor = Color.White : 項名_中_cb.ForeColor = Color.FromArgb(64, 0, 64)
  5375. 項名_印_cb.BackColor = Color.White : 項名_印_cb.ForeColor = Color.FromArgb(64, 0, 64) : 描述_中_cb.BackColor = Color.White : 描述_中_cb.ForeColor = Color.FromArgb(64, 0, 64)
  5376. 描述_印_cb.BackColor = Color.White : 描述_印_cb.ForeColor = Color.FromArgb(64, 0, 64) : 關鍵字_tb.BackColor = Color.White : 關鍵字_tb.ForeColor = Color.Green
  5377. 其他_中_cb.BackColor = Color.White : 其他_中_cb.ForeColor = Color.Green : 其他_印_cb.BackColor = Color.White : 其他_印_cb.ForeColor = Color.Green
  5378. 實際數量_nud.BackColor = Color.White : 實際數量_nud.ForeColor = Color.Black : 工資成本_nud.BackColor = Color.White : 工資成本_nud.ForeColor = Color.Black
  5379. 材料成本_nud.BackColor = Color.White : 材料成本_nud.ForeColor = Color.Black : 工資單價_cb.BackColor = Color.White : 工資單價_cb.ForeColor = Color.Black
  5380. 工資系數_cb.BackColor = Color.White : 工資系數_cb.ForeColor = Color.Black : 係數清單_cb.BackColor = Color.White : 係數清單_cb.ForeColor = Color.Black
  5381. 試算表_cb.BackColor = Color.White : 試算表_cb.ForeColor = Color.Blue : 選擇項_tb.BackColor = Color.White : 選擇項_tb.ForeColor = Color.Blue
  5382. 文字資料輸入1_bt.BackColor = Color.White : 文字資料輸入1_bt.ForeColor = Color.Blue : GroupBox2.BackColor = Color.White : GroupBox2.ForeColor = Color.Blue
  5383. ITEM1_cb.BackColor = Color.White : ITEM1_cb.ForeColor = Color.Blue : 未折價前_tb.BackColor = Color.White : 未折價前_tb.ForeColor = Color.Blue
  5384. 報價小計_tb.BackColor = Color.White : 報價小計_tb.ForeColor = Color.Blue : 文字資料輸入2_bt.BackColor = Color.White : 文字資料輸入2_bt.ForeColor = Color.Blue
  5385. ITEM2_cb.BackColor = Color.White : ITEM2_cb.ForeColor = Color.Blue : 合計項1_cb.BackColor = Color.White : 合計項1_cb.ForeColor = Color.Blue
  5386. GroupBox3.BackColor = Color.White : GroupBox3.ForeColor = Color.Blue
  5387. 全部選擇_bt.BackColor = Color.White : 全部選擇_bt.ForeColor = Color.Olive : 全部取消_bt.BackColor = Color.White : 全部取消_bt.ForeColor = Color.Olive
  5388. 上移2_bt.BackColor = Color.White : 下移2_bt.BackColor = Color.White : 新增資料3_bt.BackColor = Color.White : 明細表選擇刪除2_bt.BackColor = Color.White
  5389. 歸零位數_nud.BackColor = Color.White : 歸零位數_nud.ForeColor = Color.Red : 不印工資_全選_bt.BackColor = Color.White : 不印工資_全選_bt.ForeColor = Color.Red
  5390. 不印工資_取消_bt.BackColor = Color.White : 不印工資_取消_bt.ForeColor = Color.Red
  5391. 甲方_cb.BackColor = Color.White : 甲方_cb.ForeColor = Color.Green : 折讓比例_nud.BackColor = Color.White : 折讓比例_nud.ForeColor = Color.Green
  5392. 不印材料_全選_bt.BackColor = Color.White : 不印材料_全選_bt.ForeColor = Color.Green : 不印材料_取消_bt.BackColor = Color.White : 不印材料_取消_bt.ForeColor = Color.Green
  5393. TB_1.BackColor = Color.White : TB_1.ForeColor = Color.Black : TB_2.BackColor = Color.White : TB_2.ForeColor = Color.Black
  5394. TB_3.BackColor = Color.White : TB_3.ForeColor = Color.Black : TB_4.BackColor = Color.White : TB_4.ForeColor = Color.Black
  5395. TB_5.BackColor = Color.White : TB_5.ForeColor = Color.Black : TB_6.BackColor = Color.White : TB_6.ForeColor = Color.Black
  5396. TB_7.BackColor = Color.White : TB_7.ForeColor = Color.Black : TB_8.BackColor = Color.White : TB_8.ForeColor = Color.Black
  5397. TB_9.BackColor = Color.White : TB_9.ForeColor = Color.Black : TB_10.BackColor = Color.White : TB_10.ForeColor = Color.Black
  5398. TB_11.BackColor = Color.White : TB_11.ForeColor = Color.Black : TB_12.BackColor = Color.White : TB_12.ForeColor = Color.Black
  5399. TB_13.BackColor = Color.White : TB_13.ForeColor = Color.Black : TB_14.BackColor = Color.White : TB_14.ForeColor = Color.Black
  5400. TB_15.BackColor = Color.White : TB_15.ForeColor = Color.Black : TB_16.BackColor = Color.White : TB_16.ForeColor = Color.Black
  5401. TB_17.BackColor = Color.White : TB_17.ForeColor = Color.Black : TB_18.BackColor = Color.White : TB_18.ForeColor = Color.Black
  5402. TB_19.BackColor = Color.White : TB_19.ForeColor = Color.Black : TB_20.BackColor = Color.White : TB_20.ForeColor = Color.Black
  5403. TB_21.BackColor = Color.White : TB_21.ForeColor = Color.Black
  5404. PB_1.BackColor = Color.White : PB_2.BackColor = Color.White : PB_3.BackColor = Color.White : PB_4.BackColor = Color.White : PB_5.BackColor = Color.White
  5405. PB_6.BackColor = Color.White : PB_7.BackColor = Color.White : PB_8.BackColor = Color.White : PB_9.BackColor = Color.White : PB_10.BackColor = Color.White
  5406. PB_11.BackColor = Color.White : PB_12.BackColor = Color.White : PB_13.BackColor = Color.White : PB_14.BackColor = Color.White : PB_15.BackColor = Color.White
  5407. PB_16.BackColor = Color.White : PB_17.BackColor = Color.White : PB_18.BackColor = Color.White : PB_19.BackColor = Color.White : PB_20.BackColor = Color.White
  5408. PB_21.BackColor = Color.White
  5409. 查詢_bt.BackColor = Color.White : 縮放1_bt.BackColor = Color.White : 縮放2_bt.BackColor = Color.White : 查閱文件_bt.BackColor = Color.White
  5410. 合約改版_bt.BackColor = Color.White : 合約作廢_bt.BackColor = Color.White : 刪除合約_bt.BackColor = Color.White : 發送_bt.BackColor = Color.White
  5411. 存檔_tb.BackColor = Color.White : 回首頁_bt.BackColor = Color.White : 回次頁_bt.BackColor = Color.White : BOM新增到明細表_bt.BackColor = Color.White
  5412. 選取資料新增到明細表_bt.BackColor = Color.White : 查詢1_bt.BackColor = Color.White : 新增試算表_bt.BackColor = Color.White : 新增物件_bt.BackColor = Color.White
  5413. 修改樓層_迴圈_bt.BackColor = Color.White : 重置_bt.BackColor = Color.White : 刪除1_bt.BackColor = Color.White
  5414. 修改明細表上的材料指定_bt.BackColor = Color.White : 排序2_bt.BackColor = Color.White : 規格顯示修改_bt.BackColor = Color.White : 新增資料2_bt.BackColor = Color.White
  5415. 選擇材料新增到明細表_bt.BackColor = Color.White : 報價明細表存檔_bt.BackColor = Color.White : 明細表編輯_bt.BackColor = Color.White : 總表選擇刪除1_bt.BackColor = Color.White
  5416. 排序1_bt.BackColor = Color.White : 新增資料1_bt.BackColor = Color.White : 報價總表存檔_bt.BackColor = Color.White : 列印成EXCEL_bt.BackColor = Color.White
  5417. 折價計算_bt.BackColor = Color.White : 查詢_bt.BackColor = Color.White : 彙總存檔_bt.BackColor = Color.White : 上移_bt.BackColor = Color.White : 下移_bt.BackColor = Color.White
  5418. 上移1_bt.BackColor = Color.White : 下移1_bt.BackColor = Color.White : 報價明細表存檔1_bt.BackColor = Color.White
  5419. Y軸_dgv.EnableHeadersVisualStyles = True : Y軸_dgv.BackgroundColor = Color.WhiteSmoke : Y軸_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5420. Y軸_dgv.DefaultCellStyle.BackColor = Color.WhiteSmoke : Y軸_dgv.DefaultCellStyle.ForeColor = Color.Black
  5421. 報價明細表_dgv.EnableHeadersVisualStyles = True : 報價明細表_dgv.BackgroundColor = Color.White : 報價明細表_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5422. 報價明細表_dgv.DefaultCellStyle.BackColor = Color.White : 報價明細表_dgv.DefaultCellStyle.ForeColor = Color.Black
  5423. 報價明細表4_dgv.EnableHeadersVisualStyles = True : 報價明細表4_dgv.BackgroundColor = Color.White : 報價明細表4_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5424. 報價明細表4_dgv.DefaultCellStyle.BackColor = Color.White : 報價明細表4_dgv.DefaultCellStyle.ForeColor = Color.Black
  5425. 報價總表_dgv.EnableHeadersVisualStyles = True : 報價總表_dgv.BackgroundColor = Color.White : 報價總表_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5426. 報價總表_dgv.DefaultCellStyle.BackColor = Color.White : 報價總表_dgv.DefaultCellStyle.ForeColor = Color.Black
  5427. 試算表_dgv.EnableHeadersVisualStyles = True : 試算表_dgv.BackgroundColor = Color.White : 試算表_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5428. 試算表_dgv.DefaultCellStyle.BackColor = Color.White : 試算表_dgv.DefaultCellStyle.ForeColor = Color.Black
  5429. 報價係數_dgv.EnableHeadersVisualStyles = True : 報價係數_dgv.BackgroundColor = Color.White : 報價係數_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5430. 報價係數_dgv.DefaultCellStyle.BackColor = Color.White : 報價係數_dgv.DefaultCellStyle.ForeColor = Color.Black
  5431. 報價係數1_dgv.EnableHeadersVisualStyles = True : 報價係數1_dgv.BackgroundColor = Color.White : 報價係數1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5432. 報價係數1_dgv.DefaultCellStyle.BackColor = Color.White : 報價係數1_dgv.DefaultCellStyle.ForeColor = Color.Black
  5433. 報價係數2_dgv.EnableHeadersVisualStyles = True : 報價係數2_dgv.BackgroundColor = Color.White : 報價係數2_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5434. 報價係數2_dgv.DefaultCellStyle.BackColor = Color.White : 報價係數2_dgv.DefaultCellStyle.ForeColor = Color.Black
  5435. 報價係數3_dgv.EnableHeadersVisualStyles = True : 報價係數3_dgv.BackgroundColor = Color.White : 報價係數3_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5436. 報價係數3_dgv.DefaultCellStyle.BackColor = Color.White : 報價係數3_dgv.DefaultCellStyle.ForeColor = Color.Black
  5437. 報價係數4_dgv.EnableHeadersVisualStyles = True : 報價係數4_dgv.BackgroundColor = Color.White : 報價係數4_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5438. 報價係數4_dgv.DefaultCellStyle.BackColor = Color.White : 報價係數4_dgv.DefaultCellStyle.ForeColor = Color.Black
  5439. 報價明細表1_dgv.EnableHeadersVisualStyles = True : 報價明細表1_dgv.BackgroundColor = Color.White : 報價明細表1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5440. 報價明細表1_dgv.DefaultCellStyle.BackColor = Color.White : 報價明細表1_dgv.DefaultCellStyle.ForeColor = Color.Black
  5441. 報價明細表3_dgv.EnableHeadersVisualStyles = True : 報價明細表3_dgv.BackgroundColor = Color.White : 報價明細表3_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5442. 報價明細表3_dgv.DefaultCellStyle.BackColor = Color.White : 報價明細表3_dgv.DefaultCellStyle.ForeColor = Color.Black
  5443. 合約_dgv.EnableHeadersVisualStyles = True : 合約_dgv.BackgroundColor = Color.White : 合約_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5444. 合約_dgv.DefaultCellStyle.BackColor = Color.White : 合約_dgv.DefaultCellStyle.ForeColor = Color.Black
  5445. 物料清單_dgv.EnableHeadersVisualStyles = True : 物料清單_dgv.BackgroundColor = Color.White : 物料清單_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5446. 物料清單_dgv.DefaultCellStyle.BackColor = Color.White : 物料清單_dgv.DefaultCellStyle.ForeColor = Color.Black
  5447. 物料規格_dgv.EnableHeadersVisualStyles = True : 物料規格_dgv.BackgroundColor = Color.White : 物料規格_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5448. 物料規格_dgv.DefaultCellStyle.BackColor = Color.White : 物料規格_dgv.DefaultCellStyle.ForeColor = Color.Black
  5449. 物料清單1_dgv.EnableHeadersVisualStyles = True : 物料清單1_dgv.BackgroundColor = Color.White : 物料清單1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5450. 物料清單1_dgv.DefaultCellStyle.BackColor = Color.White : 物料清單1_dgv.DefaultCellStyle.ForeColor = Color.Black
  5451. 物料規格1_dgv.EnableHeadersVisualStyles = True : 物料規格1_dgv.BackgroundColor = Color.White : 物料規格1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5452. 物料規格1_dgv.DefaultCellStyle.BackColor = Color.White : 物料規格1_dgv.DefaultCellStyle.ForeColor = Color.Black
  5453. BOM表控制_dgv.EnableHeadersVisualStyles = True : BOM表控制_dgv.BackgroundColor = Color.White : BOM表控制_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5454. BOM表控制_dgv.DefaultCellStyle.BackColor = Color.White : BOM表控制_dgv.DefaultCellStyle.ForeColor = Color.Black
  5455. BOM表明細_dgv.EnableHeadersVisualStyles = True : BOM表明細_dgv.BackgroundColor = Color.White : BOM表明細_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5456. BOM表明細_dgv.DefaultCellStyle.BackColor = Color.White : BOM表明細_dgv.DefaultCellStyle.ForeColor = Color.Black
  5457. 合約1_dgv.EnableHeadersVisualStyles = True : 合約1_dgv.BackgroundColor = Color.White : 合約1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5458. 合約1_dgv.DefaultCellStyle.BackColor = Color.White : 合約1_dgv.DefaultCellStyle.ForeColor = Color.Black
  5459. 報價明細表2_dgv.EnableHeadersVisualStyles = True : 報價明細表2_dgv.BackgroundColor = Color.White : 報價明細表2_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black
  5460. 報價明細表2_dgv.DefaultCellStyle.BackColor = Color.White : 報價明細表2_dgv.DefaultCellStyle.ForeColor = Color.Black
  5461. Else
  5462. Me.BackColor = Color.Black : 新式_P.BackColor = Color.Black : 主頁_p.BackColor = Color.Black : 次頁_p.BackColor = Color.Black : 物料_p.BackColor = Color.Black
  5463. 物料清單_P.BackColor = Color.Black : BOM_p.BackColor = Color.Black : 合約_p.BackColor = Color.Black : 工程合約試算表_tc.BackColor = Color.Black
  5464. 工程合約報價明細_tc.BackColor = Color.Black : 係數設定_tc.BackColor = Color.Black
  5465. 視窗2_pl.BackColor = Color.DimGray : Panel3.BackColor = Color.Black : 總表空間_P.BackColor = Color.Black
  5466. TabPage1.BackColor = Color.Black : TabPage2.BackColor = Color.Black : 建立合約資料_tc.BackColor = Color.Black : 基本資料_P.BackColor = Color.Black
  5467. 視窗3_pl.BackColor = Color.DarkGreen : 式算明細表_P.BackColor = Color.DimGray : Panel4.BackColor = Color.Black
  5468. '----------------黑-------------------------------------------
  5469. 最後採購日1_lb.ForeColor = Color.White : 歷史單價1_lb.ForeColor = Color.White : 帶上歷史單價1_ch.ForeColor = Color.White : 最後採購日_lb.ForeColor = Color.White
  5470. 歷史單價_lb.ForeColor = Color.White : 帶上歷史單價_ch.ForeColor = Color.White : 小間距_ch.ForeColor = Color.White : 中間距_ch.ForeColor = Color.White
  5471. 大間距_ch.ForeColor = Color.White : 詳細資料1_ch.ForeColor = Color.White : 小間距2_ch.ForeColor = Color.White : 中間距2_ch.ForeColor = Color.White
  5472. 大間距2_ch.ForeColor = Color.White : 小間距3_ch.ForeColor = Color.White : 中間距3_ch.ForeColor = Color.White : 大間距3_ch.ForeColor = Color.White
  5473. 項目1_lb.ForeColor = Color.White : 主項目_lb.ForeColor = Color.White : 詳細資料_ch.ForeColor = Color.White : 單位_lb.ForeColor = Color.White
  5474. 甲方_lb.ForeColor = Color.White : Label1.ForeColor = Color.White : Label3.ForeColor = Color.White : 編輯1_ch.ForeColor = Color.White
  5475. Label4.ForeColor = Color.White : 編輯_ch.ForeColor = Color.White : 鎖定1_ch.ForeColor = Color.White : 鎖定_ch.ForeColor = Color.White
  5476. 詳細資料2_ch.ForeColor = Color.White : 啟用批量選擇_ch.ForeColor = Color.White : 係數_lb.ForeColor = Color.White : 通用_lb.ForeColor = Color.White
  5477. 材料_ch.ForeColor = Color.White : 工資_ch.ForeColor = Color.White : 利潤表_ch.ForeColor = Color.White : 辦公_lb.ForeColor = Color.White
  5478. Label16.ForeColor = Color.White : 待送報價_ch.ForeColor = Color.White : 待審報價_ch.ForeColor = Color.White : 宿舍_lb.ForeColor = Color.White
  5479. 報價放行_ch.ForeColor = Color.White : 作廢報價_ch.ForeColor = Color.White : 合約號搜尋_lb.ForeColor = Color.White : Label28.ForeColor = Color.White
  5480. Label5.ForeColor = Color.White : Label379.ForeColor = Color.White : Label35.ForeColor = Color.White : Label15.ForeColor = Color.White
  5481. Label20.ForeColor = Color.White : 合約停止_ch.ForeColor = Color.White : 美金_ch.ForeColor = Color.White : 人民幣_ch.ForeColor = Color.White
  5482. 台幣_ch.ForeColor = Color.White : 印尼盾_ch.ForeColor = Color.White : Label380.ForeColor = Color.White : Label64.ForeColor = Color.White
  5483. Label70.ForeColor = Color.White : Label68.ForeColor = Color.White : 報價簽回_ch.ForeColor = Color.White : 合約簽回_ch.ForeColor = Color.White
  5484. 小間距1_ch.ForeColor = Color.White : 中間距1_ch.ForeColor = Color.White : 大間距1_ch.ForeColor = Color.White : 不計_ch.ForeColor = Color.White
  5485. Label75.ForeColor = Color.White : 選擇移動_lb.ForeColor = Color.White : 資料移動_lb.ForeColor = Color.White : 工廠_lb.ForeColor = Color.White
  5486. 選擇係數_lb.ForeColor = Color.White : 利潤表_ch.ForeColor = Color.White : 工資_ch.ForeColor = Color.White : 材料_ch.ForeColor = Color.White
  5487. BOM群組_lb.ForeColor = Color.White : 計算基數_lb.ForeColor = Color.White : 明細表編輯_lb.ForeColor = Color.White : 搜尋_lb.ForeColor = Color.White
  5488. 公式1_lb.ForeColor = Color.White : 公式2_lb.ForeColor = Color.White
  5489. 鎖定1_ch.Enabled = True : 鎖定_ch.Enabled = True : 編輯1_ch.Enabled = True : 編輯_ch.Enabled = True
  5490. '----------------紅-------------------------------------------
  5491. 群組編碼_lb.ForeColor = Color.LightPink : 日期2_lb.ForeColor = Color.LightPink : 編號1_lb.ForeColor = Color.LightPink : 日期1_lb.ForeColor = Color.LightPink
  5492. 業主1_lb.ForeColor = Color.LightPink : 案名中1_lb.ForeColor = Color.LightPink : 案名英1_lb.ForeColor = Color.LightPink : 編號2_lb.ForeColor = Color.LightPink
  5493. Label53.ForeColor = Color.LightPink : 稅前歸零_ch.ForeColor = Color.LightPink : 稅後歸零_ch.ForeColor = Color.LightPink : Label81.ForeColor = Color.LightPink
  5494. Label69.ForeColor = Color.LightPink : Label63.ForeColor = Color.LightPink : Label58.ForeColor = Color.LightPink : Label55.ForeColor = Color.LightPink
  5495. Label54.ForeColor = Color.LightPink : Label378.ForeColor = Color.LightPink : Label375.ForeColor = Color.LightPink : Label374.ForeColor = Color.LightPink
  5496. Label373.ForeColor = Color.LightPink : Label404.ForeColor = Color.LightPink : Label405.ForeColor = Color.LightPink : Label29.ForeColor = Color.LightPink
  5497. 業主2_lb.ForeColor = Color.LightPink : 案名中2_lb.ForeColor = Color.LightPink : 案名英2_lb.ForeColor = Color.LightPink : 檔板_lb.ForeColor = Color.LightPink
  5498. 是否帶入主項目_ch.ForeColor = Color.LightPink
  5499. '----------------藍-------------------------------------------
  5500. Label73.ForeColor = Color.LightBlue : Label74.ForeColor = Color.LightBlue : Label24.ForeColor = Color.LightBlue : Label25.ForeColor = Color.LightBlue
  5501. 中文大寫1_ch.ForeColor = Color.LightBlue : 中文小寫1_ch.ForeColor = Color.LightBlue : 數字1_ch.ForeColor = Color.LightBlue : Label30.ForeColor = Color.LightBlue
  5502. Label45.ForeColor = Color.LightBlue : Label31.ForeColor = Color.LightBlue : Label82.ForeColor = Color.LightBlue : Label39.ForeColor = Color.LightBlue
  5503. 甲方2_lb.ForeColor = Color.LightBlue : Label376.ForeColor = Color.LightBlue : Label377.ForeColor = Color.LightBlue : Label66.ForeColor = Color.LightBlue
  5504. Label65.ForeColor = Color.LightBlue : Label57.ForeColor = Color.LightBlue : Label60.ForeColor = Color.LightBlue : Label71.ForeColor = Color.LightBlue
  5505. 目前選擇_lb.ForeColor = Color.LightBlue : 項目_lb.ForeColor = Color.LightBlue : 合計項_lb.ForeColor = Color.LightBlue : 工程地點_lb.ForeColor = Color.LightBlue
  5506. 材料系數_lb.ForeColor = Color.LightBlue
  5507. '----------------綠-------------------------------------------
  5508. Label23.ForeColor = Color.LawnGreen : 座標_lb.ForeColor = Color.LawnGreen : 工材分離_ch.ForeColor = Color.LawnGreen : Label80.ForeColor = Color.LawnGreen
  5509. Label83.ForeColor = Color.LawnGreen : Label79.ForeColor = Color.LawnGreen : CH1.ForeColor = Color.LawnGreen : 稅額顯示_lb.ForeColor = Color.LawnGreen
  5510. CH2.ForeColor = Color.LawnGreen : Label390.ForeColor = Color.LawnGreen : Label389.ForeColor = Color.LawnGreen : Label388.ForeColor = Color.LawnGreen
  5511. Label387.ForeColor = Color.LawnGreen : Label386.ForeColor = Color.LawnGreen : Label21.ForeColor = Color.LawnGreen : Label391.ForeColor = Color.LawnGreen
  5512. Label393.ForeColor = Color.LawnGreen : Label394.ForeColor = Color.LawnGreen : Label396.ForeColor = Color.LawnGreen : Label395.ForeColor = Color.LawnGreen
  5513. Label42.ForeColor = Color.LawnGreen : Label410.ForeColor = Color.LawnGreen : Label408.ForeColor = Color.LawnGreen : Label412.ForeColor = Color.LawnGreen
  5514. Label413.ForeColor = Color.LawnGreen : Label414.ForeColor = Color.LawnGreen : Label62.ForeColor = Color.LawnGreen : Label61.ForeColor = Color.LawnGreen
  5515. Label59.ForeColor = Color.LawnGreen : Label67.ForeColor = Color.LawnGreen : 材料成本單價_lb.ForeColor = Color.LawnGreen : 座標1_lb.ForeColor = Color.LawnGreen
  5516. 關鍵字查詢_lb.ForeColor = Color.LawnGreen : 其他選項_lb.ForeColor = Color.LawnGreen
  5517. '--紫--
  5518. 第一項目_lb.ForeColor = Color.Violet : 第二項目_lb.ForeColor = Color.Violet : 第三項目_lb.ForeColor = Color.Violet
  5519. 項目描述_lb.ForeColor = Color.Violet
  5520. '---大便色---
  5521. 工資成本單價_lb.ForeColor = Color.White : 工資單價_lb.ForeColor = Color.White : 工資係數_lb.ForeColor = Color.White
  5522. 切換_ts.BackColor = Color.Black : 切換_ts.ForeColor = Color.Black
  5523. 群組碼印_cb.BackColor = Color.DimGray : 群組碼印_cb.ForeColor = Color.White : 係數範本選擇_cb.BackColor = Color.DimGray : 係數範本選擇_cb.ForeColor = Color.White
  5524. 算式_tb.BackColor = Color.DimGray : 算式_tb.ForeColor = Color.White : 重新計算_tb.BackColor = Color.DimGray : 重新計算_tb.ForeColor = Color.White
  5525. 報價工程名稱_英1_tb.BackColor = Color.DimGray : 報價工程名稱_英1_tb.ForeColor = Color.White : 算式1_tb.BackColor = Color.DimGray : 算式1_tb.ForeColor = Color.White
  5526. 最後採購日1_tb.BackColor = Color.DimGray : 最後採購日1_tb.ForeColor = Color.White : 新增係數_bt.BackColor = Color.DimGray : 新增係數_bt.ForeColor = Color.White
  5527. 合約編號1_cb.BackColor = Color.DimGray : 合約編號1_cb.ForeColor = Color.White : 主項目_tb.BackColor = Color.DimGray : 主項目_tb.ForeColor = Color.White
  5528. 最後採購日_tb.BackColor = Color.DimGray : 最後採購日_tb.ForeColor = Color.White : 歷史單價1_tb.BackColor = Color.DimGray : 歷史單價1_tb.ForeColor = Color.White
  5529. 歷史單價_tb.BackColor = Color.DimGray : 歷史單價_tb.ForeColor = Color.White : 搜尋_bt.BackColor = Color.DimGray : 搜尋_bt.ForeColor = Color.White
  5530. 新群組1_cb.BackColor = Color.DimGray : 新群組1_cb.ForeColor = Color.White : ITEM4_cb.BackColor = Color.DimGray : ITEM4_cb.ForeColor = Color.White
  5531. 關鍵字搜尋1_tb.BackColor = Color.DimGray : 關鍵字搜尋1_tb.ForeColor = Color.White : 合約編號2_cb.BackColor = Color.DimGray : 合約編號2_cb.ForeColor = Color.White
  5532. 合約編號_1_tb.BackColor = Color.DimGray : 合約編號_1_tb.ForeColor = Color.White : 係數_nud.BackColor = Color.DimGray : 係數_nud.ForeColor = Color.White
  5533. 樓層_迴路_cb.BackColor = Color.DimGray : 樓層_迴路_cb.ForeColor = Color.White : 報價工程名稱_中1_tb.BackColor = Color.DimGray : 報價工程名稱_中1_tb.ForeColor = Color.White
  5534. 係數項目_cb.BackColor = Color.DimGray : 係數項目_cb.ForeColor = Color.White : 報價單客戶名稱1_cb.BackColor = Color.DimGray : 報價單客戶名稱1_cb.ForeColor = Color.White
  5535. 係數單位_cb.BackColor = Color.DimGray : 係數單位_cb.ForeColor = Color.White : 報價單合約編號1_tb.BackColor = Color.DimGray : 報價單合約編號1_tb.ForeColor = Color.White
  5536. 報價單合約編號_tb.BackColor = Color.DimGray : 報價單合約編號_tb.ForeColor = Color.White : 報價單客戶名稱_cb.BackColor = Color.DimGray : 報價單客戶名稱_cb.ForeColor = Color.White
  5537. 報價工程名稱_中_tb.BackColor = Color.DimGray : 報價工程名稱_中_tb.ForeColor = Color.White : 報價工程名稱_英_tb.BackColor = Color.DimGray : 報價工程名稱_英_tb.ForeColor = Color.White
  5538. ITEM3_cb.BackColor = Color.DimGray : ITEM3_cb.ForeColor = Color.White : 重新計算_tb.BackColor = Color.DimGray : 重新計算_tb.ForeColor = Color.White
  5539. 單位2_tb.BackColor = Color.DimGray : 單位2_tb.ForeColor = Color.White : 係數存檔_bt.BackColor = Color.DimGray : 係數存檔_bt.ForeColor = Color.White
  5540. 申請數_nud.BackColor = Color.DimGray : 申請數_nud.ForeColor = Color.White : 縮放_bt.BackColor = Color.DimGray : 縮放_bt.ForeColor = Color.White
  5541. 料號_tb.BackColor = Color.DimGray : 料號_tb.ForeColor = Color.White : 單位_tb.BackColor = Color.DimGray : 單位_tb.ForeColor = Color.White
  5542. 數量_tb.BackColor = Color.DimGray : 數量_tb.ForeColor = Color.White : 內容_tb.BackColor = Color.DimGray : 內容_tb.ForeColor = Color.White
  5543. 備註_tb.BackColor = Color.DimGray : 備註_tb.ForeColor = Color.White : 合計項_cb.BackColor = Color.DimGray : 合計項_cb.ForeColor = Color.White
  5544. 報價說明_tb.BackColor = Color.DimGray : 報價說明_tb.ForeColor = Color.White : 關鍵字搜尋_tb.BackColor = Color.DimGray : 關鍵字搜尋_tb.ForeColor = Color.White
  5545. 合約編號清單_bt.BackColor = Color.DimGray : 合約編號清單_bt.ForeColor = Color.White : 合約編號_cb.BackColor = Color.DimGray : 合約編號_cb.ForeColor = Color.White
  5546. 合約編號1_tb.BackColor = Color.DimGray : 合約編號1_tb.ForeColor = Color.White : 合約編號2_tb.BackColor = Color.DimGray : 合約編號2_tb.ForeColor = Color.White
  5547. 合約編號3_tb.BackColor = Color.DimGray : 合約編號3_tb.ForeColor = Color.White : 自動讀取_bt.BackColor = Color.DimGray : 自動讀取_bt.ForeColor = Color.White
  5548. 手動輸入_bt.BackColor = Color.DimGray : 手動輸入_bt.ForeColor = Color.White : 最末頁_cb.BackColor = Color.DimGray : 最末頁_cb.ForeColor = Color.White
  5549. 合約種類_cb.BackColor = Color.DimGray : 合約種類_cb.ForeColor = Color.White : 合約種類_tb.BackColor = Color.DimGray : 合約種類_tb.ForeColor = Color.White
  5550. 客戶名稱_tb.BackColor = Color.DimGray : 客戶名稱_tb.ForeColor = Color.White : 負責人_A_cb.BackColor = Color.DimGray : 負責人_A_cb.ForeColor = Color.White
  5551. 工程地點_tb.BackColor = Color.DimGray : 工程地點_tb.ForeColor = Color.White : 客戶地址_tb.BackColor = Color.DimGray : 客戶地址_tb.ForeColor = Color.White
  5552. 工程名稱_中_tb.BackColor = Color.DimGray : 工程名稱_中_tb.ForeColor = Color.White : 工程名稱_英_tb.BackColor = Color.DimGray : 工程名稱_英_tb.ForeColor = Color.White
  5553. 選擇公司_cb.BackColor = Color.DimGray : 選擇公司_cb.ForeColor = Color.White : 負責人_B_cb.BackColor = Color.DimGray : 負責人_B_cb.ForeColor = Color.White
  5554. 我司地址_tb.BackColor = Color.DimGray : 我司地址_tb.ForeColor = Color.White : NUD1.BackColor = Color.DimGray : NUD1.ForeColor = Color.White
  5555. NUD2.BackColor = Color.DimGray : NUD2.ForeColor = Color.White : NUD3.BackColor = Color.DimGray : NUD3.ForeColor = Color.White
  5556. 工程款1_nud.BackColor = Color.DimGray : 工程款1_nud.ForeColor = Color.White : 工程款2_nud.BackColor = Color.DimGray : 工程款2_nud.ForeColor = Color.White
  5557. 工程款3_nud.BackColor = Color.DimGray : 工程款3_nud.ForeColor = Color.White : 工程款4_nud.BackColor = Color.DimGray : 工程款4_nud.ForeColor = Color.White
  5558. 工程款5_nud.BackColor = Color.DimGray : 工程款5_nud.ForeColor = Color.White : 工程款6_nud.BackColor = Color.DimGray : 工程款6_nud.ForeColor = Color.White
  5559. 金額1_und.BackColor = Color.DimGray : 金額1_und.ForeColor = Color.White : 金額2_und.BackColor = Color.DimGray : 金額2_und.ForeColor = Color.White
  5560. 金額3_und.BackColor = Color.DimGray : 金額3_und.ForeColor = Color.White : 金額4_und.BackColor = Color.DimGray : 金額4_und.ForeColor = Color.White
  5561. 金額5_und.BackColor = Color.DimGray : 金額5_und.ForeColor = Color.White : 金額6_und.BackColor = Color.DimGray : 金額6_und.ForeColor = Color.White
  5562. 工期_nud.BackColor = Color.DimGray : 工期_nud.ForeColor = Color.White : 逾期_bt.BackColor = Color.DimGray : 逾期_bt.ForeColor = Color.White
  5563. 最高扣款_bt.BackColor = Color.DimGray : 最高扣款_bt.ForeColor = Color.White : 逾期_英_bt.BackColor = Color.DimGray : 逾期_英_bt.ForeColor = Color.White
  5564. 最高扣款_英_bt.BackColor = Color.DimGray : 最高扣款_英_bt.ForeColor = Color.White : 減價_bt.BackColor = Color.DimGray : 減價_bt.ForeColor = Color.White
  5565. 廠區_中文_tb.BackColor = Color.DimGray : 廠區_中文_tb.ForeColor = Color.White : 頁數_bt.BackColor = Color.DimGray : 頁數_bt.ForeColor = Color.White
  5566. 預估工資總成本_tb.BackColor = Color.DimGray : 預估工資總成本_tb.ForeColor = Color.White : 預估材料總成本_tb.BackColor = Color.DimGray : 預估材料總成本_tb.ForeColor = Color.White
  5567. 總成本_tb.BackColor = Color.DimGray : 總成本_tb.ForeColor = Color.White : 預估工資總報價_tb.BackColor = Color.DimGray : 預估工資總報價_tb.ForeColor = Color.White
  5568. 預估材料總報價_tb.BackColor = Color.DimGray : 預估材料總報價_tb.ForeColor = Color.White : 總報價_tb.BackColor = Color.DimGray : 總報價_tb.ForeColor = Color.White
  5569. 預估利潤_tb.BackColor = Color.DimGray : 預估利潤_tb.ForeColor = Color.White : 利潤比1_tb.BackColor = Color.DimGray : 利潤比1_tb.ForeColor = Color.White
  5570. 利潤比2_tb.BackColor = Color.DimGray : 利潤比2_tb.ForeColor = Color.White : 利潤比3_tb.BackColor = Color.DimGray : 利潤比3_tb.ForeColor = Color.White
  5571. 利潤比4_tb.BackColor = Color.DimGray : 利潤比4_tb.ForeColor = Color.White : 選擇項1_tb.BackColor = Color.DimGray : 選擇項1_tb.ForeColor = Color.White
  5572. 單位1_tb.BackColor = Color.DimGray : 單位1_tb.ForeColor = Color.White : 內容1_tb.BackColor = Color.DimGray : 內容1_tb.ForeColor = Color.White
  5573. 備註1_tb.BackColor = Color.DimGray : 備註1_tb.ForeColor = Color.White : 地點_中_tb.BackColor = Color.DimGray : 地點_中_tb.ForeColor = Color.White
  5574. 地點_印_tb.BackColor = Color.DimGray : 地點_印_tb.ForeColor = Color.White : 主項_中_cb.BackColor = Color.DimGray : 主項_中_cb.ForeColor = Color.White
  5575. 主項_印_cb.BackColor = Color.DimGray : 主項_印_cb.ForeColor = Color.White : 主名_中_cb.BackColor = Color.DimGray : 主名_中_cb.ForeColor = Color.White
  5576. 主名_印_cb.BackColor = Color.DimGray : 主名_印_cb.ForeColor = Color.White : 項名_中_cb.BackColor = Color.DimGray : 項名_中_cb.ForeColor = Color.White
  5577. 項名_印_cb.BackColor = Color.DimGray : 項名_印_cb.ForeColor = Color.White : 描述_中_cb.BackColor = Color.DimGray : 描述_中_cb.ForeColor = Color.White
  5578. 描述_印_cb.BackColor = Color.DimGray : 描述_印_cb.ForeColor = Color.White : 關鍵字_tb.BackColor = Color.DimGray : 關鍵字_tb.ForeColor = Color.White
  5579. 其他_中_cb.BackColor = Color.DimGray : 其他_中_cb.ForeColor = Color.White : 其他_印_cb.BackColor = Color.DimGray : 其他_印_cb.ForeColor = Color.White
  5580. 實際數量_nud.BackColor = Color.DimGray : 實際數量_nud.ForeColor = Color.White : 工資成本_nud.BackColor = Color.DimGray : 工資成本_nud.ForeColor = Color.White
  5581. 材料成本_nud.BackColor = Color.DimGray : 材料成本_nud.ForeColor = Color.White : 工資單價_cb.BackColor = Color.DimGray : 工資單價_cb.ForeColor = Color.White
  5582. 工資系數_cb.BackColor = Color.DimGray : 工資系數_cb.ForeColor = Color.White : 係數清單_cb.BackColor = Color.DimGray : 係數清單_cb.ForeColor = Color.White
  5583. 試算表_cb.BackColor = Color.DimGray : 試算表_cb.ForeColor = Color.LightBlue : 選擇項_tb.BackColor = Color.DimGray : 選擇項_tb.ForeColor = Color.LightBlue
  5584. 文字資料輸入1_bt.BackColor = Color.DimGray : 文字資料輸入1_bt.ForeColor = Color.LightBlue : GroupBox2.BackColor = Color.DimGray : GroupBox2.ForeColor = Color.LightBlue
  5585. ITEM1_cb.BackColor = Color.DimGray : ITEM1_cb.ForeColor = Color.LightBlue : 未折價前_tb.BackColor = Color.DimGray : 未折價前_tb.ForeColor = Color.LightBlue
  5586. 報價小計_tb.BackColor = Color.DimGray : 報價小計_tb.ForeColor = Color.LightBlue : 文字資料輸入2_bt.BackColor = Color.DimGray : 文字資料輸入2_bt.ForeColor = Color.LightBlue
  5587. ITEM2_cb.BackColor = Color.DimGray : ITEM2_cb.ForeColor = Color.LightBlue : 合計項1_cb.BackColor = Color.DimGray : 合計項1_cb.ForeColor = Color.LightBlue
  5588. GroupBox3.BackColor = Color.Black : GroupBox3.ForeColor = Color.LightBlue
  5589. 全部選擇_bt.BackColor = Color.DimGray : 全部選擇_bt.ForeColor = Color.LightYellow : 全部取消_bt.BackColor = Color.DimGray : 全部取消_bt.ForeColor = Color.LightYellow
  5590. 上移2_bt.BackColor = Color.DimGray : 下移2_bt.BackColor = Color.DimGray : 新增資料3_bt.BackColor = Color.DimGray : 明細表選擇刪除2_bt.BackColor = Color.DimGray
  5591. 歸零位數_nud.BackColor = Color.DimGray : 歸零位數_nud.ForeColor = Color.LightPink : 不印工資_全選_bt.BackColor = Color.DimGray : 不印工資_全選_bt.ForeColor = Color.LightPink
  5592. 不印工資_取消_bt.BackColor = Color.DimGray : 不印工資_取消_bt.ForeColor = Color.LightPink
  5593. 甲方_cb.BackColor = Color.DimGray : 甲方_cb.ForeColor = Color.LawnGreen : 折讓比例_nud.BackColor = Color.DimGray : 折讓比例_nud.ForeColor = Color.LawnGreen
  5594. 不印材料_全選_bt.BackColor = Color.DimGray : 不印材料_全選_bt.ForeColor = Color.LawnGreen : 不印材料_取消_bt.BackColor = Color.DimGray : 不印材料_取消_bt.ForeColor = Color.LawnGreen
  5595. TB_1.BackColor = Color.Black : TB_1.ForeColor = Color.White : TB_2.BackColor = Color.Black : TB_2.ForeColor = Color.White
  5596. TB_3.BackColor = Color.Black : TB_3.ForeColor = Color.White : TB_4.BackColor = Color.Black : TB_4.ForeColor = Color.White
  5597. TB_5.BackColor = Color.Black : TB_5.ForeColor = Color.White : TB_6.BackColor = Color.Black : TB_6.ForeColor = Color.White
  5598. TB_7.BackColor = Color.Black : TB_7.ForeColor = Color.White : TB_8.BackColor = Color.Black : TB_8.ForeColor = Color.White
  5599. TB_9.BackColor = Color.Black : TB_9.ForeColor = Color.White : TB_10.BackColor = Color.Black : TB_10.ForeColor = Color.White
  5600. TB_11.BackColor = Color.Black : TB_11.ForeColor = Color.White : TB_12.BackColor = Color.Black : TB_12.ForeColor = Color.White
  5601. TB_13.BackColor = Color.Black : TB_13.ForeColor = Color.White : TB_14.BackColor = Color.Black : TB_14.ForeColor = Color.White
  5602. TB_15.BackColor = Color.Black : TB_15.ForeColor = Color.White : TB_16.BackColor = Color.Black : TB_16.ForeColor = Color.White
  5603. TB_17.BackColor = Color.Black : TB_17.ForeColor = Color.White : TB_18.BackColor = Color.Black : TB_18.ForeColor = Color.White
  5604. TB_19.BackColor = Color.Black : TB_19.ForeColor = Color.White : TB_20.BackColor = Color.Black : TB_20.ForeColor = Color.White
  5605. TB_21.BackColor = Color.Black : TB_21.ForeColor = Color.White
  5606. PB_1.BackColor = Color.DimGray : PB_2.BackColor = Color.DimGray : PB_3.BackColor = Color.DimGray : PB_4.BackColor = Color.DimGray : PB_5.BackColor = Color.DimGray
  5607. PB_6.BackColor = Color.DimGray : PB_7.BackColor = Color.DimGray : PB_8.BackColor = Color.DimGray : PB_9.BackColor = Color.DimGray : PB_10.BackColor = Color.DimGray
  5608. PB_11.BackColor = Color.DimGray : PB_12.BackColor = Color.DimGray : PB_13.BackColor = Color.DimGray : PB_14.BackColor = Color.DimGray : PB_15.BackColor = Color.DimGray
  5609. PB_16.BackColor = Color.DimGray : PB_17.BackColor = Color.DimGray : PB_18.BackColor = Color.DimGray : PB_19.BackColor = Color.DimGray : PB_20.BackColor = Color.DimGray
  5610. PB_21.BackColor = Color.DimGray
  5611. 查詢_bt.BackColor = Color.DimGray : 縮放1_bt.BackColor = Color.DimGray : 縮放2_bt.BackColor = Color.DimGray : 查閱文件_bt.BackColor = Color.DimGray
  5612. 合約改版_bt.BackColor = Color.DimGray : 合約作廢_bt.BackColor = Color.DimGray : 刪除合約_bt.BackColor = Color.DimGray : 發送_bt.BackColor = Color.DimGray
  5613. 存檔_tb.BackColor = Color.DimGray : 回首頁_bt.BackColor = Color.DimGray : 回次頁_bt.BackColor = Color.DimGray : BOM新增到明細表_bt.BackColor = Color.DimGray
  5614. 選取資料新增到明細表_bt.BackColor = Color.DimGray : 查詢1_bt.BackColor = Color.DimGray : 新增試算表_bt.BackColor = Color.DimGray : 新增物件_bt.BackColor = Color.DimGray
  5615. 修改樓層_迴圈_bt.BackColor = Color.DimGray : 重置_bt.BackColor = Color.DimGray : 刪除1_bt.BackColor = Color.DimGray
  5616. 修改明細表上的材料指定_bt.BackColor = Color.DimGray : 排序2_bt.BackColor = Color.DimGray : 規格顯示修改_bt.BackColor = Color.DimGray : 新增資料2_bt.BackColor = Color.DimGray
  5617. 選擇材料新增到明細表_bt.BackColor = Color.DimGray : 報價明細表存檔_bt.BackColor = Color.DimGray : 明細表編輯_bt.BackColor = Color.DimGray : 總表選擇刪除1_bt.BackColor = Color.DimGray
  5618. 排序1_bt.BackColor = Color.DimGray : 新增資料1_bt.BackColor = Color.DimGray : 報價總表存檔_bt.BackColor = Color.DimGray : 列印成EXCEL_bt.BackColor = Color.DimGray
  5619. 折價計算_bt.BackColor = Color.DimGray : 查詢_bt.BackColor = Color.DimGray : 彙總存檔_bt.BackColor = Color.DimGray : 上移_bt.BackColor = Color.DimGray : 下移_bt.BackColor = Color.DimGray
  5620. 上移1_bt.BackColor = Color.DimGray : 下移1_bt.BackColor = Color.DimGray : 報價明細表存檔1_bt.BackColor = Color.DimGray
  5621. Y軸_dgv.EnableHeadersVisualStyles = False : Y軸_dgv.BackgroundColor = Color.DimGray : Y軸_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5622. Y軸_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DimGray : Y軸_dgv.DefaultCellStyle.BackColor = Color.Black : Y軸_dgv.DefaultCellStyle.ForeColor = Color.White
  5623. 報價明細表_dgv.EnableHeadersVisualStyles = False : 報價明細表_dgv.BackgroundColor = Color.DimGray : 報價明細表_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5624. 報價明細表_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價明細表_dgv.DefaultCellStyle.BackColor = Color.DimGray
  5625. 報價明細表_dgv.DefaultCellStyle.ForeColor = Color.White
  5626. 報價明細表4_dgv.EnableHeadersVisualStyles = False : 報價明細表4_dgv.BackgroundColor = Color.DimGray : 報價明細表4_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5627. 報價明細表4_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價明細表4_dgv.DefaultCellStyle.BackColor = Color.DimGray
  5628. 報價明細表4_dgv.DefaultCellStyle.ForeColor = Color.White
  5629. 報價總表_dgv.EnableHeadersVisualStyles = False : 報價總表_dgv.BackgroundColor = Color.DimGray : 報價總表_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5630. 報價總表_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價總表_dgv.DefaultCellStyle.BackColor = Color.DimGray
  5631. 報價總表_dgv.DefaultCellStyle.ForeColor = Color.White
  5632. 試算表_dgv.EnableHeadersVisualStyles = False : 試算表_dgv.BackgroundColor = Color.DimGray : 試算表_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5633. 試算表_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 試算表_dgv.DefaultCellStyle.BackColor = Color.Black
  5634. 試算表_dgv.DefaultCellStyle.ForeColor = Color.White
  5635. 報價係數_dgv.EnableHeadersVisualStyles = False : 報價係數_dgv.BackgroundColor = Color.DimGray : 報價係數_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5636. 報價係數_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價係數_dgv.DefaultCellStyle.BackColor = Color.Black
  5637. 報價係數_dgv.DefaultCellStyle.ForeColor = Color.White
  5638. 報價係數1_dgv.EnableHeadersVisualStyles = False : 報價係數1_dgv.BackgroundColor = Color.DimGray : 報價係數1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5639. 報價係數1_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價係數1_dgv.DefaultCellStyle.BackColor = Color.Black
  5640. 報價係數1_dgv.DefaultCellStyle.ForeColor = Color.White
  5641. 報價係數2_dgv.EnableHeadersVisualStyles = False : 報價係數2_dgv.BackgroundColor = Color.DimGray : 報價係數2_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5642. 報價係數2_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價係數2_dgv.DefaultCellStyle.BackColor = Color.Black
  5643. 報價係數2_dgv.DefaultCellStyle.ForeColor = Color.White
  5644. 報價係數3_dgv.EnableHeadersVisualStyles = False : 報價係數3_dgv.BackgroundColor = Color.DimGray : 報價係數3_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5645. 報價係數3_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價係數3_dgv.DefaultCellStyle.BackColor = Color.Black
  5646. 報價係數3_dgv.DefaultCellStyle.ForeColor = Color.White
  5647. 報價係數4_dgv.EnableHeadersVisualStyles = False : 報價係數4_dgv.BackgroundColor = Color.DimGray : 報價係數4_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5648. 報價係數4_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價係數4_dgv.DefaultCellStyle.BackColor = Color.Black
  5649. 報價係數4_dgv.DefaultCellStyle.ForeColor = Color.White
  5650. 報價明細表1_dgv.EnableHeadersVisualStyles = False : 報價明細表1_dgv.BackgroundColor = Color.DimGray : 報價明細表1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5651. 報價明細表1_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價明細表1_dgv.DefaultCellStyle.BackColor = Color.Black
  5652. 報價明細表1_dgv.DefaultCellStyle.ForeColor = Color.White
  5653. 報價明細表3_dgv.EnableHeadersVisualStyles = False : 報價明細表3_dgv.BackgroundColor = Color.DimGray : 報價明細表3_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5654. 報價明細表3_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價明細表3_dgv.DefaultCellStyle.BackColor = Color.Black
  5655. 報價明細表3_dgv.DefaultCellStyle.ForeColor = Color.White
  5656. 合約_dgv.EnableHeadersVisualStyles = False : 合約_dgv.BackgroundColor = Color.DimGray : 合約_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5657. 合約_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 合約_dgv.DefaultCellStyle.BackColor = Color.Black
  5658. 合約_dgv.DefaultCellStyle.ForeColor = Color.White
  5659. 物料清單_dgv.EnableHeadersVisualStyles = False : 物料清單_dgv.BackgroundColor = Color.DimGray : 物料清單_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5660. 物料清單_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 物料清單_dgv.DefaultCellStyle.BackColor = Color.Black
  5661. 物料清單_dgv.DefaultCellStyle.ForeColor = Color.White
  5662. 物料規格_dgv.EnableHeadersVisualStyles = False : 物料規格_dgv.BackgroundColor = Color.DimGray : 物料規格_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5663. 物料規格_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 物料規格_dgv.DefaultCellStyle.BackColor = Color.Black
  5664. 物料規格_dgv.DefaultCellStyle.ForeColor = Color.White
  5665. 物料清單1_dgv.EnableHeadersVisualStyles = False : 物料清單1_dgv.BackgroundColor = Color.DimGray : 物料清單1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5666. 物料清單1_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 物料清單1_dgv.DefaultCellStyle.BackColor = Color.Black
  5667. 物料清單1_dgv.DefaultCellStyle.ForeColor = Color.White
  5668. 物料規格1_dgv.EnableHeadersVisualStyles = False : 物料規格1_dgv.BackgroundColor = Color.DimGray : 物料規格1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5669. 物料規格1_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 物料規格1_dgv.DefaultCellStyle.BackColor = Color.Black
  5670. 物料規格1_dgv.DefaultCellStyle.ForeColor = Color.White
  5671. BOM表控制_dgv.EnableHeadersVisualStyles = False : BOM表控制_dgv.BackgroundColor = Color.DimGray : BOM表控制_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5672. BOM表控制_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : BOM表控制_dgv.DefaultCellStyle.BackColor = Color.Black
  5673. BOM表控制_dgv.DefaultCellStyle.ForeColor = Color.White
  5674. BOM表明細_dgv.EnableHeadersVisualStyles = False : BOM表明細_dgv.BackgroundColor = Color.DimGray : BOM表明細_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5675. BOM表明細_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : BOM表明細_dgv.DefaultCellStyle.BackColor = Color.Black
  5676. BOM表明細_dgv.DefaultCellStyle.ForeColor = Color.White
  5677. 合約1_dgv.EnableHeadersVisualStyles = False : 合約1_dgv.BackgroundColor = Color.DimGray : 合約1_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5678. 合約1_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 合約1_dgv.DefaultCellStyle.BackColor = Color.Black
  5679. 合約1_dgv.DefaultCellStyle.ForeColor = Color.White
  5680. 報價明細表2_dgv.EnableHeadersVisualStyles = False : 報價明細表2_dgv.BackgroundColor = Color.DimGray : 報價明細表2_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White
  5681. 報價明細表2_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.DarkGreen : 報價明細表2_dgv.DefaultCellStyle.BackColor = Color.Black
  5682. 報價明細表2_dgv.DefaultCellStyle.ForeColor = Color.White
  5683. End If
  5684. End Sub
  5685. End Class