17273.html
来自「以电子书的形式收集了VB一些常见问题解决方法,可以很方便的查找自己需要解决的问题」· HTML 代码 · 共 26 行
HTML
26 行
<html> <head> <title>键栏位资讯不足或不正确;太多列被更新所影响??</title> </head> <body bgcolor="#FFFFFF" vlink="#808080"> <center> <h1>键栏位资讯不足或不正确;太多列被更新所影响??</h1> </center><hr size=7 width=75%><hr size=7 width=75%><p>Posted by <a href="mailto:lairtec@tpts5.seed.net.tw">Lairtec</a> on August 15, 1999 at 01:50:12:<p>在 DataEnvironment 中有一COMMAND, 为 SQL 指令, 设定如下:<br>Name => SQL1<br>SQL Command => Select * From VD Where VID = ? and DT > ? order by DT<p>进阶设定内容为:<br>锁定类型 = 3-乐观锁定<br>资料指标位置 = 3-使用客端资料指标<br>快取区大小= 100<br>=====================================================================<p>资料库 VD 结构如下:<p>栏位名称 资料型态 索引<br>VID 数字-长整数 是(可重复)<br>DT 日期/时间 是(可重复)<br>MDATA 数字-单精准数 否<p>=====================================================================<p>资料库现有内容如下(部份):<p>VID DT MDATA<br>211 1999/8/13 PM 05:43:25 10.7<br>211 1999/8/13 PM 05:43:25 10.7<br>211 1999/8/13 PM 05:43:25 10.2<br>211 1999/8/13 PM 05:43:25 10.4<br>211 1999/8/13 PM 05:43:25 10.4<br>211 1999/8/13 PM 05:43:25 10.2<br>211 1999/8/13 PM 05:43:25 10.1<br>211 1999/8/13 PM 05:59:32 10.0<p>=====================================================================<p>现有一 FORM , 上有一 MSHFlexGrid <br>Option Explicit<br>DIM rstDATA AS ADODB.RECORDSET<p>PRIVATE SUB FORM1_LOAD()<br> IF DataEnvironment.rsSQL1.State <> adStateClosed then<br> DataEnvironment.rsSQL1rsSQL1.Close<br> End If<br> DataEnvironment.Command("SQL1").Parameters(0)=211<br> DataEnvironment.Command("SQL1").Parameters(1)=#1/1/1999#<br> DataEnvironment.rsSQL1.Open<br> Set rstData = DataEnvironment.rsSQL1.Clone<br>End Sub<p>现在让 MSHFlexGrid 显示出如上资料库中的内容, 并有一修改按钮,要修改<br>资料时, 出现TextBox, 输入数值后更新该列在资料库中所对应之数值<p>Private Sub EDIT()<br> rstData.Move MSHFlexGrid1.Row-1,1<br> rsData.Fields("MDATA").Value = Val(Text1.Text)<br> rsData.Update<br>End Sub<p>======================================================================<p>此时依序修改第一列到第六列的数值, 结果改到第三列就出现错误讯息如下:<p>-2147467259:键栏位资讯不足或不正确;太多列被更新所影响.<p>WHY?? 因为并不是修改每一列都会出现该错误, 有些列更改时并无错误出现,<br>So, It confused me.<p>小弟认为可能是 VID 及 DT 都相同所致, 但因 MDATA 之数据是仪器自动量测的,<br>资料撷取速度很快, 同一秒内撷取多笔资料是正常之事, 因此该如何解决此一问题,<br>请各位先进能提供意见, 谢谢!!<br>======================================================================<br>原本我有加一自动编号栏位, 以确保下次资料出现的顺序与这次输入顺序相同<br>(因我试过有时下次开启资料时发现顺序与上次输入时之顺序不同), 但因在新<br>增资料后若要马上修改资料会有错误发生, 经 TRACE 发现新增数笔资料后, <br>刚才新增资料的自动编号栏位之值均为零, 若其型态为 TABLE 时亦同. 但型态<br>为 TABLE 时,可下REQUERY 即可恢复正常, 但SQL 型态在下REQUERY时亦会有错<br>误出现. 对此事亦极感困扰, 不知有何解决之道??<br>故现在是改以输入时间当做排序的依据, 但总觉不是好方法, 因有时可能会不正确.<br>(如修改数据, 时间可能会比前后笔资料都晚)<br>=====================================================================<p>SORRY, 写了这么多, 希望各位先进能了解我的问题, 并能给予解答, 小弟会<br>感激不尽的, 谢谢!!<br><br><hr size=7 width=75%><p><a name="followups">Follow Ups:</a><br><ul><!--insert: 17273--><!--top: 17276--><li><a href="17276.html">Re: 键栏位资讯不足或不正确;太多列被更新所影响??</a> <b>Sun Jack</b> <i>02:06:07 8/15/99</i>(<!--responses: 17276-->0)<ul><!--insert: 17276--></ul><!--end: 17276--></ul><!--end: 17273--><br><hr size=7 width=75%><p></body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?