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 + -
显示快捷键?