Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

关于存储的问题

千与千寻  发表于:2010-08-06 17:47:17  
复制

我有一段保存数据的程序,但不知道为什么第一次点击保存无法存储,必须保存两次才能成功。希望高手能帮我分析一下原因。简易代码如下:

(因为整个程序太大无法上传上去,还请见谅)

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

 

Top
千与千寻 发表于:2010-08-06 17:48:44


千与千寻 发表于:2010-08-10 14:45:48

怎么没人帮忙解决了》??

 



总记录:2篇  页次:1/1 9 1 :