TO:景升: 我作的一个系统,其中有2张表,A1,A2.这些都是病人的临床资料,与此同时,相应的又有2张历史记录表,A1h,A2h。其中A1表中,有一个字段是自编号,这个号码是唯一的。我希望就是如果这个病人是新来的,那么我就把这些资料保存起来。如果来的次数>1次,那么我就希望把它以前的那条记录存放到相对应的历史记录中去。那么当前新的信息代替以前那条。 我现在不知道是如何去定位那条记录,也就是说当isNew=false 的时候,我不知道怎么定位,要改变的到底是那条记录。我的代码如下。 If isNew = New Then '是新来的病人 If rs1.RecordCount > 0 And Not rs1.EOF Then rs1.MoveLast If rs2.RecordCount > 0 And Not rs2.EOF Then rs2.MoveLast '添加记录 rs1.AddNew rs2.AddNew
我作的一个系统,其中有2张表,A1,A2.这些都是病人的临床资料,与此同时,相应的又有2张历史记录表,A1h,A2h。其中A1表中,有一个字段是自编号,这个号码是唯一的。我希望就是如果这个病人是新来的,那么我就把这些资料保存起来。如果来的次数>1次,那么我就希望把它以前的那条记录存放到相对应的历史记录中去。那么当前新的信息代替以前那条。
我现在不知道是如何去定位那条记录,也就是说当isNew=false 的时候,我不知道怎么定位,要改变的到底是那条记录。我的代码如下。
If isNew = New Then
'是新来的病人
If rs1.RecordCount > 0 And Not rs1.EOF Then rs1.MoveLast
If rs2.RecordCount > 0 And Not rs2.EOF Then rs2.MoveLast
'添加记录
rs1.AddNew
rs2.AddNew
'添加第一张表,即是病人基本资料表
rs1.Fields(1) = Trim(frmPatientInfo.txtZbh.Text)
rs1.Fields(2) = Trim(frmPatientInfo.txtWxh.Text)
rs1.Fields(3) = Trim(frmPatientInfo.txtName.Text)
rs1.Fields(4) = Trim(frmPatientInfo.comboSex.Text)
rs1.Fields(5) = Trim(frmPatientInfo.DtPickBornDate.Value)
'第二张表,即是临床表现表
rs2.Fields(1) = Trim(frmlcResult.DtPickEnterDate.Value)
rs2.Fields(2) = Trim(frmlcResult.comboFbyy.Text)
rs2.Fields(3) = Trim(frmlcResult.listSfzz.Text)
rs2.Fields(4) = Trim(frmlcResult.comboWx.Text)
rs2.Fields(5) = Trim(frmlcResult.txtWxTime.Text)
rs2.Fields(6) = Trim(frmlcResult.txtWxAge.Text)
rs2.Fields(7) = Trim(frmlcResult.comboYy.Text)
rs2.Fields(8) = Trim(frmlcResult.comboFx.Text)
rs2.Fields(9) = Trim(frmlcResult.comboBfz.Text)
rs2.Fields(10) = Trim(frmlcResult.comboWay.Text)
rs2.Fields(11) = Trim(frmlcResult.comboReason.Text)
Else
就是这里我不会做。如果是来看过病的,我要把它以前的记录到给历史记录表中。关键是不知道到底是那条记录是雷同的记录。
' 添加的是以前来看过病的
rs1.MoveFirst
rs2.MoveFirst
While (rs1.EOF = False)
'判断那条记录是雷同
If Trim(rs1.Fields(1)) <> Trim(frmPatientInfo.txtZbh.Text) Then
rs1.MoveNext
rs2.MoveNext
rs3.MoveNext
rs4.MoveNext
rs5.MoveNext
Else
'找到了那条相等的记录
rs1.Book
rs1.Update
rs2.Update
MsgBox "添加病人资料成功!", vbOKOnly + vbExclamation, "提示"
End If
我前面可以做到,但是else后面我不会