误的信息,然后,再把修改的信息作为一条新的记录进行录入操纵。这样,就完成了对民兵信息记录的修改要求。
在该窗体(frmMbxxlr)【删除】按钮的Click事件中输入如下代码:
Private Sub Command3_Click()
If MsgBox("你确认要删除这条记录吗?", vbExclamation + vbOKCancel, "警告") = vbCancel Then '取消删除记录的行为
Exit Sub
End If
Adodc1.Recordset.Delete ‘删除记录
Adodc1.Recordset.Update ‘保存
MsgBox "成功删除该记录!", vbInformation + vbOKOnly
End Sub
要从记录集中删除记录的操作分为三步:
(1)定位被删除的记录使之成为当前记录。
(2)调用Delete方法。
(3)移动记录指针。
注意:在使用Delete方法时,当前记录立即删除,不加任何的警告或者提示。删除一条记录后,被数据库所约束的绑定控件仍旧显示该记录的内容。因此,你必须移动记录指针刷新绑定控件,—般采用移至下一记录的处理方法。在移动记录指针后,应该检查Eof属性
关于“打印”功能将在后面的报表打印中作详细介绍,这里就不作叙述。
本模块界面如图5-6所示:
图5-8
本模块界面如图5-7所示:
代码及实现方式。在【查找】按钮的Click事件中输入如下代码:
Dim flag As Integer
If Option1.Value = True Then '选择查询方式并判断输入是否合法
If Len(Text1.Text) <> 17 Then
MsgBox "请输入个人编码17位!"
Text1.SetFocus
Exit Sub
Else
flag = 1
End If
…
以上这段代码是完成查询方式的选择,在这里设置了四种查询方式,分别是按民兵个人编码,行政编码,单位编码和姓名,在确定了按某种方式进行查询时,接下来便是用select语句在表中找到符合条件的记录,代码中where后面的表达式就是查询条件。下面这部分代码即是按照相应的查询方式显示查询结果,如果存在,则在窗体中的DataGrid数据网格控件中显示,否则,会弹出一个信息框告知没有找到符合要求的记录。
Select Case flag '按照相应的查询方式显示查询结果
Case 1
Label2.Visible = True '显示"查询结果"字样
Adodc1.RecordSource = "select * from 民兵信息录入 where 个人编码 ='" & Trim(Text1.Text) & "' "
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
If Adodc1.Recordset.EOF And Adodc1.Recordset.BOF Then
MsgBox "没有与该个人编码相应的记录存在!", vbInformation + vbOKOnly, "查询结果"
…
Else
If Not (Adodc1.Recordset.EOF And Adodc1.Recordset.BOF) Then
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.MoveLast
…
Exit Sub
Case 2
…
注:在该VB代码中使用了SQL 的SELECT语句实现查询,SELECT语句基本上是数据库记录集的定义语句。ADO Data控件的RecordSource属性不—定是数据表名,可以是数据表中的某些行或多个数据表中的数据组合。可以直接在ADO Data控件的RecordSource属性栏中输入SQL,也可在代码中过SQL语句将选择的记录集赋给数据控件的RecordSource属性,也可赋予对象变量。