2017-12-04 5 views
0

테이블의 필드에 값을 삽입하여 반복하려고합니다. 아래 코드를 사용해 보았습니다. 아래 코드를 사용합니다. 그러나 런타임 오류 # 3265 : "이 컬렉션에서 찾을 수없는 항목입니다." 어떤 아이디어가 이것을 달성하는 방법?레코드를 삽입하여 반복 할 때 변수를 사용해야하지만이를 수행하는 방법을 모릅니다.

Private Sub ImportRWPData_Click() 
    Dim db As Database 
    Dim rs As Recordset 
    Dim rs2 As DAO.Recordset 
    Dim File As Field 
    Dim Location As String 
    Set db = CurrentDb() 
    Set rs = db.OpenRecordset("rwpT") 
    Set rs2 = db.OpenRecordset("AIP&BOP") 
    Set File = rs.Fields("File") 
    Dim xls As Excel.Application 
    Dim wkb As Excel.Workbook 
    Dim wks As Excel.Worksheet 
    Set xls = New Excel.Application 

    'Declare variables for column values in RWP spreadsheets 
    Dim orgSheetCol(7) As String 
    orgSheetCol(0) = "$A$" 'Auto Isolation Point 
    orgSheetCol(1) = "$D$" 'Customer Minutes Lost 
    orgSheetCol(2) = "$H$" '% work plan fix 
    orgSheetCol(3) = "$E$" 'Customers in Incident Sustained 
    orgSheetCol(4) = "$C3$" 'Plan Title 
    orgSheetCol(5) = "$B33$" 'Years of Data 
    orgSheetCol(6) = "$B37$" 'Annual Improved CML 
    'Declare variables for cell values attained from RWP spreadsheets 
    Dim RWPSheetvalues(100) As String 
    RWPSheetvalues(0) = "" 'Autoisolation Point 1 
    RWPSheetvalues(1) = "" 'CML for Point 1 
    RWPSheetvalues(2) = "" '% Work Plan Fix 
    RWPSheetvalues(3) = "" 'CI For Point 1 
    RWPSheetvalues(4) = "" 'Autoisolation Point 2 
    RWPSheetvalues(5) = "" 'CML for Point 2 
    RWPSheetvalues(6) = "" '% Work Plan Fix 
    RWPSheetvalues(7) = "" 'CI For Point 2 
    RWPSheetvalues(8) = "" 'Autoisolation Point 3 
    RWPSheetvalues(9) = "" 'CML for Point 3 
    RWPSheetvalues(10) = "" '% Work Plan Fix 
    RWPSheetvalues(11) = "" 'CI For Point 3 
    RWPSheetvalues(12) = "" 'Autoisolation Point 4 
    RWPSheetvalues(13) = "" 'CML for Point 4 
    RWPSheetvalues(14) = "" '% Work Plan Fix 
    RWPSheetvalues(15) = "" 'CI For Point 4 
    RWPSheetvalues(16) = "" 'Autoisolation Point 5 
    RWPSheetvalues(17) = "" 'CML for Point 5 
    RWPSheetvalues(18) = "" '% Work Plan Fix 
    RWPSheetvalues(19) = "" 'CI For Point 5 
    RWPSheetvalues(20) = "" 'Autoisolation Point 6 
    RWPSheetvalues(21) = "" 'CML for Point 6 
    RWPSheetvalues(22) = "" '% Work Plan Fix 
    RWPSheetvalues(23) = "" 'CI For Point 6 
    RWPSheetvalues(24) = "" 'Autoisolation Point 7 
    RWPSheetvalues(25) = "" 'CML for Point 7 
    RWPSheetvalues(26) = "" '% Work Plan Fix 
    RWPSheetvalues(27) = "" 'CI For Point 7 
    RWPSheetvalues(28) = "" 'Autoisolation Point 8 
    RWPSheetvalues(29) = "" 'CML for Point 8 
    RWPSheetvalues(30) = "" '% Work Plan Fix 
    RWPSheetvalues(31) = "" 'CI For Point 8 
    RWPSheetvalues(32) = "" 'Autoisolation Point 9 
    RWPSheetvalues(33) = "" 'CML for Point 9 
    RWPSheetvalues(34) = "" '% Work Plan Fix 
    RWPSheetvalues(35) = "" 'CI For Point 9 
    RWPSheetvalues(36) = "" 'Autoisolation Point 10 
    RWPSheetvalues(37) = "" 'CML for Point 10 
    RWPSheetvalues(38) = "" '% Work Plan Fix 
    RWPSheetvalues(39) = "" 'CI For Point 10 
    RWPSheetvalues(40) = "" 'Autoisolation Point 11 
    RWPSheetvalues(41) = "" 'CML for Point 11 
    RWPSheetvalues(42) = "" '% Work Plan Fix 
    RWPSheetvalues(43) = "" 'CI For Point 11 
    RWPSheetvalues(44) = "" 'Autoisolation Point 12 
    RWPSheetvalues(45) = "" 'CML for Point 12 
    RWPSheetvalues(46) = "" '% Work Plan Fix 
    RWPSheetvalues(47) = "" 'CI For Point 12 
    RWPSheetvalues(48) = "" 'Autoisolation Point 13 
    RWPSheetvalues(49) = "" 'CML for Point 13 
    RWPSheetvalues(50) = "" '% Work Plan Fix 
    RWPSheetvalues(51) = "" 'CI For Point 13 
    RWPSheetvalues(52) = "" 'Autoisolation Point 14 
    RWPSheetvalues(53) = "" 'CML for Point 14 
    RWPSheetvalues(54) = "" '% Work Plan Fix 
    RWPSheetvalues(55) = "" 'CI For Point 14 
    RWPSheetvalues(56) = "" 'Autoisolation Point 15 
    RWPSheetvalues(57) = "" 'CML for Point 15 
    RWPSheetvalues(58) = "" '% Work Plan Fix 
    RWPSheetvalues(59) = "" 'CI For Point 15 
    RWPSheetvalues(60) = "" 'Autoisolation Point 16 
    RWPSheetvalues(61) = "" 'CML for Point 16 
    RWPSheetvalues(62) = "" '% Work Plan Fix 
    RWPSheetvalues(63) = "" 'CI For Point 16 
    RWPSheetvalues(64) = "" 'Autoisolation Point 17 
    RWPSheetvalues(65) = "" 'CML for Point 17 
    RWPSheetvalues(66) = "" '% Work Plan Fix 
    RWPSheetvalues(67) = "" 'CI For Point 17 
    RWPSheetvalues(68) = "" 'Autoisolation Point 18 
    RWPSheetvalues(69) = "" 'CML for Point 18 
    RWPSheetvalues(70) = "" '% Work Plan Fix 
    RWPSheetvalues(71) = "" 'CI For Point 18 
    RWPSheetvalues(72) = "" 'Autoisolation Point 19 
    RWPSheetvalues(73) = "" 'CML for Point 19 
    RWPSheetvalues(74) = "" '% Work Plan Fix 
    RWPSheetvalues(75) = "" 'CI For Point 19 
    RWPSheetvalues(76) = "" 'Autoisolation Point 20 
    RWPSheetvalues(77) = "" 'CML for Point 20 
    RWPSheetvalues(78) = "" '% Work Plan Fix 
    RWPSheetvalues(79) = "" 'CI For Point 20 
    RWPSheetvalues(80) = "" 'Autoisolation Point 21 
    RWPSheetvalues(81) = "" 'CML for Point 21 
    RWPSheetvalues(82) = "" '% Work Plan Fix 
    RWPSheetvalues(83) = "" 'CI For Point 21 
    RWPSheetvalues(84) = "" 'Autoisolation Point 22 
    RWPSheetvalues(85) = "" 'CML for Point 22 
    RWPSheetvalues(86) = "" '% Work Plan Fix 
    RWPSheetvalues(87) = "" 'CI For Point 22 
    RWPSheetvalues(88) = "" 'Autoisolation Point 23 
    RWPSheetvalues(89) = "" 'CML for Point 23 
    RWPSheetvalues(90) = "" '% Work Plan Fix 
    RWPSheetvalues(91) = "" 'CI For Point 23 
    RWPSheetvalues(92) = "" 'Autoisolation Point 24 
    RWPSheetvalues(93) = "" 'CML for Point 24 
    RWPSheetvalues(94) = "" '% Work Plan Fix 
    RWPSheetvalues(95) = "" 'CI For Point 25 
    RWPSheetvalues(96) = "" 'Plan Title 
    RWPSheetvalues(97) = "" 'File Location 
    RWPSheetvalues(98) = "" 'Years of Data 
    RWPSheetvalues(99) = "" 'Annual Improved CML   
    Dim cellstring As String 
    Dim rowstring As String 
    Dim rownumber As Integer 
    Dim i As Integer 
    Dim ii As Integer 
    rowstring = CStr(rownumber) 
    Dim Mycheck As String 
    Dim x As String 
    Set wkb = xls.Workbooks.Open(Location, ReadOnly:=True, UpdateLinks:=False) 
    Set wks = wkb.Worksheets("Benefit of Plan") 
    ii = 0 
    For rownumber = 7 To 30 
     rowstring = CStr(rownumber) 
      For i = 0 To 3 
      cellstring = orgSheetCol(i) & rowstring 
      RWPSheetvalues(ii) = wks.Range(cellstring).Value 
      Mycheck = VarType(RWPSheetvalues(ii)) 
      ii = ii + 1 
      Dim x As String 
      Next i 
     Next rownumber 
    RWPSheetvalues(96) = wks.Range("C3").Value 
    RWPSheetvalues(97) = File 
    RWPSheetvalues(98) = wks.Range("B33").Value 
    RWPSheetvalues(99) = wks.Range("B37").Value  
    tablecheck = DCount("PlanTitle", "AIP&BOP", "PlanTitle = '" & RWPSheetvalues(71) & "'") 'check AIP & BOP table to see if plan is already there 
    If tablecheck = 0 Then 
     rs2.AddNew 
     rs2!PlanTitle.Value = RWPSheetvalues(96) 
     rs2!FileLocation.Value = RWPSheetvalues(97) 
     rs2!YearsofData.Value = CInt(RWPSheetvalues(98)) 
     rs2!AnnualImprovedCML.Value = CLng(RWPSheetvalues(99)) 
      For i = 0 To 95 
       If RWPSheetvalues(i) <> "" Then 
        x = "AIP" & i + 1 'It Errors on this line 
        rs2!x.Value = RWPSheetvalues(0) 
       End If 
      Next i 
    End If 
    wkb.Close False 'Close workbook. False is so that it doesn't save 
    'rs.MoveNext 
    'Wend 
    rs.Close 

End Sub 
+0

전체 코드를 공유하고, 오류가 발생하는 라인주십시오 :

당신은 x이 열 이름을 포함하는 경우,이 같은 변수를 사용해야합니다. 'RWPSheetvalues'에 'i' 값 중 하나가 들어 있지 않은 것처럼 들립니다. –

+0

전체 코드는 다음과 같습니다. –

+0

사실, 원본 질문의 코드를 포함하도록 텍스트를 수정했습니다 ... –

답변

0
rs2!x.Value = RWPSheetvalues(0) 

시도 리터럴 열 x에 값, 따라서 에러를 지정한다.

rs2(x).Value = RWPSheetvalues(0) 
+0

답이 문제를 해결하면 [수락] (http : // 또한이 질문에 해결 된 것으로 표시됩니다. @ J. 라이언 – Andre