Access快速开发平台1.7版--提示错误:"当访问一个带有IDENTITY列的SQL Server表时,必须使用OpenRecordset的dbSeeChanges选项。"
时 间:2016-11-08 08:19:20
作 者:杨雪   ID:42182  城市:南京
摘 要:当访问一个带有IDENTITY列的SQL Server表时,必须使用OpenRecordset的dbSeeChanges选项。
正 文:
学员问题:

 
	
我做的模块删除按钮不能用,平台本身的模块这个删除按钮是正常的。查了一下没有用OpenRecordset。
用的老版本,1.7版
	
在线客服:
1.我刚才给 那个DAORunSQL删除语句,后面加了dbSeeChanges参数,提示找不到‘512 ’文件。
2.换成ADORunSQL,没有提示,但是删不掉。
3.测试正确版本为:
CurrentDb.Execute "Delete FROM [收入列表] Where [序号]=" & Nz(Me.sfrList![序号], 0), dbSeeChanges
就是感觉奇怪,自动生成的我看都是 daorunSQL.
	
刘师义(Eleven.Liu):--标准答案   
我记得平台后面的版本,DAORunSQL是默认加了dbSeeChanges参数的,不会报这个错
把这个函数的代码粘贴到basRDPRef模块里面去就行了
Public Function DAORunSQL(SQLStatement As String, _ Optional Database As Variant _ ) As Boolean On Error GoTo ErrorHandler Const dbSeeChanges = 512 DAORunSQL = False If IsMissing(Database) Then Dim dbs As Object: Set dbs = CurrentDb Else If VarType(Database) = vbObject Then Set dbs = Database Else Set dbs = DBEngine.OpenDatabase(Database) End If End If dbs.Execute SQLStatement, dbSeeChanges DAORunSQL = (dbs.RecordsAffected > 0) ExitHere: Set dbs = Nothing Exit Function ErrorHandler: MsgBox "Function DAORunSQL()" & vbCrLf & Err.Description, vbCritical, "Error #" & Err.Number Resume ExitHere End Function
	
不用做其它改动
ADORunSQL不太适合用在需要即时刷新的地方
	
因为DAORunSQL就是CurrentDb.Execute,只不过进行了扩展封装,它是用的ODBC通道。
而ADORunSQL是走的OLEDB通道。两者不是同步刷新的。所以用ADO删掉数据什么的,不能通过DAO马上刷新出来。
	
Access快速开发平台QQ群 (群号:321554481) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
 - 用Access连续窗体制作的树...(11.03)
 - 【Access高效办公】上一年...(10.30)
 - Access制作的RGB转CM...(09.22)
 - Access制作的RGB调色板...(09.15)
 - Access制作的快速车牌输入...(09.13)
 - 【Access高效办公】统计当...(06.30)
 - 【Access高效办公】用复选...(06.24)
 - 根据变化的日期来自动编号的示例...(06.20)
 - 【Access高效办公】按日期...(06.12)
 
  学习心得
最新文章
- 用Access连续窗体制作的树菜单...(11.03)
 - 【Access高效办公】上一年度累...(10.30)
 - Access做的一个《中华经典论语...(10.25)
 - Access快速开发平台--加载事...(10.20)
 - 【Access有效性规则示例】两种...(10.10)
 - EXCEL表格扫描枪数据录入智能处...(10.09)
 - Access快速开发平台--多行文...(09.28)
 - 关于从Excel导入长文本数据到A...(09.24)
 - Access制作的RGB转CMYK...(09.22)
 - 关于重装系统后Access开发的软...(09.17)
 

  
.gif)
