从Access数据库创建历史测验卡

时间:2017-05-31 20:21:41

标签: vba ms-access

我想在每张卡上制作一张带有4个独特历史对象(如:城市化,教皇,骑士,封建主义)的卡片组(以棋盘游戏30秒播放历史主题并教导学生需要学习的东西以一种有趣的方式)。我已经拥有一个Access 2016数据库,其中包含此信息以及每个对象相关的时间段和几个查询(将对象排序为时间段)。所以我想将它导出到Excel中以制作卡片。为此,我需要将对象导出到特定列(b2)。如果拿出以下VB代码(耦合到一个按钮)。只有当我运行代码时,才会收到错误消息:

  

编译错误预期结束

这是代码:

Option Compare Database

Private Sub cmdTransfer_Click()

    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet
    Dim SQL As String
    Dim rs1 As DAO.Recordset

    SQL = "SELECT Begrip" & _
                "FROM Begrippen"

        Set rs1 = CurrentDb.OpenRecordset(SQL, dbOpenSnapshot)

        Set xlApp = Excel.Application
        xlApp.Visable = False
        Set xlBook = xlApp.Workbooks.Open("D:\30seconds.xlsx")
        Set xlSheet = xlBook.Worksheets(1)

        With xlSheet
            .Columns("B").ColumWidth = 20

            .Range("B2").CopyFromRecordset rs1
        end With
End Sub

谢谢,

马丁

1 个答案:

答案 0 :(得分:0)

尝试摆脱with语句。

xlSheet.Columns("B").ColumWidth = 20
xlSheet.Range("B2").CopyFromRecordset rs1

您应该使用option explicit