yp.Open "select * from 3孔药", Cnn, adOpenKeyset, adLockOptimistic
    yp.AddNew
    yp.Fields("批号") = Text3.Text 批号的保存也应该是个问题
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''第1行
    yp.Fields("hh1") = MSFGrid1.TextMatrix(1, 1) & ""
    yp.Fields("kj1") = MSFGrid1.TextMatrix(1, 2) & ""
    yp.Fields("hh2") = MSFGrid1.TextMatrix(1, 3) & ""
    yp.Fields("kj2") = MSFGrid1.TextMatrix(1, 4) & ""
    yp.Fields("hh3") = MSFGrid1.TextMatrix(1, 5) & ""
    yp.Fields("kj3") = MSFGrid1.TextMatrix(1, 6) & ""
    yp.Fields("hh4") = MSFGrid1.TextMatrix(1, 7) & ""
    yp.Fields("kj4") = MSFGrid1.TextMatrix(1, 8) & ""
    yp.Fields("hh5") = MSFGrid1.TextMatrix(1, 9) & ""
    yp.Fields("kj5") = MSFGrid1.TextMatrix(1, 10) & ""
    yp.Fields("hh6") = MSFGrid1.TextMatrix(1, 11) & ""
。。
。。
。。
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''第30行
    yp.Fields("hh1") = MSFGrid1.TextMatrix(30, 1) & ""
    yp.Fields("kj1") = MSFGrid1.TextMatrix(30, 2) & ""
    yp.Fields("hh2") = MSFGrid1.TextMatrix(30, 3) & ""
    yp.Fields("kj2") = MSFGrid1.TextMatrix(30, 4) & ""
    yp.Fields("hh3") = MSFGrid1.TextMatrix(30, 5) & ""
    yp.Fields("kj3") = MSFGrid1.TextMatrix(30, 6) & ""
    yp.Fields("hh4") = MSFGrid1.TextMatrix(30, 7) & ""
    yp.Fields("kj4") = MSFGrid1.TextMatrix(30, 8) & ""
    yp.Fields("hh5") = MSFGrid1.TextMatrix(30, 9) & ""
    yp.Fields("kj5") = MSFGrid1.TextMatrix(30, 10) & ""
    yp.Fields("hh6") = MSFGrid1.TextMatrix(30, 11) & ""    yp.Update
yp.Close

解决方案 »

  1.   

    yp.Open "select * from 3孔药", Cnn, adOpenKeyset, adLockOptimistic     yp.Fields("批号") = Text3.Text 批号的保存也应该是个问题 
        ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''第1行 
        for i=1 to 30 
             yp.AddNew 
        yp.Fields("hh1") = MSFGrid1.TextMatrix(i, 1) & "" 
        yp.Fields("kj1") = MSFGrid1.TextMatrix(i, 2) & "" 
        yp.Fields("hh2") = MSFGrid1.TextMatrix(i, 3) & "" 
        yp.Fields("kj2") = MSFGrid1.TextMatrix(i, 4) & "" 
        yp.Fields("hh3") = MSFGrid1.TextMatrix(i, 5) & "" 
        yp.Fields("kj3") = MSFGrid1.TextMatrix(i, 6) & "" 
        yp.Fields("hh4") = MSFGrid1.TextMatrix(i, 7) & "" 
        yp.Fields("kj4") = MSFGrid1.TextMatrix(i, 8) & "" 
        yp.Fields("hh5") = MSFGrid1.TextMatrix(i, 9) & "" 
        yp.Fields("kj5") = MSFGrid1.TextMatrix(i, 10) & "" 
        yp.Fields("hh6") = MSFGrid1.TextMatrix(i, 11) & "" 
         
        next iyp.update
      

  2.   

    yp.Open "select * from 3孔药", Cnn, adOpenKeyset, adLockOptimistic 
        ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''第1行 
        for i=1 to 30 
            yp.AddNew 
        yp.Fields("批号") = Text3.Text & format(i,"00") ' 批号的保存也应该是个问题 
        yp.Fields("hh1") = MSFGrid1.TextMatrix(i, 1) & "" 
        yp.Fields("kj1") = MSFGrid1.TextMatrix(i, 2) & "" 
        yp.Fields("hh2") = MSFGrid1.TextMatrix(i, 3) & "" 
        yp.Fields("kj2") = MSFGrid1.TextMatrix(i, 4) & "" 
        yp.Fields("hh3") = MSFGrid1.TextMatrix(i, 5) & "" 
        yp.Fields("kj3") = MSFGrid1.TextMatrix(i, 6) & "" 
        yp.Fields("hh4") = MSFGrid1.TextMatrix(i, 7) & "" 
        yp.Fields("kj4") = MSFGrid1.TextMatrix(i, 8) & "" 
        yp.Fields("hh5") = MSFGrid1.TextMatrix(i, 9) & "" 
        yp.Fields("kj5") = MSFGrid1.TextMatrix(i, 10) & "" 
        yp.Fields("hh6") = MSFGrid1.TextMatrix(i, 11) & "" 
        
        next i yp.update
      

  3.   

    还可简化:
    For i = 1 To 30
        yp.AddNew
        yp.Fields("批号") = Text3.Text & Format(i, "00")
        For j = 1 To 11
            yp.Fields(Array("kj", "hh")(j Mod 2) & (j + 1) \ 2) = MSFGrid1.TextMatrix(i, j) & ""
        Next
        yp.Update
    Next
      

  4.   

    不好使啊,保存到数据库什么都没有啊 
    多点几下保存 在数据库里只是增加了几行空的数据啊
    我用的是access数据库
      

  5.   

    lz好像使用msflexgrid吧yp.Open "select * from 3孔药", Cnn, adOpenKeyset, adLockOptimistic
        With MSFGrid1
            For i = 1 To .Rows
                .Row = i
                If (.TextMatrix(i, 1) & "") <> "" Then   '假如这行有数据,则这列必定有数据
                    yp.AddNew
                    
                    yp.Fields("批号") = Text3.Text & Format(i, "00") ' 批号的保存也应该是个问题
                    yp.Fields("hh1") = .TextMatrix(i, 1) & ""
                    yp.Fields("kj1") = .TextMatrix(i, 2) & ""
                    yp.Fields("hh2") = .TextMatrix(i, 3) & ""
                    yp.Fields("kj2") = .TextMatrix(i, 4) & ""
                    yp.Fields("hh3") = .TextMatrix(i, 5) & ""
                    yp.Fields("kj3") = .TextMatrix(i, 6) & ""
                    yp.Fields("hh4") = .TextMatrix(i, 7) & ""
                    yp.Fields("kj4") = .TextMatrix(i, 8) & ""
                    yp.Fields("hh5") = .TextMatrix(i, 9) & ""
                    yp.Fields("kj5") = .TextMatrix(i, 10) & ""
                    yp.Fields("hh6") = .TextMatrix(i, 11) & ""
                    
                    yp.Update
                End If
            Next i
        End With
      

  6.   

    8楼说的对 我是用msflexgrid 控件 用了你的代码后 出错提示为Row数值无效 也就是这行代码:.Row = i
      

  7.   

    不好意思,漏了
    yp.Open "select * from 3孔药", Cnn, adOpenKeyset, adLockOptimistic
        With MSFGrid1
            For i = 1 To .Rows - 1
                .Row = i
                If (.TextMatrix(i, 1) & "") <> "" Then   '假如这行有数据,则这列必定有数据
                    yp.AddNew
                    
                    yp.Fields("批号") = Text3.Text & Format(i, "00") ' 批号的保存也应该是个问题
                    yp.Fields("hh1") = .TextMatrix(i, 1) & ""
                    yp.Fields("kj1") = .TextMatrix(i, 2) & ""
                    yp.Fields("hh2") = .TextMatrix(i, 3) & ""
                    yp.Fields("kj2") = .TextMatrix(i, 4) & ""
                    yp.Fields("hh3") = .TextMatrix(i, 5) & ""
                    yp.Fields("kj3") = .TextMatrix(i, 6) & ""
                    yp.Fields("hh4") = .TextMatrix(i, 7) & ""
                    yp.Fields("kj4") = .TextMatrix(i, 8) & ""
                    yp.Fields("hh5") = .TextMatrix(i, 9) & ""
                    yp.Fields("kj5") = .TextMatrix(i, 10) & ""
                    yp.Fields("hh6") = .TextMatrix(i, 11) & ""
                    
                    yp.Update
                End If
            Next i
        End With
      

  8.   

    好使了 解决了 可又遇到一个新问题 我现在想做一个查询的窗体 按批号查询 如何让msflexgrid里显示出查询的结果呢?
      

  9.   

    yp.Open "select * from 3孔药 where 批号 = '" & text1 & "' ", Cnn, adOpenKeyset, adLockOptimistic if yp.recordcount>0 then
        With MSFGrid1 
            .rows=yp.recordcount+1
            while not yp.eof
                i=i+1                 .TextMatrix(i, 1) = yp.Fields("hh1") & ""
                  .TextMatrix(i, 2) = yp.Fields("kj1")  & "" 
                   ……
                    
                    yp.movenext 
                End If 
            wend 
        End With
    end if
    yp.close