机房收费系统之实时错误'-2147217873(80040e2f)

来源:互联网 发布:revit软件正版多少钱 编辑:程序博客网 时间:2024/05/18 12:33

  下图是机房收费系统中的表Student_Info,列名一一展现:

  在敲“注册”窗体的时候,由于窗体中没有涉及到转账情况、当前用户名以及当前日期和时间,所以代码部分就跳了过去,是这样敲的:

<pre name="code" class="html"><span style="font-size:24px;">txtSQL = "select * from Student_Info"Set mrc = ExecuteSQL(txtSQL, MsgText)mrc.AddNewmrc.Fields(0) = Trim(txtCardNo.Text)mrc.Fields(1) = Trim(txtSID.Text)mrc.Fields(2) = Trim(txtName.Text)mrc.Fields(3) = Trim(ComboSex.Text)mrc.Fields(4) = Trim(txtDept.Text)mrc.Fields(5) = Trim(txtGrade.Text)mrc.Fields(6) = Trim(txtClass.Text)mrc.Fields(7) = Trim(txtRecharge.Text)mrc.Fields(8) = Trim(txtExplain.Text)mrc.Fields(10) = Trim(comboState.Text)</span>

  后来尝试运行,填写了以下信息后,点击存盘,就报错了:实时错误'-2147217873(80040e2f)不能将 NULL 值插入列;列不允许空值,INSERT 失败。
  按照提示的错误,进行如下操作,允许NULL值为空:




  原以为万事大吉了,没想到UserID列消停了,但是Ischeck列又不听话了,所以,便将这些列的“允许Null值”前边都划上了对勾,点击保存图标后运行,成功了,后觉得这不是万全之策,为了让人查看表的时候有一种整体感,便用代码将窗体上没有体现出来的信息也加上了:

<span style="font-size:24px;">txtSQL = "select * from Student_Info"    Set mrc = ExecuteSQL(txtSQL, MsgText)        mrc.AddNew    mrc.Fields(0) = Trim(txtCardNo.Text)    mrc.Fields(1) = Trim(txtSID.Text)    mrc.Fields(2) = Trim(txtName.Text)    mrc.Fields(3) = Trim(ComboSex.Text)    mrc.Fields(4) = Trim(txtDept.Text)    mrc.Fields(5) = Trim(txtGrade.Text)    mrc.Fields(6) = Trim(txtClass.Text)    mrc.Fields(7) = Trim(txtRecharge.Text)    mrc.Fields(8) = Trim(txtExplain.Text)    mrc.Fields(10) = Trim(comboState.Text)    mrc.Fields(14) = Trim(ComboType.Text)   </span>


   以下内容为后添加的代码:    

    mrc.Fields(9) = Trim(UserName)    mrc.Fields(11) = "未结账"    mrc.Fields(12) = Date    mrc.Fields(13) = Time        mrc.Update   '更新记录集    MsgBox "注册成功!", vbOKOnly + vbExclamation, "提醒"    mrc.Close    Me.Hide


  解决问题的过程就是加深知识理解的过程,虽然进度慢,但是还是要踏实~~~

                                             
0 0
原创粉丝点击