Access交流中心

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

联合查询中如何增加自动编号

韩云  发表于:2011-06-01 21:11:40  
复制

我做了一个联合查询,想增加一个自动编号的字段,查看了一些例子,大部分都是根据原来表中的ID来实现的,但是,因为我的联合查询是有3个表组成的,这样就会有三个ID号,所以以ID为基础来实现自动编号会出现重复,请问各位老师,有什么别的好办法吗?最好给提供一个类似的实际例子。

 

Top
网行者 发表于:2011-06-01 22:02:45
红尘如烟老师的《在窗体中实现动态行号(连续序号)》:http://www.accessoft.com/article-show.asp?id=5032


韩云 发表于:2011-06-01 22:11:18
谢谢网行者老师,看了你提供的例子,恕我愚钝,我要的结果是在查询中增加自动编号,因为我还要用这个查询做一个追加查询,当执行追加查询时,重复的号就不会追加进去了。所以,必须是在查询表中增加自动编号的字段。

亿手遮天 发表于:2011-06-01 22:28:33

在这网站上看到过(我也用过)具体地址忘了.只好把代码发给你了.

SerializeADO("按部门输入","ID",[ID]) AS 序号

 

 

Function SerializeAdo(qryname As String, KeyName As String, KeyValue) As Long
 On Error GoTo Err_Serialize
    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset
     rs.ActiveConnection = CurrentProject.Connection
     rs.Open qryname, , adOpenStatic, adLockReadOnly, adCmdTableDirect
     'Find the current record with key value
         Select Case rs.Fields(KeyName).Type
            ' Find data type key value
            Case DB_INTEGER, DB_LONG, DB_CURRENCY, DB_SINGLE, DB_DOUBLE, DB_BYTE
               rs.Find "[" & KeyName & "] = " & KeyValue
            ' Find date type key value
            Case DB_DATE
               rs.Find "[" & KeyName & "] = #" & KeyValue & "#"
            ' Find text type key value
            Case DB_TEXT
               rs.Find "[" & KeyName & "] = '" & KeyValue & "'"
            Case Else
               MsgBox "Errer ;   Invalid KeyName or KeyValue  "
         End Select

        SerializeAdo = Nz(rs.AbsolutePosition, 0)
        rs.Close
        Set rs = Nothing
       Exit Function
Err_Serialize:
         MsgBox "QueryName ", 64, " is wrong "
        Exit Function
End Function

 



韩云 发表于:2011-06-01 23:34:33

三楼的办法我曾经用过,不好使,因为联合查询中会有相同的ID号,所以,自动编号也会出现重复号。

 

有没有办法利用联合查询结果中的自然行数,来作为自动编码的来源呢?请高手指导。



奇玉 发表于:2011-06-02 09:10:20

 

类似的问题,我以前问过,煮江老师给出的解决方案是最好的:http://www.accessoft.com/bbs/showtopic.asp?Id=10961

 

整理一下做好的数据库如下:query是个联合查询,加ID查询就是你所要的结果。

点击下载此附件

 

 



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