24小时热门版块排行榜    

查看: 1642  |  回复: 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

金虫 (正式写手)

引用回帖:
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的回帖
查看全部 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

金虫 (正式写手)

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的回帖

claro

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
帮你看看,应该是做个异常的转换就可以

[ 发自手机版 http://muchong.com/3g ]
5楼2014-07-21 06:18:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 299求调剂 +7 某某某某位 2026-03-21 8/400 2026-03-25 20:34 by 热情沙漠
[考研] 086000生物与医药292求调剂 +4 小小陈小小 2026-03-22 7/350 2026-03-25 19:07 by 星空星月
[考研] 302求调剂 +4 锦衣卫藤椒 2026-03-25 4/200 2026-03-25 16:29 by 功夫疯狂
[考研] 333求调剂 +6 87639 2026-03-21 11/550 2026-03-25 16:17 by 87639
[考研] 281求调剂 +4 Koxui 2026-03-24 5/250 2026-03-25 11:38 by userper
[考研] 求调剂323材料与化工 +4 1124361 2026-03-24 4/200 2026-03-25 11:19 by shulmg
[考研] 材料学硕,求调剂 6+4 糖葫芦888ll 2026-03-22 9/450 2026-03-25 11:19 by greychen00
[考研] 300分,材料,求调剂,英一数二 +5 超赞的 2026-03-24 5/250 2026-03-24 21:07 by 星空星月
[考研] 【考研调剂】化学专业 281分,一志愿四川大学,诚心求调剂 +15 吃吃吃才有意义 2026-03-19 16/800 2026-03-24 19:51 by 了了了了。。
[考研] 263求调剂 +6 yqdszhdap- 2026-03-22 9/450 2026-03-23 12:57 by yqdszhdap-
[考研] 319求调剂 +4 小力气珂珂 2026-03-20 4/200 2026-03-22 15:53 by ColorlessPI
[考研] 298求调剂一志愿211 +3 上岸6666@ 2026-03-20 3/150 2026-03-22 15:50 by ColorlessPI
[考研] 311求调剂 +3 26研0 2026-03-20 3/150 2026-03-22 14:46 by ColorlessPI
[考研] 303求调剂 +5 安忆灵 2026-03-22 6/300 2026-03-22 12:46 by 素颜倾城1988
[考研] 初试 317 +7 半拉月丙 2026-03-20 7/350 2026-03-21 22:26 by peike
[考研] 一志愿南大,0703化学,分数336,求调剂 +3 收到VS 2026-03-21 3/150 2026-03-21 18:42 by 学员8dgXkO
[考研] 336求调剂 +5 rmc8866 2026-03-21 5/250 2026-03-21 17:24 by 学员8dgXkO
[考研] 材料与化工(0856)304求 B区 调剂 +3 邱gl 2026-03-21 3/150 2026-03-21 13:47 by lature00
[考研] 22408 344分 求调剂 一志愿 华电计算机技术 +4 solanXXX 2026-03-20 4/200 2026-03-20 23:49 by alg094825
[考研] 295材料求调剂,一志愿武汉理工085601专硕 +5 Charlieyq 2026-03-19 5/250 2026-03-20 20:35 by JourneyLucky
信息提示
请填处理意见