Access交流中心

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

insert into 的错误。急救!

ABB  发表于:2009-10-07 17:18:50  
复制

        dbo_tab_cg_sfc是SQL SERVER上的表

        number字段的数据类型是" numeric 9(18,2) "

       

        Dim Str1 As String
        Str1 = "INSERT INTO dbo_tab_cg_sfc (number) VALUES ("& 2000 &")"

        DoCmd.SetWarnings False
        DoCmd.RunSQL Str1
        DoCmd.SetWarnings True

 

运行的时候出现

“运行时错误 3134”

“INSERT INTO 语句的语法错误”

 

怎么不能向 SQL SERVER中添加 数值?

 

 

Top
andymark 发表于:2009-10-07 17:33:56

2000是一个固定值吧 

Str1 = "INSERT INTO dbo_tab_cg_sfc (number) VALUES ('2000')"

 

同时查检表是否存在主键



ABB 发表于:2009-10-07 23:05:27

        dbo_tab_cg_sfc是SQL SERVER上的表

        number,price,amount字段的数据类型都是" numeric 9(18,2) "

       

        Dim Str1 As String

        Str1 = "INSERT INTO dbo_tab_cg_sfc (sfcdate,sfcid,customid,zy,goodsid,employeeid,number,price,amount) VALUES (#"
        Str1 = Str1 & CDate(txtSfcdate) & "#,'"
        Str1 = Str1 & txtSfcID & "','" & txtCustom & "','" & txtZY & "','" & txtGoodsId & "','" & txtCzy & "',"
        Str1 = Str1 & Me.txtNumber & "," & Me.txtPrice & "," & Me.txtAmount & ")"
        DoCmd.SetWarnings False
        DoCmd.RunSQL Str1
        DoCmd.SetWarnings True

 

原始的代码是这个样子的。

还是通过不了。

测试过了。就是最后3个数值型的字段Me.txtNumber , Me.txtPrice , Me.txtAmount 加入后就不行了。如果最后3个去掉。程序就可以通过。不知道为什么。

Me.txtNumber , Me.txtPrice , Me.txtAmount 3个文本框的格式属性已经改成“常规数字”了。

 



ABB 发表于:2009-10-07 23:06:31

运行的时候出现

“运行时错误 3134”

“INSERT INTO 语句的语法错误”

 

怎么不能向 SQL SERVER中添加 数值?



ABB 发表于:2009-10-08 00:06:41

语法是没有问题。我测试了下,改成ACCESS本身的表就可以写入。

 

为什么将SQL SERVER中的数据类型由numeric 改成 float 也可以了呢??

 

 

 



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