Office中国论坛/Access中国论坛

标题: 请教一个access的思路希望大家给我点帮助在线等 [打印本页]

作者: 叶棋    时间: 2008-3-1 23:06
标题: 请教一个access的思路希望大家给我点帮助在线等
ggjj大家好
  最近刚开始学习access需要做一个电子元器件的管理数据库
  现在我有一个想法但由于不太熟悉这个软件 希望大家能给我点思路

  首先我打算录入可以显示各种元器件信息的表格 希望实现:让用户根据自己电路 能点击自己选中需要使用的元器件(多选)  然后最后能计算出这些元器件的总价格并且能打印出报表 最好还能保存比较得出的方案(因为可能用户有多种方案 记录下来便于比较价格)


  不知道我表述的是否清楚 期待大家能给我点建议 比如用什么功能可以实现 我现在使用的软件是access2007
    新来的希望能和大家做朋友  我留下我的msn :par_donner@hotmail.com 希望各位前辈多多指教
作者: 叶棋    时间: 2008-3-2 18:21
等待中.....今天我发现在报表的设计中有一个多选对钩选项 似乎能多选以后并计算总价格 它是否能实现此功能??
作者: 叶棋    时间: 2008-3-2 18:35
谢谢斑竹 目前正在做基础框架 前面的问题应该不大
现在就是要实现“能点击自己选中需要使用的元器件(多选) ”最后计算出选中物品的总价格 并能保存方案这里
目前看了不少学习资料也没有找到思路 不知道用access里的什么功能可以实现?  给我指个大方向  我可以针对性去学习
作者: 叶棋    时间: 2008-3-2 20:21
好的 这两天抓紧把基本的弄出来发上来让大家帮看看 谢谢
作者: 叶棋    时间: 2008-3-6 03:10
今天终于研究到代码问题了 我看了罗斯文里面的一个复选框例子的代码是vb语言编的
能看得懂大部分吧 但不知道如何修改。。。。。
作者: 叶棋    时间: 2008-3-6 03:23
Option Compare Database
Option Explicit


Private Sub Posted_To_Inventory_AfterUpdate()
    On Error GoTo ErrorHandler

    Dim InventoryID As Long
    Dim ProductID As Long
    Dim Quantity As Long
   
    ProductID = Nz(Me![²úÆ· ID], 0)
    Quantity = Nz(Me![ÊýÁ¿], 0)
    InventoryID = Nz(Me![¿â´æ ID], 0)
   
    'ÕýÔÚתÈëпâ´æ
    If Me![תÈë¿â´æ] Then
        If IsNull(Me![½ÓÊÕÈÕÆÚ]) Then
            Me![½ÓÊÕÈÕÆÚ] = Date
        End If
        
        If ¿â´æ.AddPurchase(Me![²É¹º¶©µ¥ ID], ProductID, Quantity, InventoryID) Then
            If InventoryID > 0 Then
                Me![¿â´æ ID] = InventoryID
                Me![תÈë¿â´æ] = True
                MsgBoxOKOnly InventoryPostingSuccess
            End If
        Else
            Me![תÈë¿â´æ] = False
            MsgBoxOKOnly InventoryPostingFailure
        End If
        
        eh.TryToSaveRecord
        
        If ¿â´æ.GetQtyOnBackOrder(ProductID) > 0 Then
            If MsgBoxYesNo(FillBackOrdersPrompt) Then
                ¿â´æ.FillBackOrders ProductID
            End If
        End If
        
    'ÕýÔÚɾ³ýÒÑתÈëµÄ¿â´æ
    Else
        If InventoryID > 0 Then
            Me![תÈë¿â´æ] = True
        End If
    End If
   
Done:
    Exit Sub

ErrorHandler:
    ' µ÷ÊÔʱ½«»á»÷ÖÐ Resume Óï¾ä
    If eh.LogError("Posted_To_Inventory_AfterUpdate") Then Resume
End Sub


Private Sub Date_Received_AfterUpdate()
    If Me![תÈë¿â´æ] Then
        Debug.Assert False
    ElseIf MsgBoxYesNo(PostReceivedProductPrompt) Then
        Me![תÈë¿â´æ] = True
        Posted_To_Inventory_AfterUpdate
    End If
End Sub


Private Sub Form_Current()
    Me.AllowEdits = Not Me![תÈë¿â´æ]
End Sub


Private Sub Form_Load()
    Dim rsw As New ¼Ç¼¼¯·â×°³ÌÐò
    With rsw.GetRecordsetClone(Me.Recordset)
        'È·±£¿â´æתÈëµÄÍêÕûÐÔ
        While Not .EOF
            If Not IsNull(![¿â´æ ID]) Then
                rsw.Edit
                ![תÈë¿â´æ] = True
                rsw.Update
            End If
            rsw.MoveNext
        Wend
    End With
End Sub

不知道为什么贴上来以后中文变乱码了 可能是我机器系统不是中文的原因 这个是罗斯文实例里 采购订单明细的接收子窗体的复选框中的事件代码 我发现他对复选框建立了一个字段 用复选框来判断是和否来确定是否添加 不知道我应该如何简化改写这个程序 只要实现 选中物品价格累加 显示报表就可以了 请教大家




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3