24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1656  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wilstar

金虫 (正式写手)

[求助] access内某个字段为空时,向word导入数据,提示:数据类型错误,请问如何克服?含文件 已有1人参与

在网上找了一个《【access源码示例】-word导入导出系列-替换方式导出》,想要学习。
在学习《【access源码示例】-word导入导出系列-替换方式导出》过程中,发现该程序存在一个缺陷。
缺陷如下:如果某个字段为空,那么会提示类型错误,同时出现该字段为空,其他在后字段也为空的问题。

麻烦哪位高手指点下如何解决这个问题,最好能够直接在数据库中进行修改,谢谢!

原始链接:http://www.accessoft.com/article-show.asp?id=7264
同时一并附上数据库。
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 20120806083414.rar
  • 2014-07-20 12:21:45, 97.45 K

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wilstar

金虫 (正式写手)

送红花一朵
引用回帖:
7楼: Originally posted by claro at 2014-07-23 06:39:04
'对不起,这两天忙,解决了吗?

还没呢?老是报错,哎
你有时间的话,就帮我看下嘛,如果你忙的话,就不急哈
8楼2014-07-23 08:20:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

wilstar

金虫 (正式写手)

Private Sub 导出word_Click()
On Error GoTo Err_cmdExportToWord_Click
    Dim objApp          As Object 'Word.Application
    Dim objDoc          As Object 'Word.Document
    Dim objTable        As Object 'Word.Table
    Dim strTemplates    As String '模板文件路径名
    Dim strFileName     As String '将数据导出到此文件
    Dim D_Price As Currency
    Dim I As Integer
        
    strTemplates = CurrentProject.Path & "\word模板\采购订单模板.doc"
   
    '通过文件对话框生成另存为文件名
    With FileDialog(2)  'msoFileDialogSaveAs
        .InitialFileName = CurrentProject.Path & "\" & Me.订单编号 & "-采购订单.doc"
        If .Show Then strFileName = .SelectedItems(1)
    End With
   
    '如果对话框被取消,则变量没有被赋值,退出过程
    If strFileName = "" Then Exit Sub
   
    '文件名必须包括“.doc”的文件扩展名,如没有则自动加上
    If Not strFileName Like "*.doc" Then strFileName = strFileName & ".doc"
    '如果文件已存在,则删除已有文件
    If Dir(strFileName) <> "" Then Kill strFileName
   
    '将光标设置为沙漏形,以示正在执行程序
    DoCmd.Hourglass True
   
    '打开模板文件
    Set objApp = CreateObject("Word.Application"
    objApp.Visible = True
    Set objDoc = objApp.Documents.Open(strTemplates, , True)

    lngI = Nz(DCount("*", "采购明细表", "订单ID = " & Me.订单ID & "", 0)
    '如果订单明细记录大于0才导出明细
    If lngI > 0 Then
        D_Price = DSum("金额", "采购明细表", "订单ID = " & Me.订单ID & ""
        Set objTable = objDoc.Tables(1)
        For I = 1 To lngI - 1
            Set rowNew = objTable.Rows.Add(beforeRow:=objTable.Rows(2))
        Next
   
        '向Word中对应表格单元格写入数据
        I = 2
        With objTable
            Set rst = CurrentProject.Connection.Execute("select 产品名称,规格,数量,单位,单价,金额 from 采购明细表 where 订单ID = " & Me.订单ID)
            Do While Not rst.EOF
                .Cell(I, 1).Range = rst("产品名称"
                .Cell(I, 2).Range = rst("规格"
                .Cell(I, 3).Range = rst("单位"
                .Cell(I, 4).Range = rst("数量"
                .Cell(I, 5).Range = rst("单价"
                .Cell(I, 6).Range = rst("金额"
                I = I + 1
            rst.MoveNext
            Loop
            rst.Close
            Set rst = Nothing
        End With
    End If

    With objApp.Application.Selection
            .Find.ClearFormatting
            .Find.Replacement.ClearFormatting
                With .Find
                    .Text = "{$订单编号}"
                    .Replacement.Text = Me.订单编号.Value & ""
                 End With
                .Find.Execute Replace:=wdReplaceAll
                With .Find
                    .Text = "{$供方地址}"
                    .Replacement.Text = Me.地址.Value & ""
                 End With
                .Find.Execute Replace:=wdReplaceAll
                With .Find
                    .Text = "{$供应商}"
                    .Replacement.Text = Me.供应商.Value & ""
                 End With
                .Find.Execute Replace:=wdReplaceAll
                With .Find
                    .Text = "{$联系人}"
                    .Replacement.Text = Me.联系人.Value & ""
                 End With
                .Find.Execute Replace:=wdReplaceAll
                With .Find
                    .Text = "{$签订日期}"
                    .Replacement.Text = Me.签订日期.Value & ""
                 End With
                .Find.Execute Replace:=wdReplaceAll
                With .Find
                    .Text = "{$采购员}"
                    .Replacement.Text = Me.采购员.Value & ""
                 End With
                .Find.Execute Replace:=wdReplaceAll
                With .Find
                    .Text = "{$金额}"
                    .Replacement.Text = D_Price
                 End With
                .Find.Execute Replace:=wdReplaceAll
    End With
   
    '将写入数据的模板另存为文档文件
    objDoc.SaveAs strFileName
    objDoc.Saved = True
            

Exit_cmdExportToWord_Click:
    If Not objDoc Is Nothing Then objApp.Visible = True
    '恢复光标形状
    DoCmd.Hourglass False
    Set objApp = Nothing
    Set objDoc = Nothing
    Set objTable = Nothing
    Exit Sub

Err_cmdExportToWord_Click:
    MsgBox Err.Description, vbCritical, "出错"
    Resume Exit_cmdExportToWord_Click
End Sub
2楼2014-07-20 16:57:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wilstar

金虫 (正式写手)

引用回帖:
2楼: Originally posted by wilstar at 2014-07-20 16:57:58
Private Sub 导出word_Click()
On Error GoTo Err_cmdExportToWord_Click
    Dim objApp          As Object 'Word.Application
    Dim objDoc          As Object 'Word.Document
    Dim objTable        A ...

麻烦哪位大仙给我详细解释下这段代码,可以么?金币照样送

我想了解这段代码,然后修改后,为己所用,但改了一天,还是不停的报错

所以就像让哪位高手指点下
3楼2014-07-20 17:00:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wilstar

金虫 (正式写手)

Set rst = CurrentProject.Connection.Execute("select 产品名称,规格,数量,单位,单价,金额 from 采购明细表 where 订单ID = " & Me.订单ID)

而且这句话,不知道是什么意义,当我将“订单ID”换成其他“日期ID”,同时修改相应的表格后,还是一直报错,感觉只能用“订单ID”样,求高手指点啊
4楼2014-07-20 17:21:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 数一英一271专硕(085401)求调剂,可跨 +4 前行必有光 2026-03-28 5/250 2026-03-28 11:27 by xuxiang
[考研] 311求调剂 +8 lin0039 2026-03-26 8/400 2026-03-28 08:00 by Iveryant
[考研] 085602 化工专硕 338分 求调剂 +10 路痴小琪 2026-03-27 10/500 2026-03-28 03:36 by fmesaito
[考研] 305求调剂 +5 哇卢卡库 2026-03-26 5/250 2026-03-27 14:01 by laoshidan
[考研] 315调剂 +4 0860求调剂 2026-03-26 5/250 2026-03-27 11:23 by wangjy2002
[考研] 材料学硕333求调剂 +8 北道巷 2026-03-24 8/400 2026-03-27 10:18 by 我是小康
[考研] 调剂求收留 +7 果然有我 2026-03-26 7/350 2026-03-27 00:26 by wxiongid
[考研] 294分080500材料科学与工程求调剂 +4 柳溪边 2026-03-26 4/200 2026-03-26 21:14 by XPU李庆
[考研] 打过很多竞赛,085406控制工程300分,求调剂 +3 askeladz 2026-03-26 3/150 2026-03-26 09:08 by 给你你注意休息
[考研] 309求调剂 +4 gajsj 2026-03-25 5/250 2026-03-26 00:27 by Dyhoer
[考研] 290分调剂求助 +3 吉祥止止陈 2026-03-25 3/150 2026-03-25 19:58 by barlinike
[考研] 0854AI CV方向招收调剂 +4 章小鱼567 2026-03-23 4/200 2026-03-25 17:04 by CoderLoser
[考研] 0854人工智能方向招收调剂 +4 章小鱼567 2026-03-24 4/200 2026-03-25 13:29 by 2177681040
[考研] 086003食品工程求调剂 +6 淼淼111 2026-03-24 6/300 2026-03-25 10:29 by 3Strings
[考研] 一志愿南航材料专317分求调剂 +5 炸呀炸呀炸薯条 2026-03-23 5/250 2026-03-24 16:52 by 星空星月
[考研] 材料专硕331求调剂 +4 鲜当牛 2026-03-24 4/200 2026-03-24 15:58 by JourneyLucky
[考研] 341求调剂(一志愿湖南大学070300) +5 番茄头--- 2026-03-22 6/300 2026-03-23 23:45 by Txy@872106
[考研] 070300,一志愿北航320求调剂 +3 Jerry0216 2026-03-22 5/250 2026-03-23 09:16 by 。。堂堂
[考研] 280分求调剂 一志愿085802 +4 PUMPT 2026-03-22 7/350 2026-03-22 22:13 by 星空星月
[考研] 一志愿北京化工大学070300 学硕336求调剂 +5 vv迷 2026-03-21 8/400 2026-03-22 14:20 by ColorlessPI
信息提示
请填处理意见