北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
我有一段保存数据的程序,但不知道为什么第一次点击保存无法存储,必须保存两次才能成功。希望高手能帮我分析一下原因。简易代码如下:
(因为整个程序太大无法上传上去,还请见谅)
Private Sub 保存_Click()
If MsgBox("你确定要保存吗?", vbYesNo + 32, "系统提示") = vbYes Then
'主表
With r主表
If s编号 = "" Then
.AddNew
Else
.Edit
End If
!单据号= Me.单据号
!入库日期 = Me.入库日期
!性质 = Me.性质
!核查= Me.核查
.Update
If s编号 = "" Then
移动主表记录 3 '添加新记录后移到最后一条
End If
End With
'-------------------------------------
'明细表
If IsNull(Me.ID) = True Then
'如果入库ID是空的,则追加明细记录
dbs.Execute "INSERT INTO 入库单(单据号,日期,......) VALUES('" & _
Me.单据号& "','" & Me.入库日期 & "',.....)"
Else
'否则更新明细记录
dbs.Execute "UPDATE 入库单 SET 单据号='" & Me.单据号 & "',日期='" & Me.入库日期& "'...... "'
WHERE 入库ID=" & Me.ID
End If
'-------------------------------------
'刷新子窗体
Me.入库明细子窗体.Requery
End If
Me.AllowEdits = (Me.核查 = False)
Me.AllowDeletions = (Me.核查 = False)
End Sub
Private Sub 移动主表记录(i方向 As Integer)
On Error Resume Next
With r主表
Select Case i方向
Case 0 '第一条
.MoveFirst
Case 1 '上一条
.MovePrevious
If .BOF Then .MoveFirst
Case 2 '下一条
.MoveNext
If .EOF Then .MoveLast
Case 3 '最后一条/新记录
.MoveLast
Case 4 '最后一条/新记录
.MoveLast
.MoveNext
End Select
If .BOF Or .EOF Or i方向 = 4 Then
s编号 = ""
Me.单据号= Null
Me.入库日期 = Null
Me.性质 = Null
Me.核查= False
Me.T记录.Caption = "*/" & .RecordCount
Else
s编号 = !单据号
Me.单据号 = !单据号
Me.入库日期 = !入库日期
Me.性质 = !性质
Me.核查 = !核查
Me.T记录.Caption = .AbsolutePosition + 1 & "/" & .RecordCount
End If
End With
Me.AllowEdits = (Me.核查 = False)
Me.AllowDeletions = (Me.核查 = False)
End Sub