14492.html
来自「VB技巧问答10000例 VB技巧问答10000例」· HTML 代码 · 共 23 行
HTML
23 行
<html>
<head>
<title>Re: 为何删除(修改)资料会出错</title>
</head>
<body bgcolor="#FFFFFF" vlink="#808080">
<center>
<h1>Re: 为何删除(修改)资料会出错</h1>
</center>
<hr size=7 width=75%>
<hr size=7 width=75%><p>
Posted by JOB on June 22, 1999 at 11:45:27:<p>
In Reply to: <a href="14457.html">为何删除(修改)资料会出错</a> posted by yeong huann on June 21, 1999 at 16:32:28:<p>
: 为何删除(修改)资料会出错<p>: 我的资料库开启方法如下(片段):<p>: SQL = "Select * From 主控 Order By fd_SongID"<p>: <br>: Dim Connstr As String<br>: Dim DataAppfilename As String<p>: DataAppfilename = "Data Source=" & App.Path & "\" & "KTV主控.mdb"<br>: Connstr = "Provider=Microsoft.Jet.OLEDB.3.51;" & DataAppfilename<br>: conn.Open Connstr<p>: rs.CursorLocation = adUseClient<br>: On Error GoTo openerr<br>: rs.Open SQL, conn, adOpenDynamic, adLockPessimistic<p>: 删除指令如下(片段):<p>: If KeyCode = vbKeyDelete Then<br>: <br>: If vsFlex1.Row > 0 Then<br>: msg = MsgBox("你确定要删除此笔资料", 52)<br>: If msg = vbYes Then<br>: On Error GoTo exit1<br>: rs.MoveFirst<br>: rs.Move vsFlex1.Row - 1<br>: rs.Delete<br>: vsFlex1.RemoveItem vsFlex1.Row<br>: <br>: Else<br>: End If<br>: <br>: Else<br>: End If<br>: <br>: End If<p>: 我的资料表均未设索引,换言之所有栏位的值并非唯一,为什么当我删除(或修改)的资料录的第一个栏位值并非唯一时,就会出现错误("有太多资料被引响"),然<br>: 后所有和我所要修改的资料录中的第一个栏位相同的值的资料,全都会被更改.<br>: 这到底是为什么?<p>: PS:平常状态(即欲修改的资料录的第一个栏位的值没有重复),则动作完全正常<p>因为,资料库会自动以第一个栏位为它的索引值,所以,在没有<br>索引及第一个栏位非惟一的就会出现你的问题,要解决你的问题只有把有惟一性栏位,例如PK,为第一栏位就可避免错误
<br>
<br><hr size=7 width=75%><p>
<a name="followups">Follow Ups:</a><br>
<ul><!--insert: 14492-->
</ul><!--end: 14492-->
<br><hr size=7 width=75%><p>
</body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?