LEFT JION语句建立了一个Recordset ,在TRst.Detete删除记录时出错,各位高手有何良策?

cuiyxy 2001-08-29 10:23:34
数据库Sql Server
我的程序里有到了两个TABEL,分别是:"AlarmLog" 报警日志,
"ALarmTypeDescription" 报警类别描述
AlarmLog 结构
Id AlarmTypeCode
1 1003
2 1002
3 1009
4 1002

ALarmTypeDescription 结构
AlarmTypeCode Description
1001 数据采集终端故障
1002 通信信道故障
1003 A相电流上越界
......
我用如下将其从数据库中取出
Dim AlarmLogRst as Recordset
dim SqlStr as string
SqlStr="Select Lg.* ,Des.Description from AlarmLog Lg Left join " _
+ "AlarmTypeDescription Des on Lg.AlarmTypeCode=Des.AlarmTypeCode"
Set AlarmLogRst=New Recordset
AlarmLogRst.Open Sqlstr,DB, adOpenStatic, adLockOptimistic

在程序中运行下列过程时出错,
Private Sub cmdDelete_Click()
On Error GoTo DeleteErr
With AlarmLogRst
.Delete
.MoveNext
If .EOF Then .MoveLast
End With
Exit Sub
DeleteErr:
MsgBox Err.Description
End Sub
错误描述是“多步操作产生错误。请检查每一步的状态值。”
...全文
125 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
cuiyxy 2001-08-30
  • 打赏
  • 举报
回复
up too
cuiyxy 2001-08-30
  • 打赏
  • 举报
回复
up
cuiyxy 2001-08-29
  • 打赏
  • 举报
回复
up
cuiyxy 2001-08-29
  • 打赏
  • 举报
回复
to glave() :
其实可以把记录删除,只是删除后会有好讨厌的错误提示

to ozw(沧浪客) :
我是在DataGrid中显示Alarmlogrst
如果我有delete from tablename where ...语句的话,
我就刷新DataGrid显示,会造成闪动
ozw 2001-08-29
  • 打赏
  • 举报
回复
用SQL语句删除
delete from tablename where ...
glave 2001-08-29
  • 打赏
  • 举报
回复
多表级联删除, 在ACCESS中可以设定级联删除,这样只要删主表就行了。否则只有先删子表,然后主表。通过外连接形成 RECORDSET 当然不行,不信,你可以看看 这个 recordset的属性。
cuiyxy 2001-08-29
  • 打赏
  • 举报
回复
up
wiw 2001-08-29
  • 打赏
  • 举报
回复
如果把if .eof the .movelast 移到前面大概可以消除错误。
cuiyxy 2001-08-29
  • 打赏
  • 举报
回复
UP
dzbswl 2001-08-29
  • 打赏
  • 举报
回复
UP
cuiyxy 2001-08-29
  • 打赏
  • 举报
回复
up

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧