2015-08-15 65 views
1

我将MS Access应用程序作为前端和PostgreSQL数据库作为后端。问题是,当我想在数据库中创建新行我得到无法通过MS Access前端在PostgreSQL数据库中创建新行

运行时错误“3155”:ODBC - 插入链接表上失败

我用一个简单的应用程序尝试。只有一张桌子。问题仍然存在。 这是代码:

Dim db As Database 
Set db = CurrentDb 

Dim rs As Recordset 
Set rs = db.OpenRecordset("SELECT * FROM tblTest") 

With rs 

    .AddNew 

.Update 

End With 

rs.Close 
db.Close 

它打破。更新。 这种行为的原因是什么? 在此先感谢!

+0

你处理ADODB或DAO记录集?这两个库是在你的'工具'窗口中声明的吗?哪一个先来?你得到的错误信息是什么? –

回答

0

你可能需要插入一些值:

With rs  
    .AddNew 
     .Fields("SomeField").Value = something 
     .Fields("AnotherField").Value = somethingelse 
    .Update 
    .Close 
End With 

尝试此ODBC连接:

With rs  
    .AddNew 
     .Fields("SomeFieldThatCanBeNull").Value = Null 
    .Update 
    .Close 
End With 
+0

谢谢你的建议,但这不是我所需要的。 AddNew应该在带有ID的表格中保留新行,但这不会发生。正因为如此,我手动增加ID并将其保存到表中。 – pep

+0

它将与一个Access数据库一起工作,其中ID是在插入时创建的,而我猜,Postgress首先会在更新时分配ID。试试我编辑的答案。 – Gustav