Office中国论坛/Access中国论坛

标题: 窗体的两个小问题,,求大家帮忙解决.自动编号和组合框不能录入内容,多谢 [打印本页]

作者: xxxwk    时间: 2007-12-29 11:34
标题: 窗体的两个小问题,,求大家帮忙解决.自动编号和组合框不能录入内容,多谢
本来是请人帮忙一起做的,下面的这两个问题他也搞不定.

要求:
   只要在检验报告录入窗体中:{当然,其它地方有问题也希望大侠们一并提出}
          检验号为自动编号,格式为:yyyymmdd0001(日期8位加四位流水号,如果删除当前记录,则检验号自动后退一位,即检验号后面数字与记录数相同).
   检验结果前面一个组合框中,既从可以下拉列表中选择内容,又可以输入下拉列表中没有的内容,但不保存到下拉列表中.后面的我来学习大侠们的....
         谢谢!!!!!

[ 本帖最后由 xxxwk 于 2007-12-30 10:46 编辑 ]
作者: xxxwk    时间: 2007-12-29 11:36
自己顶一下,,..................................
作者: xxxwk    时间: 2007-12-29 12:00
在顶一下.....................
作者: xxxwk    时间: 2007-12-29 14:45
再再再再再再再再再再再自己顶一下...............
作者: sbsfhgl    时间: 2007-12-29 17:49
可以试试更新查询,也许可以。
作者: xxxwk    时间: 2007-12-30 08:03
有哪位可爱的高手能帮忙弄弄吗???????????????????????版主大人,总版大人,你们在哪里呀???????????????????????????????
作者: andymark    时间: 2007-12-30 09:18
请修改标题. 没意义的标题不给回复
http://www.office-cn.net/forum.p ... &extra=page%3D1
作者: xxxwk    时间: 2007-12-30 09:39
我前面用了一个有意义的标题,也没人解答出来...........................................................
作者: hi-wzj    时间: 2007-12-30 09:53
原帖由 andymark 于 2007-12-30 09:18 发表
请修改标题. 没意义的标题不给回复
http://www.office-cn.net/forum.php?mod=viewthread&tid=56431&extra=page%3D1

作者: xxxwk    时间: 2007-12-30 10:47
版主大人,,俺改了标题.这样要得不?
两个附件是一样的.传重复了
作者: xxxwk    时间: 2007-12-30 11:58
之乎者也,,呜呼哀哉,,再自己顶一下.
作者: Victor_Duane    时间: 2007-12-30 14:21
第一个问题给予解答;下面是一个自动编号的函数,你可利用,需要引用ADO
'===============================================================================
'-函数名称:         autoID
'-功能描述:         自动编号 ,
'-输入参数说明:     参数1:tblname 表名
'                   参数2:fldname 字段名
'                   参数3:intlength增长号的长度
'                   参数4:prefix 前缀(可选参数)
'                   参数5:dateformat时间前缀(可选参数)
'-返回参数说明:     可以按时间自增长编号, 如果没有时间就自增长编号
'-使用语法示例:     AutoID("型体编号表", "型体编号", 4, "GL")
'                   AutoID("型体编号表", "型体编号", 4)
'                   AutoID("型体编号表", "型体编号", 4, "GL","yyyymmdd")
'-参考:
'-使用注意:
'-兼容性:           2000,XP,2003
'-作者:             Victor Duane
'-更新日期:        2007-12-5 17:03
'===============================================================================
Function AutoID(tblName As String, fldName As String, intLength As Integer, Optional Prefix As String = "", Optional DateFormat As String = "") As String
'自动编号 , 可以按时间自增长编号, 如果没有时间就自增长编号
Dim rs As New ADODB.Recordset
Dim cn As New ADODB.Connection

Dim intDate As Integer
Dim intPrefix As Integer

Dim strDate As String
Dim strToday As String
Dim OldDate As String

'如果DateFormat为空,当天日期为空,否则为当天日期
If Len(DateFormat) = 0 Then
    strToday = ""
Else
    strToday = Format(Date, DateFormat)
End If

strDate = strToday
intDate = Len(strDate) '取得时间的长度
intPrefix = Len(Prefix) '取得前缀的长度

Set cn = CurrentProject.Connection
Dim strSQL As String
strSQL = "select * from " & tblName & " order by " & fldName
rs.Open tblName, cn, 1, 2

Debug.Print rs.RecordCount
If rs.RecordCount > 0 Then
    rs.MoveLast
    '取得最大值的时间前缀
    OldDate = Nz(Mid$(rs(fldName), intPrefix + 1, intDate), "")
    '判断新增的值是否跨时间
    If strToday = OldDate Then
        AutoID = Prefix & strDate & Format(Val(Right$(rs(fldName), intLength) + 1), String(intLength, "0"))
    Else
        AutoID = Prefix & strDate & String(intLength - 1, "0") & "1"
    End If
Else
    AutoID = Prefix & strDate & String(intLength - 1, "0") & "1"
End If

rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
End Function
我的自动编号的函数
作者: Victor_Duane    时间: 2007-12-30 14:22
第二个问题,我没看明白你的要求,无法深入,
作者: xxxwk    时间: 2007-12-30 14:46
多谢版主了....第二个问题我没说得明白,不好意思.
详细:  在组合框中,如果要输入其下拉列表中没有的内容,则不能实现.更改这个组合框"限于列表"为否不成功.提示要先设置Columwidths属性,再设置Limittolist的属性..这个问题总搞不定.
麻烦再看看.
作者: Victor_Duane    时间: 2007-12-30 15:06
汗,我不知道你想怎么搞,哪个窗体哪个控件,实现什么功能,数据储存到哪个表 我真是不知道如何下手
作者: xxxwk    时间: 2008-1-1 14:53
版主,新年好.
我的意思是: 把"检验报告登记录入窗体"中的"检验结果"下面的组合框中,能不能实现输入列表没有的内容.简单点说就是如何在组合框中输入其它数据和内容.我怕没说清楚,说得太复杂了,反而搞得你们没看明白,不好意思
作者: 我临天下    时间: 2009-2-28 12:29
kan kan ba




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3