microsoft access创建表单和报告帮助

时间:2011-02-08 20:48:29

标签: ms-access ms-access-2007

我是微软访问的新手。我正在为代理商创建系统来连接卖家和买家。目前,我正在使用两种不同的方式手动维护我的结算系统 为卖家和买家组成一个如下:

在第一张发票示例中,卖方代理通过收到卖方的委托来赚取收入。在数量字段中左侧的第一个项目 破折号表示曼(1曼等于40千克),而右边的项表示千克的价值。价格列表示每个人的价值 基础,最后一栏代表每个人的代理人委任。

通过添加kgs并通过添加kgs将其转换为mann单位来计算总qunatity,并将40kg转换为1 mann 例如,从kg字段2-30 + 2-32,kgs等于62kg将40kg转换为1人并将剩余的kgs放入kgs字段,如下所示5-22 价格是在总计字段中计算的,隐藏列是隐藏数量值,首先是kgs(2 * 40 + 30),也可以转换价格值 每公斤(1800/40)并将结果存储为总计字段为((2 * 40 + 30)*(1800/40))= 4950 最后为卖方扣除另一个代理商的利润隐藏字段140每个曼恩计算为转换代理值以千克为单位并乘以 代理值的总kgs为((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是Price表中的主键和Price表中的外键(一对多关系)

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));

1 个答案:

答案 0 :(得分:0)

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

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

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

= Me.Quantity * Me.Price

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

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

然而,除非有历史意义,否则它也可能适合跳过存储计算。