设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

如何按特殊规则生成一个字段

[复制链接]
跳转到指定楼层
1#
发表于 2003-3-28 08:35:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位高手我要生成一个特殊字段如下:110001200303291020060009, 这个字段的前6位110001是一个固定值;中间的8位:20030329,是当前机器日期;接下来的6位:
102006是当前的机器时间,即早上10:20:06,最后4位:0009是顺序码,请问:如果需要生成这样的字段(在ACCESS XP中)应当如何去做?请给出示例代码。
谢谢!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2003-3-28 16:44:00 | 只看该作者
"110001" & datepart("yyyy",now()) & DatePart("mm",now()) & DatePart("d",now()) & DatePart("h",now()) & DatePart("n",now()) & DatePart("s",now()) & "另置一个自动编号的字段"

对于不足两位的月份日等可用HuangHai的函数来解决:
Option Compare Database
Option Explicit
'=====================================================
'本例作者:黄海 电子邮件:hhem@163.com QQ:42209810
'欢迎ACCESS的爱好者与我交流
'=====================================================

'函数功能:指定字符串长度,不足位前面补“0”,一般用于数长整型数值,为了达到保证格式整齐时使用。
'参数一(必需)为字符,用来输入要转化的字符串
'参数二(必需)为长整型数字,输入总长度
'-------------------------------------------------------------------------------------

'::::用法::::
't = insertzero (1,4)      返回"0001"
't = insertzero (10,4)     返回"0010"


Public Function insertZero(strWord As String, allLong As Integer)
On Error GoTo errDoing

Dim manyZero As String
Dim insertZeroLong As Integer

manyZero = "00000000000000000000"    '(20位)留好足够多的零呀:)
insertZeroLong = allLong - Len(strWord)

If insertZeroLong >= 0 Then
  insertZero = Left(manyZero, insertZeroLong) & strWord
Else
  MsgBox "长度应大于字符长度!"
End If

Exit Function
errDoing:
  MsgBox Err.Number & Err.Description
  Exit Function
End Function
---------------------------------------------------
或者用下面的方法:
sVar = FORMat(1, "00000") --> sVar="00001"
sVar = FORMat(101, "00000") --> sVar="00101"


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

本版积分规则

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

GMT+8, 2025-2-23 14:04 , Processed in 0.091011 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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