PrtTableK.Open "select * from prttable1", G_con, adOpenStatic, adLockOptimistic
Do While i <> 32
        PrtTableK.AddNew
        PrtTableK!IssueId = i
        PrtTableK.Update
        i = i + 1
Loop
PrtTableK.Close
do While j <> 13
PrtTableK.Open "select * from prttable1", G_con, adOpenStatic, adLockOptimistic
    PrtTableK.MoveFirst
   
        
        Set PaperIssueK = G_con.Execute("select * from paperno where IssueYear=" + cmbyear.Text + " and MonthNo=" + str(j) & " and issueid = '" & Trim(cbwid.Text) & "'")
        Do While Not PaperIssueK.EOF
            PrtTableK!IssueYear = PaperIssueK!IssueYear
            Select Case j
                Case 1
                    PrtTableK!DayNo1 = PaperIssueK!DayNo
                    PrtTableK!PublNo1 = PaperIssueK!PublNo
                Case 2
                    PrtTableK!DayNo2 = PaperIssueK!DayNo
                    PrtTableK!PublNo2 = PaperIssueK!PublNo
                Case 3
                    PrtTableK!DayNo3 = PaperIssueK!DayNo
                    PrtTableK!PublNo3 = PaperIssueK!PublNo
                Case 4
                    PrtTableK!DayNo4 = PaperIssueK!DayNo
                    PrtTableK!PublNo4 = PaperIssueK!PublNo
                Case 5
                    PrtTableK!DayNo5 = PaperIssueK!DayNo
                    PrtTableK!PublNo5 = PaperIssueK!PublNo
                Case 6
                    PrtTableK!DayNo6 = PaperIssueK!DayNo
                    PrtTableK!PublNo6 = PaperIssueK!PublNo
                Case 7
                    PrtTableK!DayNo7 = PaperIssueK!DayNo
                    PrtTableK!PublNo7 = PaperIssueK!PublNo
                Case 8
                    PrtTableK!DayNo8 = PaperIssueK!DayNo
                    PrtTableK!PublNo8 = PaperIssueK!PublNo
                Case 9
                    PrtTableK!DayNo9 = PaperIssueK!DayNo
                    PrtTableK!PublNo9 = PaperIssueK!PublNo
                Case 10
                    PrtTableK!DayNo10 = PaperIssueK!DayNo
                    PrtTableK!PublNo10 = PaperIssueK!PublNo
                Case 11
                    PrtTableK!DayNo11 = PaperIssueK!DayNo
                    PrtTableK!PublNo11 = PaperIssueK!PublNo
                Case 12
                    PrtTableK!DayNo12 = PaperIssueK!DayNo
                    PrtTableK!PublNo12 = PaperIssueK!PublNo
            End Select
            PrtTableK.Update
            PrtTableK.MoveNext
            PaperIssueK.MoveNext
            xh = xh + 1
        Loop
        If xh > MaxValue Then
            MaxValue = xh
        End If
        xh = 1
        j = j + 1
    Loop
    PrtTableK.Close

解决方案 »

  1.   

    具体报错为在进行对第二个月的第一条记录进行PrtTableK.Update时
      

  2.   

    你的程序都有问题,在大循环中prtTableK被打开但没闭,不会出错吗?
      

  3.   

    不好意思,贴错了一行,应为如下:
    PrtTableK.Open "select * from prttable1", G_con, adOpenStatic, adLockOptimistic
    Do While i <> 32
            PrtTableK.AddNew
            PrtTableK!IssueId = i
            PrtTableK.Update
            i = i + 1
    Loop
    PrtTableK.ClosePrtTableK.Open "select * from prttable1", G_con, adOpenStatic, adLockOptimistic
    do While j <> 13
        PrtTableK.MoveFirst
      
            
            Set PaperIssueK = G_con.Execute("select * from paperno where IssueYear=" + cmbyear.Text + " and MonthNo=" + str(j) & " and issueid = '" & Trim(cbwid.Text) & "'")
            Do While Not PaperIssueK.EOF
                PrtTableK!IssueYear = PaperIssueK!IssueYear
                Select Case j
                    Case 1
                        PrtTableK!DayNo1 = PaperIssueK!DayNo
                        PrtTableK!PublNo1 = PaperIssueK!PublNo
                    Case 2
                        PrtTableK!DayNo2 = PaperIssueK!DayNo
                        PrtTableK!PublNo2 = PaperIssueK!PublNo
                    Case 3
                        PrtTableK!DayNo3 = PaperIssueK!DayNo
                        PrtTableK!PublNo3 = PaperIssueK!PublNo
                    Case 4
                        PrtTableK!DayNo4 = PaperIssueK!DayNo
                        PrtTableK!PublNo4 = PaperIssueK!PublNo
                    Case 5
                        PrtTableK!DayNo5 = PaperIssueK!DayNo
                        PrtTableK!PublNo5 = PaperIssueK!PublNo
                    Case 6
                        PrtTableK!DayNo6 = PaperIssueK!DayNo
                        PrtTableK!PublNo6 = PaperIssueK!PublNo
                    Case 7
                        PrtTableK!DayNo7 = PaperIssueK!DayNo
                        PrtTableK!PublNo7 = PaperIssueK!PublNo
                    Case 8
                        PrtTableK!DayNo8 = PaperIssueK!DayNo
                        PrtTableK!PublNo8 = PaperIssueK!PublNo
                    Case 9
                        PrtTableK!DayNo9 = PaperIssueK!DayNo
                        PrtTableK!PublNo9 = PaperIssueK!PublNo
                    Case 10
                        PrtTableK!DayNo10 = PaperIssueK!DayNo
                        PrtTableK!PublNo10 = PaperIssueK!PublNo
                    Case 11
                        PrtTableK!DayNo11 = PaperIssueK!DayNo
                        PrtTableK!PublNo11 = PaperIssueK!PublNo
                    Case 12
                        PrtTableK!DayNo12 = PaperIssueK!DayNo
                        PrtTableK!PublNo12 = PaperIssueK!PublNo
                End Select
                PrtTableK.Update
                PrtTableK.MoveNext
                PaperIssueK.MoveNext
                xh = xh + 1
            Loop
    PaperIssueK.close
            If xh > MaxValue Then
                MaxValue = xh
            End If
            xh = 1
            j = j + 1
        Loop
    PrtTableK.Close 
    刚才在整理时一下没注意
      

  4.   

    请看清楚再说,我已经给临时表的issueid赋了一个唯一的值.
      

  5.   

    prttable1:
    issueid:序列号,dayno1~12:具体的日期,到日即可,publno1~12:对应的产品标识;issueyear:年
    paperno:
    issueyear:年,monthno:月,dayno:日,publno:产品标识,
      

  6.   

    我简化一下:有两张表A,B
    A:x1...x12(日期),p1...p12(产品),y(年)
    B:m(月),d(日),p(产品)
    现在需要把B的数据导到A里面对吗?