设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: waltonw
打印 上一主题 下一主题

[与其它组件] Excel模板与Access数据怎样链接??

[复制链接]
11#
发表于 2002-8-27 15:10:00 | 只看该作者
通过对象引用,把Excel文件打开,你想改什么都可以啊!
12#
 楼主| 发表于 2002-8-27 18:09:00 | 只看该作者
能否说的详细一点,是不是在Access中操作呢?好像没有对象引用啊?
13#
发表于 2002-8-27 19:16:00 | 只看该作者
waltonw:您就摸著石頭過一次河吧,不過怎知水深淺。
14#
 楼主| 发表于 2002-8-27 19:24:00 | 只看该作者
好!!我这就去再试一次。谢了!
15#
 楼主| 发表于 2002-8-28 19:50:00 | 只看该作者
谢谢!基本上已可以实现.

点击这里给我发消息

16#
发表于 2002-8-29 16:54:00 | 只看该作者
我也十分要学习这方面的知识,请各位高手多指点,小弟谢了。
17#
 楼主| 发表于 2002-8-31 03:14:00 | 只看该作者
模板和链接
18#
发表于 2003-12-25 08:36:00 | 只看该作者

数据导入到Excel模板中的方法

Private Sub cmdExcel_Click()
  On Error GoTo ErrorHandler
   Dim cn As ADODB.Connection
   Dim rs As ADODB.Recordset
   Dim strOrderDate As Date
   Dim strAddress As String
   Dim strCustomerName  As String
   Dim strWorksheetPath As String
   Dim strTemplatePath As String
   Dim bks As Excel.Workbooks
   Dim wks As Excel.Worksheet
   Dim strWorksheet As String
   Dim appExcel As Object
   Dim strsql As String
   Dim intOrderID As Long
   Dim strProductName As String
   Dim dblUnitPrice As Double
   Dim dblQuantity As Double
   Dim dblDiscount As Double
   Dim intRow As Integer
   Set appExcel = GetObject(, "Excel.Application")
   strTemplatePath = CurrentProject.Path & "\"
   strWorksheet = "OrderDetails.xlt"
   strWorksheetPath = strTemplatePath & strWorksheet
   Set bks = appExcel.Workbooks
   bks.Add strWorksheetPath
   'Create variables for information to write to worksheet
   strCustomerName = Me![CustomerID]
   strAddress = Me![ShipCity] & Me![ShipAddress]
   strOrderDate = Me![OrderDate]
   Set wks = appExcel.ActiveSheet
   'Write to cells in worksheet
   With wks
      .Range("C2").Value = strCustomerName
      .Range("C3").Value = strAddress
      .Range("C4").Value = strOrderDate
   End With

   'Use the ADO connection And Access data
   Set cn = CurrentProject.AccessConnection
   Set rs = New ADODB.Recordset
   intOrderID = Me![OrderID]
  strsql = " SELECT [Order Details].OrderID, Products.ProductName, [Order Details].UnitPrice, [Order Details].Quantity, [Order Details].Discount "
  strsql = strsql & " FROM [Order Details] INNER JOIN Products ON [Order Details].ProductID = Products.ProductID "
  strsql = strsql & " WHERE [Order Details].OrderID = " & intOrderID
   With rs
      Set .ActiveConnection = cn
      .Source = strsql
      .LockType = adLockOptimistic
      .CursorType = adOpenKeyset
      .Open
   End With
  intRow = 0
Do Until rs.EOF
    strProductName = rs![ProductName]
    dblUnitPrice = rs![UnitPrice]
    dblQuantity = rs![Quantity]
    dblDiscount = rs![Discount]
   'Use Offset To Locate Cell
    wks.Range("B7").Offset(intRow, 0).Value = strProductName
    wks.Range("B7").Offset(intRow, 2).Value = dblQuantity
    wks.Range("B7").Offset(intRow, 3).Value = dblDiscount
    wks.Range("B7").Offset(intRow, 4).Value = dblUnitPrice
    wks.Range("B7").Offset(intRow, 5).Value = dblUnitPrice * dblQuantity * (1 - dblDiscount)
    intRow = intRow + 1
    rs.MoveNext
Loop

   'Make worksheet visible
   appExcel.Application.Visible = True

   Set rs = Nothing
ErrorHandlerExit:
   Exit Sub

ErrorHandler:

   If Err = 429 Then
      'Excel is not running; open Excel with CreateObject
      Set appExcel = CreateObject("Excel.Application.10")
      Resume Next
   Else
      MsgBox "Error No:        " & Err.Number & "; Description: " & Err.Description
      Resume ErrorHandlerExit
   End If

End Sub




[此贴子已经被作者于2003-12-25 0:48:35编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
19#
发表于 2003-12-25 08:39:00 | 只看该作者

附件

差點忘了
[em07]

[此贴子已经被作者于2003-12-25 0:40:00编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
20#
发表于 2003-12-29 18:17:00 | 只看该作者
使用EXCEL类,拼命模板文件生成新文件,然后使用ADO读相关记录,并填到对应的单园格,最后生成一个新的EXCEL文件。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 04:14 , Processed in 0.084139 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表