24小时热门版块排行榜    

查看: 1647  |  回复: 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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 274求调剂 +10 顾九笙要谦虚 2026-03-24 14/700 2026-03-26 01:09 by 15366876211
[考研] 312求调剂 +5 上岸吧ZJY 2026-03-22 7/350 2026-03-25 22:20 by 544594351
[考研] 321求调剂 +3 璞玉~~ 2026-03-25 3/150 2026-03-25 19:07 by Zhanglab-TJU
[考研] 求b区院校调剂 +4 周56 2026-03-24 5/250 2026-03-25 17:12 by yishunmin
[考研] 329求调剂 +3 钮恩雪 2026-03-25 3/150 2026-03-25 14:43 by 糖加冰
[考研] 07化学280分求调剂 +7 722865 2026-03-23 7/350 2026-03-25 09:29 by aa331100
[考研] 306求0703调剂一志愿华中师范 +10 纸鱼ly 2026-03-21 11/550 2026-03-24 17:22 by qingfeng258
[考研] 080500求调剂 +3 zzzzfan 2026-03-24 3/150 2026-03-24 16:38 by barlinike
[考研] 一志愿华东理工大学081700,初试分数271 +5 kotoko_ik 2026-03-23 6/300 2026-03-24 10:29 by 学术搬砖er
[考研] 环境学硕288求调剂 +8 皮皮皮123456 2026-03-22 8/400 2026-03-23 23:47 by 热情沙漠
[考研] 材料/农业专业,07/08开头均可,过线就行 +3 呵唔哦豁 2026-03-23 4/200 2026-03-23 22:30 by 汪!?!
[考研] 一志愿陕师大生物学071000,298分,求调剂 +3 SYA! 2026-03-23 3/150 2026-03-23 19:09 by macy2011
[考研] 一志愿070300浙大化学358分,求调剂! +4 酥酥鱼.. 2026-03-21 4/200 2026-03-23 08:12 by Iveryant
[考研] 315分,诚求调剂,材料与化工085600 +3 13756423260 2026-03-22 3/150 2026-03-22 20:11 by edmund7
[考研] 269专硕求调剂 +6 金恩贝 2026-03-21 6/300 2026-03-22 14:31 by ColorlessPI
[考研] 求调剂 +7 Auroracx 2026-03-22 7/350 2026-03-22 12:38 by 素颜倾城1988
[考研] 336求调剂 +5 rmc8866 2026-03-21 5/250 2026-03-21 17:24 by 学员8dgXkO
[考研] 22 350 本科985求调剂,求老登收留 +3 李轶男003 2026-03-20 3/150 2026-03-21 13:28 by 搏击518
[考研] 南昌大学材料专硕311分求调剂 +6 77chaselx 2026-03-20 6/300 2026-03-21 07:24 by JourneyLucky
[考研] 中南大学化学学硕337求调剂 +3 niko- 2026-03-19 6/300 2026-03-20 21:58 by luoyongfeng
信息提示
请填处理意见