程序死亡的原因?

lyjone2003 2003-09-25 08:12:30
Private Sub Command1_Click()
Dim StartStr As String, SendStr As String, ReceiveStr As String, PatientCard As String
StartStr = "12345678"
'略部分
SendStr = SendStr & "ZZZZ"
On Error GoTo errhandle
Dim i As Long, WrongMark As String
ReceiveStr = String(516, " ")
i = SendRcv2(StartStr, SendStr, ReceiveStr)

WrongMark = UCase(Mid(ReceiveStr, 9, 4))
Select Case Trim(WrongMark)
Case ""
PatientCard = Mid(ReceiveStr, 65, 9)
Me.txtYBKH = PatientCard
JZLBCBox.SetFocus
Call txtYBKH_KeyDown(13, 0)
Case "P001"
PatientCard = Mid(ReceiveStr, 65, 9)
Me.txtYBKH = PatientCard
JZLBCBox.SetFocus
Call txtYBKH_KeyDown(13, 12)
Case Else
MsgBox "读卡失败" & ":" & Trim(Mid(ReceiveStr, 389, 60)), vbCritical, "提示信息"
txtYBKH.SetFocus
End Select
Exit Sub
errhandle:
MsgBox "请插入医保卡!", vbOKOnly, "提示信息"
End Sub





Private Sub txtYBKH_KeyDown(KeyCode As Integer, Shift As Integer)
Dim rsZYpat As ADODB.Recordset
Dim rsMZpat As ADODB.Recordset
Dim strSQL As String


If KeyCode = 112 Then ' '刷IC卡 (按F1)

Command1_Click
End If

If KeyCode = 13 And Trim(txtYBKH.Text) <> "" Then
'略
End If
Set rsZYpat = Nothing
Set rsMZpat = Nothing
End If
End Sub

上述刷卡程序有时候会死亡,是什么原因啊?如果在txtYBKH_KeyDown函数中加入onerror goto errhandle 结束程序运行能不能解决问题啊,因为程序是偶尔死掉,所以不好定位,连接的数据库不是本地的,我怀疑是网络延迟造成的,希望各位大虾赐教!!!不胜感激!!!
...全文
50 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
szyhy810518 2003-09-25
  • 打赏
  • 举报
回复
If KeyCode = 13 And Trim(txtYBKH.Text) <> "" Then
'略
End If
Set rsZYpat = Nothing
Set rsMZpat = Nothing
End If '''''这一句是不是多余的!
sk9979 2003-09-25
  • 打赏
  • 举报
回复
略掉了一部分处理程序,可能是刷卡程序的问题,以为卡号还没有刷出来
lyjone2003 2003-09-25
  • 打赏
  • 举报
回复
没有人知道吗?或者有刷卡的程序的大虾给个例子啊
of123 2003-09-25
  • 打赏
  • 举报
回复
If KeyCode = 13 And Trim(txtYBKH.Text) <> "" Then
'略

你略掉了什么?
sk9979 2003-09-25
  • 打赏
  • 举报
回复
是多余的,不过我想可能是刷卡程序的问题

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧