【问题标题】:microsoft access create forms and reports helpmicrosoft access 创建表单和报告帮助
【发布时间】:2011-02-09 07:07:33
【问题描述】:

我是微软访问的新手。我正在为代理工作创建系统以连接卖家和买家。目前,我正在使用两种不同的方式手动维护我的计费系统 形式一卖方一买方如下:

在第一个发票示例中,卖方代理通过从卖方收取佣金来赚取收入。在数量字段中,左侧的第一项 破折号的符号代表曼(1 曼等于 40 公斤),而右侧的项目代表以公斤为单位的值。价格列代表每人的价值 基础,最后一列代表每人的代理佣金。

总数量是通过添加公斤来计算的,如果可能的话,先添加公斤,然后将40公斤转换为1曼,然后将其转换为曼单位 例如 2-30 + 2-32 来自 kg 字段,kgs 等于 62kg 将 40kg 转换为 1 人并将剩余 kgs 放入 kgs 字段,如下所示 5-22 价格在总字段中计算,该字段是隐藏列,首先转换以公斤为单位的数量值(2 * 40 + 30),并将价格值转换为 每公斤 (1800/40) 并将结果存储在 Total 字段中为 ((2*40+30) * (1800/40)) = 4950 最后为卖方在另一个代理利润隐藏字段中扣除佣金 140 per mann 计算为先转换代理价值(以 kg 为单位)并乘以 按代理价值计算的总公斤数为 ((2*40+30) * (140/40))

Name: ABC
Address: Street # 02
Type: Seller


DATE        TIME        QUANTITY(mann-kg)    PRICE PER MANN    Total(Hidden Field)    AGENT COMISSION(per mann)    AGENT PROFIT(Hidden Field)
09-02-2011    Morning         2-30            1800            4950                   140                             385
09-02-2011    Evening         2-32            1850            5180                   140                             392
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Total                           5-22            10130                              777                               

Payable = 10130 - 777 = 9,353                               

上述所有字段和计算方式保持不变,除了买方发票的佣金。

Name: DEF
Address: Street # 05
Type: Buyer


DATE        TIME        QUANTITY(mann-kg)    PRICE PER MANN
09-02-2011    Morning         2-30            1800         
09-02-2011    Evening         2-32            1850         
----------------------------------------------------------------------
Total                           5-22            10130        

Recievable = 10,130

我想要什么,我希望通过以相同的方式为用户输入数据和生成表单创建表单,从而将所有这些内容转换为 microsft access 2007 报告为卖方和买方的上述发票示例。我被卡住了如何输入提到的数量字段值,如何计算代理佣金等。 我还希望在报告中选择搜索选项,最终用户可以在日期条件和其他过滤器中轻松搜索特定卖家或买家的发票。

我需要帮助和协助如何计算和保存报告中的数量、单价、佣金和小计。

我设计的数据库架构是:

CustomerID 是客户表中的主键和价格表中的外键(一对多关系)

CREATE TABLE Customer (
CustomerID SMALLINT(6) NOT NULL AUTO_INCREMENT,
Name VARCHAR(100),
Address VARCHAR(255),
Type ENUM('1','2') COMMENT 'Seller=1, Buyer=2',
PRIMARY KEY (CustomerID));

CREATE TABLE Price (
PriceID INT(11) NOT NULL AUTO_INCREMENT,
CustomerID SMALLINT(6),
Date Date,
PriceType ENUM('Morning','Evening'),
Price INT(11) NOT NULL,
Quantity INT(11) NOT NULL,
Comission INT(11) DEFAULT NULL,
PRIMARY KEY (PriceID));

【问题讨论】:

    标签: ms-access ms-access-2007


    【解决方案1】:

    在 VBA 中执行计算并不难。首先,确保用户输入 KG 和可能的每 KG 价格,而不是人工计算,然后为各种控件设置事件。例如,要执行这样一组计算,您可能希望包含一个计算按钮,并在表单的更新前事件中进行计算。

    至于搜索,如果您有熟练的用户,而且用户不多,他们可以使用 Access 的内置搜索功能。

    然后你来报道。报表上的文本框可以包含计算:

    = Me.Quantity * Me.Price
    

    您可能想查看一些示例数据库,了解如何在表单和报告中设置控件。

    顺便说一句,您显示的创建表代码看起来更适合 SQL Server 而不是 Access。如果您愿意,没有理由不拥有 SQL Server 后端,在这种情况下,SQL Server 可能会通过触发器或更好的计算列(字段)执行大量计算。

    但是,跳过存储计算也同样适用,除​​非有历史必要性。

    【讨论】:

    • 问题是我不懂VB。并且用户需要在 Quantity 中输入 MANN-KGS 格式的数据,在 MANN 中输入 Price。
    • 它是VBA,你不能在一个段落中得到教训。这是书籍清单:msdn.microsoft.com/en-us/office/dd547097
    猜你喜欢
    • 1970-01-01
    • 2020-12-13
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    相关资源
    最近更新 更多