24小时热门版块排行榜    

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

金虫 (正式写手)

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

claro

金虫 (小有名气)

【答案】应助回帖

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

[ 发自手机版 http://muchong.com/3g ]
5楼2014-07-21 06:18:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 化学工程085602 305分求调剂 +10 RichLi_ 2026-03-25 10/500 2026-03-26 02:17 by BruceLiu320
[考研] 332求调剂 +6 032500 2026-03-25 6/300 2026-03-25 22:45 by 418490947
[考研] 086000生物与医药292求调剂 +4 小小陈小小 2026-03-22 7/350 2026-03-25 19:07 by 星空星月
[考研] 考研一志愿苏州大学初始315(英一)求调剂 +3 sbdksD 2026-03-24 4/200 2026-03-25 18:16 by xcjcqu
[考研] 网络空间安全0839招调剂 +4 w320357296 2026-03-25 6/300 2026-03-25 17:59 by 255671
[考研] 0854AI CV方向招收调剂 +4 章小鱼567 2026-03-23 4/200 2026-03-25 17:04 by CoderLoser
[考研] 289求调剂 +9 怀瑾握瑜l 2026-03-20 9/450 2026-03-25 11:02 by userper
[考研] 299求调剂 +7 shxchem 2026-03-20 9/450 2026-03-25 10:41 by lbsjt
[考研] B区考研调剂 +4 yqdszhdap- 2026-03-22 5/250 2026-03-25 08:51 by baoball
[考研] 一志愿武理085500机械专业总分300求调剂 +3 an10101 2026-03-24 7/350 2026-03-25 00:00 by 山鬼0-
[考研] 291求调剂 +8 hhhhxn.. 2026-03-23 8/400 2026-03-23 23:15 by peike
[考研] 一志愿国科过程所081700,274求调剂 +3 三水研0水立方 2026-03-23 3/150 2026-03-23 23:11 by MajorWen
[考研] 327求调剂 +5 prayer13 2026-03-23 5/250 2026-03-23 22:11 by 星空星月
[考研] 求老师收我 +3 zzh16938784 2026-03-23 3/150 2026-03-23 12:56 by ztnimte
[考研] 291求调剂 +5 孅華 2026-03-22 5/250 2026-03-23 09:20 by haoshis
[考研] 324求调剂 +6 lucky呀呀呀鸭 2026-03-20 6/300 2026-03-22 16:01 by ColorlessPI
[考研] 一志愿北京化工大学070300 学硕336求调剂 +5 vv迷 2026-03-21 8/400 2026-03-22 14:20 by ColorlessPI
[考研] 085600材料与化工306 +4 z1z2z3879 2026-03-21 4/200 2026-03-21 23:44 by ms629
[考研] 求调剂一志愿南京航空航天大学289分 +3 @taotao 2026-03-19 3/150 2026-03-20 21:34 by JourneyLucky
[考研] 086500 325 求调剂 +3 领带小熊 2026-03-19 3/150 2026-03-20 18:38 by 尽舜尧1
信息提示
请填处理意见