ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

½Ð°Ý³W«h02F - 04F ¦pªG¦bData Base ¿z¿ï¦b³o­Ó½d³ò内ªº¬ÛÃö¸ê®Æ

¦^´_  198188


    ¥»ÀÉ»PDATA BASE1ÀÉ ³£¦U¦³¤@­Ó Materialªí,¨âªí¦³¦óÃö«Y?
Andy2483 µoªí©ó 2025-10-29 08:56


¨â­ÓMaterialªí¬O¤@¼Ëªº¡A¦]¬°Data Base ¤ñ¸û¤j¡A¤W¸ü¤£¤F¡A¤§«e»sªí®É¤è«K«e½ú¬Ý¸Óªí®æ¦¡¡A©Ò¥H´NÂಾ¨ì¥»ÀÉ¡C
©Ò¥H¥»ÀɪºMaterialªí¬O¤£­nªº¡C

TOP

¦^´_ 81# 198188

¦pªG ¥»ÀɪºMaterialªí¬O¤£­nªº! «áÄò°õ¦æ Sub Form() ®É »Ý­n¦A±Ò¤@¦¸ DATA BAS1Àɮפ~¯àŪ¨ì Materialªíªº ¸ê®Æ
©Ò¥H ½Ð°Ý  Sub Data() ©M Sub Form() ³o¨â­Óµ{¦¡¬O¥H¤U­þºØ»Ý¨D?
1.«ö¤@¦¸¶s«á¨â­Óµ{¦¡±µÄò°õ¦æ§¹±o¨ì.PDFÀÉ
2.«ö¶sSub Data()¥ý°õ¦æ«á,¤â°Ê½s¿è¥»ÀÉ,¦A«ö¶s°õ¦æ Sub Form() ±o¨ì.PDFÀÉ
3.¨ä¥L
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_  198188

¦pªG ¥»ÀɪºMaterialªí¬O¤£­nªº! «áÄò°õ¦æ Sub Form() ®É »Ý­n¦A±Ò¤@¦¸ DATA BAS1Àɮפ~¯à ...
Andy2483 µoªí©ó 2025-10-29 10:56



    sub Data ¬O¥´¶}Data base Ū¨ú WO NO ¡ALAYOUT PER DWG¡A FRAME PER DWG¡A PART LIST¡C

SUB FORM ¬O¥Í²£·sªí³æ¡AµM«á¥´¶}Data base¡A Ū¨úmaterial¸ê®Æ¡A¨Ã¥Í²£PSD¡C

TOP

¦^´_ 83# 198188


    ½Ð¿ï¾Ü 1 ,2 ©Î3
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

¦^´_  198188


    ½Ð¿ï¾Ü 1 ,2 ©Î3
Andy2483 µoªí©ó 2025-10-29 14:18



    ¿ï¾Ü3, ¤À¶}3­ÓÁä¡A¤@­Ó°õ¦æDATA ¤@­Ó°õ¦æ FORM,¤@­Ó°õ¦æ¥´¦LPDF

TOP

¦^´_ 85# 198188


    ¥ý´ú¸Õ DATA:
Sub Data()
Dim Arr, Brr, Crr, Z, Q, S, i&, j%, N&, T$, T1$, MyPath$, xFile$, xBook As Workbook, Re, R&
Application.ScreenUpdating = False
For Each S In [{"Layout Dwg","Frame per Dwg","Part List"}]
   Sheets(S).UsedRange.Rows.Offset(1).EntireRow.Delete
   '¡ô§R°£¥»ÀÉÂÂ¸ê®Æ
Next
MyPath = ThisWorkbook.Path & "\"
xFile = "Data Base1.xlsx"
On Error Resume Next
Set xBook = Workbooks(xFile)
If xBook Is Nothing Then
   Set xBook = Workbooks.Open(MyPath & xFile, , True, , "")
   Re = True: ThisWorkbook.Activate
End If
On Error GoTo 0
Set Z = CreateObject("Scripting.Dictionary")
T = Sheets("Read").[A2] & "|" & Sheets("Read").[C2]
T1 = Sheets("Read").[B2]
With xBook.Sheets("WO No")
   For i = 2 To .[A65536].End(3).Row
      If .Cells(i, "B") & "|" & .Cells(i, "D") = T Then
         .Rows(i).Copy Sheets("WO No").Rows(2)
         For j = 6 To 11
            Z("|" & .Cells(i, j)) = ""
            '¡ô¥OWO Noªíªº F-K Äæªº ¦r¥À«e¤è³s±µ"|"¦r¤¸·íkey,item¬OªÅ¦r¤¸¯Ç¤JZ¦r¨å
         Next
         Sheets("Read").[A2].Resize(, 3).Copy Sheets("WO No").[B2]
         GoTo 11
      End If
   Next
   MsgBox "Nothing": Exit Sub
End With
11
If T1 Like "##F-*##F" Then
   For i = Val(T1) To Val(StrReverse(Mid(StrReverse(T1), 2, 2)))
      Z(Format(i, "00F")) = ""
   Next
   Else
      Q = Split(T1 & "&" & T1, "&")
      For i = 0 To UBound(Q)
         Z(Q(i)) = 0
      Next
End If
Brr = xBook.Sheets("Layout Dwg").[A1].CurrentRegion
For i = 2 To UBound(Brr)
   If Z.Exists(Brr(i, 2)) And Brr(i, 4) = Sheets("Read").[A2] Then
      '¡ô¦pªGBÄæ ¼Ó¼h¤Î DÄæ §å¦¸¦¸§Ç§k¦X
      Z(Brr(i, 1)) = Z(Brr(i, 1)) + Val(Brr(i, 3))
      '¡ô¥»ÀɪºLayout Dwgªí ªºAÄæ ¤À§G¹Ï¸¹(¨äCÄæ¼Æ¶q­n¥[Á`,¥H¤UºÙ:LD¦X­p¼Æ¶q)
      N = N + 1
      For j = 1 To 4: Brr(N, j) = Brr(i, j): Next
   End If
Next
If N > 0 Then Sheets("Layout Dwg").[A2].Resize(N, 4) = Brr: N = 0 Else MsgBox "Nothing under the floor": GoTo 12
Brr = xBook.Sheets("Frame per Dwg").[A1].CurrentRegion
For i = 2 To UBound(Brr)
   If Z(Brr(i, 1)) > 0 Then
      N = N + 1
      For j = 1 To 6: Brr(N, j) = Brr(i, j): Next
      Brr(N, 5) = Brr(N, 5) * Z(Brr(i, 1))
      '¡ô¥»ÀɪºFrame per Dwg,¨ä¤¤EÄæªº¼Æ¶q­n*LD¦X­p¼Æ¶q
      If Z(Brr(i, 2)) > 0 Then
         MsgBox "Layout DwgªíAÄæ(¤À§G¹Ï¸¹)»P Frame per DwgªíBÄæ(²Õ¸Ë¹Ï¸¹)­«½Æ" & vbLf & vbLf & Brr(i, 2)
         Exit Sub
      End If
      Z(Brr(i, 2) & "/") = Z(Brr(i, 2) & "/") + Brr(N, 5)
      '¡ô¥»ÀɪºFrame per Dwgªí ªºBÄæ ²Õ¸Ë¹Ï¸¹ (¨äEÄæ¼Æ¶q­n¥[Á`,¥H¤UºÙ:FD¦X­p¼Æ¶q)
   End If
Next
If N > 0 Then Sheets("Frame per Dwg").[A2].Resize(N, 6) = Brr: N = 0 Else MsgBox "Frame per Dwg_Nothing"
Brr = xBook.Sheets("Part List").[A1].CurrentRegion
ReDim Arr(1 To 100000, 1 To 13): Crr = Arr
For i = 2 To UBound(Brr)
   T = Brr(i, 8)
   If T Like "*[a-z]" Then Q = Left(T, Len(T) - 1) Else Q = "||"
   If Z(T) > 0 Or Z(Q) > 0 Then
      N = N + 1
      For j = 1 To 13: Arr(N, j) = Brr(i, j): Next
      Arr(N, 3) = Arr(N, 3) * (Z(T) + Z(Q))
   End If
   '¡ô1.¥»ÀɪºLayout Dwgªí ªºAÄæ ¤À§G¹Ï¸¹ ­n¤ñ¹ï Data Base ¸ÌPart ListªíªºHÄæ ¤À§G¹Ï½s¸¹
   '1.1.­Y§k¦X®É¾ã¦C±a¥X¨Ó¨ì¥»ÀɪºPart List,¨ä¤¤CÄæªº¼Æ¶q­n*LD¦X­p¼Æ¶q
   '1.1.­YData Base ¸ÌPart ListªíHÄæ¦r¦ê§À³¡¦h¤F­Ó¤p¼g­^¤å¦r¥À¥h°£«á¤]§k¦X ¥»ÀɪºLayout Dwgªí ªºAÄæ ¤À§G¹Ï¸¹ ®É,¤]¾ã¦C±a¥X¨Ó¨ì¥»ÀɪºPart List,¨ä¤¤CÄæªº¼Æ¶q­n*LD¦X­p¼Æ¶q

   If Z(T & "/") > 0 And Z.Exists("|" & Left(T, 2)) Then
      R = R + 1
      For j = 1 To 13: Crr(R, j) = Brr(i, j): Next
      Crr(R, 3) = Crr(R, 3) * Z(T & "/")
      '¡ô2.¥»ÀɪºFrame per Dwgªí ªºBÄæ ²Õ¸Ë¹Ï¸¹(«e2¦r¤¸§t¦³ WO No ªíªº F - K Äæ ªº ¦r¥À) ­n¤ñ¹ï Data Base ¸ÌPart ListªíªºHÄæ ¤À§G¹Ï½s¸¹
      '2.1.­Y§k¦X®É¾ã¦C±a¥X¨Ó¨ì¥»ÀɪºPart List,¨ä¤¤CÄæªº¼Æ¶q­n*FD¦X­p¼Æ¶q

   End If
Next
If N > 0 Then
   With Sheets("Part List").[A2].Resize(N, 13)
      .Value = Arr
      .Interior.ColorIndex = 35
      '¡ô¤À§G¹Ï¸¹±a¥X¨ÓªºÀx¦s®æ©³¦â¬O ºñ¦â
   End With
End If
If R > 0 Then
   With Sheets("Part List").Cells(N + 2, 1).Resize(R, 13)
      .Value = Crr
      .Interior.ColorIndex = 36
      '¡ô²Õ¸Ë¹Ï¸¹±a¥X¨ÓªºÀx¦s®æ©³¦â¬O ¶À¦â(²Õ¸Ë¹Ï¸¹±a¥X¨Óªº¦b«á¬q)
   End With
End If
If N + R = 0 Then MsgBox "Part List_Nothing"
12: If Re = True Then xBook.Close 0
End Sub
¥Î¦æ°Ê¸Ë¸mÂsÄý½×¾Â¾Ç²ß«Ü¤è«K,ÁÂÁ½׾¸gÀç¹Î¶¤
½Ð¤j®a¤@°_¤W½×¾Â¨Ó¥æ¬y

TOP

        ÀR«ä¦Û¦b : ¥@¤W¦³¨â¥ó¨Æ¤£¯àµ¥¡G¤@¡B§µ¶¶ ¤G¡B¦æµ½¡C
ªð¦^¦Cªí ¤W¤@¥DÃD