With Tables("长期医嘱")
.Position = .Rows.Count - 1
End With
If e.form.Controls("ComboBox1").Value Is Nothing Or e.form.Controls("ComboBox4").Value Is Nothing Then
MsgBox("请选择患者住院号和追加类别!",64,"提示")
If Tables("长期医嘱").Rows.count >0 Then
Dim cm4 As WinForm.ComboBox = e.Form.Controls("ComboBox4")
Dim f As New Filler
f.SourceTable = DataTables("追加项目")
f.SourceCols = "拼音码,项目名称"
f.DataTable = DataTables("长期医嘱")
f.DataCols = "拼音码,项目名称"
f.Filter = "分组名称 ='" & cm4.Value & "'"
f.Fill()
Dim Nu ,X ,Rq,Ys As String
Nu =CurrentTable.Current("编号")
X = e.Form.Controls("ComboBox1").value
Rq= e.Form.Controls("DateTimePicker1").value
Ys=e.Form.Controls("ComboBox5").value
Dim drs As List(Of DataRow)
drs = DataTables("长期医嘱").Select("[编号] >'" & Nu &"'")
For Each dr As DataRow In drs
dr("住院号") = X
dr("开嘱日期") = Rq
dr("医生") = Ys
Next
With Tables("长期医嘱")
.Position = .Rows.Count - 1
End With
Else
Dim cm4 As WinForm.ComboBox = e.Form.Controls("ComboBox4")
Dim f As New Filler
f.SourceTable = DataTables("追加项目")
f.SourceCols = "拼音码,项目名称"
f.DataTable = DataTables("长期医嘱")
f.DataCols = "拼音码,项目名称"
f.Filter = "分组名称 ='" & cm4.Value & "'"
f.Fill()
Dim Nu ,X ,Rq,Ys As String
Nu =CurrentTable.Current("编号")
X = e.Form.Controls("ComboBox1").value
Rq= e.Form.Controls("DateTimePicker1").value
Ys=e.Form.Controls("ComboBox5").value
Dim drs As List(Of DataRow)
drs = DataTables("长期医嘱").Select("[编号] ='" & Nu &"'")
For Each dr As DataRow In drs
dr("住院号") = X
dr("开嘱日期") = Rq
dr("医生") = Ys
Next
With Tables("长期医嘱")
.Position = .Rows.Count - 1
End With
End If
End If
问题可能出在If语句上。
我的意思:
第一步:返回最末行
第二步:如果表中为空行,执行第二个IF
否则执行else
[此贴子已经被作者于2011-8-1 10:32:28编辑过]