设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1841|回复: 6
打印 上一主题 下一主题

[其它] 是不是太简单,提示以下也可(以前的帖子不能解决问题)

[复制链接]
跳转到指定楼层
1#
发表于 2003-12-26 17:12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
情况这样,在一个表中有一个字段,我想要她自动编号如:
           款号                       工序编号
    206378                             1
    206378                             2
    206378                             3
    206392                             1
    206392                             2
    206392                             3
其实就是在工价对应表中,输入不同款号后,工序编号分别从1递增,删除后还连续







[此贴子已经被作者于2003-12-27 9:21:26编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2003-12-26 23:07:00 | 只看该作者
http://www.office-cn.net/Article_Show.asp?ArticleID=81
3#
 楼主| 发表于 2003-12-26 23:32:00 | 只看该作者
这样不行,注意每增加一条记录从1起自动编号,安照这个列子
http://www.office-cn.net/Article_Show.asp?ArticleID=81
都是从扑捉最大值开始加新款号的话,它会从前一个款号的工序编号的最大值开始,
请大家细堪
4#
发表于 2003-12-27 00:02:00 | 只看该作者
请举一反三
5#
发表于 2003-12-27 00:07:00 | 只看该作者
全部显示

DMax 方法
请参阅 应用于 示例 特性
使用 DMax 函数可以确定特定记录集(一个域)中的最大值。可以在 Visual Basic、宏、查询表达式或计算控件中使用 DMax 函数。Variant 型。

expression.DMax(Expr, Domain, Criteria)

expression   必需。返回“Applies To”列表中的一个对象的表达式。

Expr  必需 String 型。用于标识要为其查找最小值和最大值的字段的表达式。可以是用来标识表或查询中字段的字符串表达式,也可以是执行字段中数据计算的表达式。在 expr 中,可以包含表字段的名称、窗体上的控件、常量或函数。如果 expr 包括函数,则函数可以是内置的,也可以是用户自定义的,但不能是另一个域聚合函数或 SQL 聚合函数。

Domain  必需 String 型。字符串表达式,用于标识组成域的记录集。可以是一个表名称或查询名称。

Criteria  可选 Variant 型。可选的字符串表达式,用于限制 DMax 函数执行的数据范围。例如,criteria 通常等价于 SQL 表达式中的 WHERE 子句,只是不含 WHERE 关键字。如果省略 criteria,DMax 函数将在整个域计算 expr。任何包含在 criteria 中的字段必须同时也是 domain 中的字段,否则 Dmax 函数将返回 Null。

说明
DMax 返回满足 criteria 的最大值。如果 expr 标识的是数值数据,则 DMax 函数返回数值;如果 expr 标识的是字符串数据,则返回按字母顺序排列的第一个或最后一个字符串。

DMax 函数将忽略 expr 引用的字段中的 Null 值。但是,如果没有记录满足 criteria,或者 domain 中不包含记录,则 DMax 函数返回 Null。

当在宏、模块、查询表达式或计算控件中使用 DMax 函数,必须仔细构造 criteria 参数,以确保能够正确地进行计算。

在查询的“条件”行、查询的计算字段表达式中或更新查询的“更新到”行中,均可用 DMax 函数指定条件。

注意   在总计查询中的计算字段表达式中,可以使用 DMax 函数或 Max 函数。如果使用 DMax 函数,是先求值后对数据进行分组;如果使用 Max 函数,则是先进行分组而后再计算字段表达式中的值。

当需要指定条件来限制函数执行的数据范围时,可以在计算控件中使用 DMax 函数。例如,若要显示运到“加州”的订单的最高运费,应将文本框的 ControlSource 属性设为下列表达式:

=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")
如果只是想查找 domain 中所有记录的最大值,可使用 Max 函数。

如果要显示的字段不在窗体所基于的记录源中,则可在模块、宏或窗体上的计算控件中使用 DMax 函数。

提示   虽然可以使用 DMax 函数来查找外部表中字段的最大值。但更有效的方法是创建含有这两个表中所有所需字段的查询,然后以这个查询为基础创建窗体或报表。

注意   使用该函数时,对 domain 中记录所做的未保存更改将不包括在内。如果要让 DMax 函数基于更改后的值,必须先保存更改,方法是:单击“文件”菜单上的“保存记录”,将焦点移到另一个控件上,或者使用 Update 方法。

示例
下面的示例返回运往英国的订单的“运费”字段的最大值。域为“订单”表。criteria 参数将记录集的结果限制为“货主国家/地区”等于 UK 的记录。

Dim curX As Currency, curY As Currency
curY = DMax("[Freight]", "Orders", "[ShipCountry] = 'UK'")
在下一示例中,criteria 参数将包含名为“订购日期”的文本框的当前值。该文本框与“订单”表中的“订购日期”字段绑定在一起。请注意,对控件的引用不要包括在标识字符串的双引号 (") 中。这样可以确保每次调用 DMax 函数时,Microsoft Access 都从控件中获得当前值。

Dim curX As Currency
curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _
    & Forms!Orders!OrderDate & "#")





[此贴子已经被作者于2003-12-26 16:08:08编辑过]

6#
 楼主| 发表于 2003-12-28 00:17:00 | 只看该作者
没想出,有高手详细指点一下
7#
发表于 2003-12-28 00:31:00 | 只看该作者
看下这样可以了吗?


Private Sub 款号_AfterUpdate()

Dim strmax As Integer
If Nz([款号]) = Nz(DLookup("[款号]", "工价对应表", "[款号]=" & "'" & 款号 & "'")) Then
    strmax = DMax("[工序编号] ", "工价对应表", "[款号] =" & "'" & 款号 & "'")
    Me.工序编号 = strmax + 1
Else
    Me.工序编号 = 1
End If

End Sub

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-7 20:19 , Processed in 0.081956 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表