Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

新手请教:在新增窗体中出现“运行时错误"3421",数据类型转换错误”提示,请帮忙解决,谢谢!

jiang  发表于:2013-01-02 11:40:03  
复制

AccDev

基本状况:在表中单价字段设为货币,在新增窗体中单价字段设成自动填充,录入时出现如下问题:1、如果单价字段填充的是空格,就会出现“运行时错误"3421",数据类型转换错误”提示(下面黄底代码就是按调试后指向需要调试的代码),2、如果是手动填入,单价字段数字前会有货币符号,自动填充的就没有,3、如将单价字段设成文本,就不会出现上述错误提示,4、在修改窗体中自动填充会出现货币符号,如果是空格也不会出现错误提示。

 

我是新手,无法解决,在此致以万分感谢,希望请大人们能帮忙解决,谢谢!

Private Sub cmd_Save()
Dim rst As DAO.Recordset
If IsNull(Me.fh) Then
MsgBox "请输入房号!", vbCritical, "提示:"
Me.fh.SetFocus
Exit Sub
End If
If IsNull(Me.fwdz) Then
MsgBox "请输入房屋地址!", vbCritical, "提示:"
Me.fwdz.SetFocus
Exit Sub
End If
If IsNull(Me.lbmc) Then
MsgBox "请输入户型!", vbCritical, "提示:"
Me.lbmc.SetFocus
Exit Sub
End If
If IsNull(Me.cx) Then
MsgBox "请输入朝向!", vbCritical, "提示:"
Me.cx.SetFocus
Exit Sub
End If
Me.Refresh
If MsgBox("您确认要保存吗?", vbOKCancel + vbInformation, "提示") = vbOK Then
Set rst = CurrentDb.OpenRecordset("tblCodefw", dbOpenDynaset)
rst.AddNew
rst("fwID") = acchelp_autoid("F", 3, "tblCodefw", "fwID")
rst("fh") = Me.fh
rst("fwdz") = Me.fwdz
rst("lbmc") = Me.lbmc
rst("cx") = Me.cx
rst("ddj") = Me.ddj
rst("sdj") = Me.sdj
rst("dsdj") = Me.dsdj
rst("ssdj") = Me.ssdj
rst("lbID") = Me.lbID
rst.Update
rst.Close
Set rst = Nothing
'刷新数据
If IsLoaded("usysfrmMain") Then
DoCmd.Echo False
Forms!usysfrmMain!frmChild.SourceObject = "frm_Codefw_child"
DoCmd.Echo True
End If
MsgBox "保存成功!", vbInformation, "提示"
Me.fh = Null
Me.fwdz = Null
Me.lbmc = Null
Me.cx = Null
Me.ddj = Null
Me.sdj = Null
Me.dsdj = Null
Me.ssdj = Null
Me.lbID = Null
End If
End Sub

Private Sub lbmc_AfterUpdate()
    Me.ddj = Me.lbmc.Column(1)
    Me.sdj = Me.lbmc.Column(2)
    Me.dsdj = Me.lbmc.Column(3)
    Me.ssdj = Me.lbmc.Column(4)
    Me.lbID = Me.lbmc.Column(5)
End Sub

Private Sub cmdCancel_Click()
DoCmd.Close acForm, Me.Name
End Sub

Private Sub cmdOK_Click()
cmd_Save
End Sub

 

 

Top
麥田 发表于:2013-01-03 13:24:37
Access运行时错误'3421':数据类型转换错误。的解决方法[Access软件网]
http://www.accessoft.com/article-show.asp?id=7466

jiang 发表于:2013-01-04 11:01:33

我看了解决方法,还是不会解决,因为如果自动填充的不是空值,就不会出现数据类型转换错误提示,但如果填充的是空值,就会弹出提示,请管理员帮忙解决,谢谢!!!



jiang 发表于:2013-01-15 10:13:32

已解决,只需将自动填充为空值的文本框改为组合框,并指定行来源



总记录:3篇  页次:1/1 9 1 :