Access交流中心

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

请问做个能按年份+序号自动编号的文本框,怎么做?

dhwc  发表于:2014-04-30 20:59:38  
复制

想做一个表有序号字段,需要这个序号能够按年度重排,比如今年20140001、20140002....然后20150001、20150002....该怎么弄??我参考论坛的一个例子修改了下,但是有错误。

出错的很奇怪,居然会出现两个一样的序号,有时候直接报错“语法错误操作符丢失...”兄弟们能看看哪错了吗?感激不尽!!

点击下载此附件

 

Top
小赵 发表于:2014-04-30 21:43:29
高效的年月日的自动编号函数 
http://www.accessoft.com/article-show.asp?id=7351

dhwc 发表于:2014-05-01 10:29:12

谢谢楼上的兄弟,但是改了下报错 运行时错误 '-2147352567 (80020009)' 您为该字段输入的值无效!


达人们指点下哪儿错了啊???



dhwc 发表于:2014-05-01 12:57:36




按钮代码如下:



Option Compare Database


Private Sub Command6_Click()
On Error GoTo Err_Command6_Click
Dim x As Long
Dim b As Integer
Dim c As Integer

x = DLookup("[序号]", "信访登记台账", "[序号] =" & DLast("[序号]", "信访登记台账"))
b = Left(x, 4)
c = Format(Now, "yyyy")


If b = c Then

DoCmd.GoToRecord , , acNewRec
序号.SetFocus
序号.DefaultValue = x + 1

ElseIf b <> c Then
DoCmd.GoToRecord , , acNewRec
序号.SetFocus
序号.DefaultValue = Format(Now, "yyyy") & "0001"

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

Exit_Command6_Click:
Exit Sub

Err_Command6_Click:
    MsgBox Err.Description
    Resume Exit_Command6_Click
End If
End Sub


上面哪错了啊???恳请指教



网行者 发表于:2014-05-01 16:14:50

参照红色部分:

Option Compare Database


Private Sub Command6_Click()
On Error GoTo Err_Command6_Click
Dim x As Long
Dim b As Integer
Dim c As Integer

x =  DLast("[序号]", "信访登记台账")
b = Left(x, 4)
c = Format(Now, "yyyy")


If b = c Then

DoCmd.GoToRecord , , acNewRec
序号.SetFocus
序号.DefaultValue = x + 1

ElseIf b <> c Then
DoCmd.GoToRecord , , acNewRec
序号.SetFocus
序号.DefaultValue = Format(Now, "yyyy") & "0001"

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

Exit_Command6_Click:
Exit Sub

Err_Command6_Click:
    MsgBox Err.Description
    Resume Exit_Command6_Click
End If

End Sub


或参考:http://www.accessoft.com/blog/article-show.asp?userid=12122&Id=7903

点击下载此附件



cspa 发表于:2014-05-01 18:08:18

参见:

http://www.accessoft.com/article-show.asp?id=8473



dhwc 发表于:2014-05-01 18:51:00

报错,无效使用null????


怎么回事啊??



cspa 发表于:2014-05-01 20:42:54
你的思路有问题,按你的编码当数据量大时速度会变慢,建议你还是参考一下网友们给你的示例重新做一下。其实自动编号问题大家已经研究的很多了,网上也有许多示例,找几个参考下,按自己的需求改改就可以使用,大可不必自己重新来做,费时费力还不一定好用。

dhwc 发表于:2014-05-02 08:22:57

感谢楼上的回复,看了这个例子

http://www.accessoft.com/blog/article-show.asp?userid=12122&Id=7903

请问:

1.这个例子中没有表,只有模块和窗体,模块代码中说'表tblID为编号表,那么我需要合并到我的表吗?不合并的话题是错误

2.模块太强大,是不是可以精简代码?只保留按年编号的功能??


恳请指教~谢谢



dhwc 发表于:2014-05-02 08:23:22

错误提示:





小赵 发表于:2014-05-02 16:58:49

用 Access快速开发平台下载(一键生成3个窗体7个功能:增删改、查找、打印、导入、导出)http://www.accessgood.com 

里面有自动编号。可直接用。



网行者 发表于:2014-05-03 08:12:41
dhwc 发表于:2014-05-03 17:17:45
感谢楼上的兄弟!!!!!好人一生平安

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