我在excel表里有一些单元格是和底层总线网络绑定的数据信息
现在要把这些单元格的内容,实时(只要单元格中的数据有变化)送入sql数据库的表中。。请高手指教!

解决方案 »

  1.   

    给你段代码要引用ado
    下面的代码放到窗体里
    Private Sub Command1_Click()   On Error GoTo ErrHandler   Dim strsql As String
       Dim strsql_db As String
       Dim j As Integer
       
       If Text1.Text = "" Then
          MsgBox "请输入导入年份!", 48, "信息"
          Exit Sub
       End If
       
       strsql = "select * from jhtz_table "
       Set rs = ExecuteSQL(strsql, msgtext)
       
          With CommonDialog1
             .DialogTitle = "从Excel导出" & Text1.Text & "数据"
             .FileName = "*.xls"
             .Filter = "(Excel)*.xls|*.xls"
             .CancelError = True
             .ShowOpen
          End With
                
          strcnn = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=false;Data Source=" & CommonDialog1.FileName & ";Extended Properties='Excel 8.0;HDR=Yes'"
          Set cnn = New ADODB.Connection
          cnn.Open strcnn
          strsql_db = "select * from [sheet1$]"
          cnn.Execute strsql_db
          Set rs_db = New ADODB.Recordset
          rs_db.Open strsql_db, cnn, adOpenKeyset, adLockOptimistic
          
          For j = 1 To rs_db.RecordCount
              
              rs.AddNew
                rs.Fields("jh_dwbm") = rs_db.Fields(0)
                rs.Fields("jh_xh") = rs_db.Fields(1)
                rs.Fields("jh_sbmc") = rs_db.Fields(2)
                rs.Fields("jh_gg") = rs_db.Fields(3)
                rs.Fields("jh_dw") = rs_db.Fields(4)
             rs.Update
             rs_db.MoveNext
          Next j
          MsgBox "导入成功,共有" & rs_db.RecordCount & "条记录!", 48, "信息"
          Exit Sub
    ErrHandler:
       '用户按了“取消”按钮
       MsgBox "用户取消从Excel导出数据操作!", 48, "提示"
       Exit Sub
    End Sub下面的代码放到类模块中
    Dim msgtext As String
    Dim mrc As ADODB.RecordsetPublic Function ExecuteSQL(ByVal sql As String, MsgString As String) As ADODB.Recordset
        Dim cnn As ADODB.Connection
        Dim rst As ADODB.Recordset
        Dim sTokens() As String
        'Dim SQL As String
        On Error GoTo ExecuteSQL_Error
        sTokens = Split(sql)
        Set cnn = New ADODB.Connection
        cnn.Open ConnectString
        If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then
           cnn.Execute sql
           MsgString = sTokens(0) & "query successful"
        Else
           Set rst = New ADODB.Recordset
           rst.Open Trim$(sql), cnn, adOpenKeyset, adLockOptimistic
          
           
           Set ExecuteSQL = rst
            
           MsgString = "查询到" & rst.RecordCount & "条纪录"
        End If
    ExecuteSQL_Exit:
        Set rst = Nothing
        Exit Function
        Set cnn = Nothing
    ExecuteSQL_Error:
        MsgString = "查询错误:" & Err.Description
        Resume ExecuteSQL_Exit
    End FunctionPublic Function ConnectString() As String
        ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\计划管理系统.mdb;Persist Security Info=False"
        'ConnectString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=aa;Data Source=RJB-CL"
    End Function
      

  2.   

    我是想把某些 单元格的数据 制定存到相关的数据库表里。。
    比如把Cells(4, 2).Value 值送到user表的 userid里
      

  3.   

    运行下面的程序报错:“当前记录集不支持更新。这可能是提供的程序的限制,也可能是选定锁定类型的限制。”  
    Dim Con As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim str As StringPrivate Sub CommandButton1_Click()
    Con.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=xiaoqu;Data Source=gentleman"
    Con.Openstr = "select * from 表费用 order by 住户编号"
    Adodc1.RecordSource = str
    Set rs = New ADODB.Recordset
    rs.Open str, Con, adOpenDynamic
         rs.Fields("本次读数") = Range("B4").Value
        rs.Update
    End Sub
      

  4.   

    给你方法看看吧
    1.创建Excel对象  eole=CREATEOBJECT(′Excel.application′)  2.添加新工作簿  eole.Workbooks.add  3.设置第3个工作表为激活工作表  eole.Worksheets(″sheet3″).Activate  4.打开指定工作簿  eole.Workbooks.Open(″c:\temp\ll.xls″)  5.显示Excel窗口  eole.visible=.t.  6.更改Excel标题栏  eole.Caption=″VFP应用程序调用Microsoft Excel″  7.给单元格赋值  eole.cells(1,4).value=XM(XM为数据库字段名)  8.设置指定列的宽度(单位:字符个数)  eole.ActiveSheet.Columns(1).ColumnWidth=5  9.设置指定行的高度(单位:磅)  eole.ActiveSheet.Rows(1).RowHeight=1/0.035  (设定行高为1厘米,1磅=0.035厘米)  10.在第18行之前插入分页符  eole.Worksheets(″Sheet1″).Rows(18).PageBreak=1  11.在第4列之前删除分页符  eole.ActiveSheet.Columns(4).PageBreak=0  12.指定边框线宽度(Borders参数如下)  ole.ActiveSheet.Range(″b3:d3″).Borders(2).Weight=3  13.设置四个边框线条的类型  eole.ActiveSheet.Range(″b3:d3″).Borders(2).LineStyle=1  (其中Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线)  14.设置页眉  eole.ActiveSheet.PageSetup.CenterHeader=″报表1″  15.设置页脚  eole.ActiveSheet.PageSetup.CenterFooter=″第&P页″  16.设置页眉到顶端边距为2厘米  eole.ActiveSheet.PageSetup.HeaderMargin=2/0.035  17.设置页脚到底边距为3厘米  eole.ActiveSheet.PageSetup.FooterMargin=3/0.035  18.设置顶边距为2厘米  eole.ActiveSheet.PageSetup.TopMargin=2/0.035  19.设置底边距为4厘米  eole.ActiveSheet.PageSetup.BottomMargin=4/0.035  20.设置左边距为2厘米  veole.ActiveSheet.PageSetup.LeftMargin=2/0.035  21.设置右边距为2厘米  eole.ActiveSheet.PageSetup.RightMargin=2/0.035  22.设置页面水平居中  eole.ActiveSheet.PageSetup.CenterHorizontally=.t.  23.设置页面垂直居中  eole.ActiveSheet.PageSetup.CenterVertically=.t.  24.设置页面纸张大小(1-窄行8511 39-宽行1411)  eole.ActiveSheet.PageSetup.PaperSize=1  25.打印单元格网线  eole.ActiveSheet.PageSetup.PrintGridlines=.t.  26.拷贝整个工作表  eole.ActiveSheet.UsedRange.Copy  27.拷贝指定区域  eole.ActiveSheet.Range(″A1:E2″).Copy  28.粘贴  eole.WorkSheet(″Sheet2″).Range(″A1″).PasteSpecial  29.在第2行之前插入一行  eole.ActiveSheet.Rows(2).Insert  30.在第2列之前插入一列  eole.ActiveSheet.Columns(2).Insert  31.设置字体  eole.ActiveSheet.Cells(2,1).Font.Name=″黑体″  32.设置字体大小  eole.ActiveSheet.Cells(1,1).Font.Size=25  33.设置字体为斜体  eole.ActiveSheet.Cells(1,1).Font.Italic=.t.  34.设置整列字体为粗体  eole.ActiveSheet.Columns(1).Font.Bold=.t.  35.清除单元格公式  eole.ActiveSheet.Cells(1,4).ClearContents  36.打印预览工作表  eole.ActiveSheet.PrintPreview  37.打印输出工作表  eole.ActiveSheet.PrintOut  38.工作表另为  eole.ActiveWorkbook.SaveAs(″c:\temp\22.xls″)  39.放弃存盘  eole.ActiveWorkbook.saved=.t.  40.关闭工作簿  eole.Workbooks.close  41.退出Excel  eole.quit
      

  5.   

    ChenYu_Star(蒙奇♂D♀路飞)   :::能否细说一下。。