当前位置: 首页 > 知识库问答 >
问题:

Access数据库不接受使用VBA的具有特定值的插入

衡翰翮
2023-03-14

我在Access 2010中使用一个后端JET数据库,将值插入该数据库。

这不会插入到数据库中(未返回错误消息)

insert into [PROJECT RESOURCE UPDATE HISTORY] ([Current Date], [Project Auto No Ref], 
    [Resource ID Ref], [Allocation Notes], [Allocation Role],[Usage Percentage - Oct], 
    [Usage Percentage - Nov], [Usage Percentage - Dec], [Usage Percentage - Jan],
    [Usage Percentage - Feb], [Usage Percentage - Mar], [Usage Percentage - Apr], 
    [Usage Percentage - May],[Usage Percentage - Jun], [Usage Percentage - Jul], 
    [Usage Percentage - Aug], [Usage Percentage - Sep] ) values (#2/13/2017 11:01:41 AM#,
    540,11,'','Project Manager',0,1,1,1,1,1,1,0,0,0,0,0)

但这确实

insert into [PROJECT RESOURCE UPDATE HISTORY] ([Current Date], [Project Auto No Ref], 
    [Resource ID Ref], [Allocation Notes], [Allocation Role],[Usage Percentage - Oct], 
    [Usage Percentage - Nov], [Usage Percentage - Dec], [Usage Percentage - Jan],
    [Usage Percentage - Feb], [Usage Percentage - Mar], [Usage Percentage - Apr], 
    [Usage Percentage - May],[Usage Percentage - Jun], [Usage Percentage - Jul],
    [Usage Percentage - Aug], [Usage Percentage - Sep] ) values (#2/13/2017 11:04:38 AM#,
    540,821,'','DevOps',0,0.13,0.13,0.13,0.13,0.13,0.13,0,0,0,0,0)

下面是一段代码,用于实际插入

sqlStatement2 = "insert into [PROJECT RESOURCE UPDATE HISTORY] (" & _
    "[Current Date], [Project Auto No Ref], [Resource ID Ref], [Allocation Notes], [Allocation Role]," & _
    "[Usage Percentage - Oct], [Usage Percentage - Nov], [Usage Percentage - Dec], [Usage Percentage - Jan]," & _
    "[Usage Percentage - Feb], [Usage Percentage - Mar], [Usage Percentage - Apr], [Usage Percentage - May]," & _
    "[Usage Percentage - Jun], [Usage Percentage - Jul], [Usage Percentage - Aug], [Usage Percentage - Sep] " & _
    ") values (" & _
    "#" & Now() & "#," & _
    rst![Current Project Ref No] & "," & rst![Current Resource Person ID] & ",'" & rst![Current Allocation Notes] & _
    "','" & rst![Current Allocation Role] & "'," & CDbl(oct) & "," & CDbl(nov) & "," & CDbl(dec) & _
    "," & CDbl(jan) & "," & CDbl(feb) & "," & CDbl(mar) & "," & CDbl(apr) & _
    "," & CDbl(may) & "," & CDbl(jun) & "," & CDbl(jul) & "," & CDbl(aug) & _
    "," & CDbl(sep) & ");"
    MsgBox (sqlStatement2)
    CurrentDb.Execute (sqlStatement2)
    rst.MoveNext

我相信问题围绕着在第一个示例中将1插入数据库。数据库没有报告错误,也没有出现该行。如果将值从1更改为0.99,它会很好地插入并显示在数据库中。我尝试和观察的事情:

>

  • 在vba代码中执行插入语句之前,我还尝试使用CDbl()函数手动将1转换为双精度。

    如果在第一次插入值为1后中断代码,则行id会跳到下一个值,就像插入了行一样

    我还能去哪里找?

  • 共有1个答案

    傅雪松
    2023-03-14

    数据库不会报告错误,也不会出现该行。

    这是因为<代码>的默认行为。执行方法如下

    CurrentDb.Execute (sqlStatement2)  ' with no second argument
    

    将避免在查询遇到困难时引发错误。您应该使用

    CurrentDb.Execute sqlStatement2, dbFailOnError
    

    所以。Execute可以告诉您INSERT不成功的原因。

     类似资料:
    • 问题内容: 我最近开始使用访问权限。我试图在数据库中插入几行;但是,我被卡住了,因为它引发了一个错误: 参数太少。 我有一个表测试,其中只有一个名为start_date的列,我想在两个日期之间插入所有日期,例如,如果我考虑将2014年7月1日至2014年7月7日,我需要将日期设为1/7 / 2014,2 / 7 / 2014,3 / 7/2014在我的表格中,但是我在插入所用代码时遇到问题如下 我

    • 问题内容: 我正在使用pyodbc在.mbd(访问)文件中对大型数据库进行数据挖掘。 我想创建一个新表,以从几个现有表中获取相关信息(然后将其提供给工具)。 我想我知道我需要传输数据的所有知识,并且我知道如何创建具有列名和数据类型的表,但是 我在获取现有现有各列的数据类型(INTEGER,VARCHAR等)时遇到了麻烦表。 我需要这些类型来兼容地创建新列。 我在互联网(例如this和this)上发

    • 本文向大家介绍PHP使用PDO连接ACCESS数据库,包括了PHP使用PDO连接ACCESS数据库的使用技巧和注意事项,需要的朋友参考一下 1,参考W3CSHOOL http://www.w3cschool.cc/php/php-pdo.html 2,连接access 以上就是简单的实用php的pdo方式连接ACCESS数据库的方法了,希望大家能够喜欢。

    • 我正在尝试创建一个在线简历,并已将所有信息存储到Access DB中,当我使用ASP按钮创建标签,然后尝试使用标签在te DB中查找相关信息时,我需要以下错误的帮助。 下面是我的错误 FROM子句中存在语法错误。描述:在执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源。 异常详细信息:系统。数据OleDb。OLEDBEException:FROM

    • 如何使用UCANAccess创建到加密Access数据库的连接?

    • 我有以下代码 不幸的是,这并不奏效。有没有设置相对路径的方法?我该怎么做?