我想根据日期 来自动编号 text1.text Private Sub Form_Load()    ’加载最后一次写入数据库的自动编号IniFile = GetApp & "MEMORY.ini"  '得到文件的完整路径
Text1.Text = GetINI("TEXT", "TEXT", IniFile)  '得到INI文件中对应的值
strSql = "select 自动编号 from 表  where 自动编号='" & Text1.Text & "'"   '搜索text1.text 是否存在 
rs.Open strSql, conn, adOpenStatic, adLockReadOnly
If rs.RecordCount > 0 Then                                                 '如果记录存在
Text1.Text = Format(rs.Fields("自动编号"), "000") & "0000" + 1             '刷新text1.text =对应的记录+0001
Else
Text1.Text = Format(Date, "yyyymmdd") & "0000"                             '不存在的话text1.text=日期+000
End If
rs.Close
End SubPrivate Sub Command1_click()
写入数据库加载FORM_loadEnd SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) '退出时TEXT1.TEXT保存到INI文件中
Saveini "TEXT", "TEXT", Text1.Text, IniFile
End Sub
遇到的问题是:Command1按了之后   text1.text不会自动编号 错在哪了,逻辑没错啊
哪位大哥帮我看看呀

解决方案 »

  1.   

    Text1.Text = Format(rs.Fields("自动编号"), "000") & "0000" + 1 '刷新text1.text =对应的记录+0001
    我感觉你写的有点问题。。这句。。方便的话发给我。。我来看一下。398706948
      

  2.   

    If rs.RecordCount > 0 Then '如果记录存在
    Text1.Text = Format(rs.Fields("自动编号")+1, "0000000") '刷新text1.text =对应的记录+0001
    Else
    Text1.Text = Format(Date, "yyyymmdd")  '不存在的话text1.text=日期+000
    End If
      

  3.   

    参考:http://topic.csdn.net/u/20100417/01/7dfb8639-9727-4496-9652-5d39df16405b.html
      

  4.   

    楼主,请不要使用这种方式进行系列号处理。
    Text1.Text = Format(rs.Fields("自动编号"), "000") & "0000" + 1 '刷新text1.text =对应的记录+0001
      

  5.   

    你的编号到底什么样?11位?If rs.RecordCount > 0 Then '如果记录存在
        Text1.Text = Format(rs.Fields("自动编号")+1, "00000000000") '刷新text1.text =对应的记录+0001
    Else
        Text1.Text = Format(Date, "yyyymmdd") & "000" '不存在的话text1.text=日期+000
    End If
      

  6.   

    IniFile = GetApp & "MEMORY.ini" '得到文件的完整路径
    这里是不是写错了?
    应该是这个吧。
    IniFile = GetApp & "\MEMORY.ini" '得到文件的完整路径
      

  7.   

    这个
    Text1.Text = GetINI("TEXT", "TEXT", IniFile) '得到INI文件中对应的值
    干什么用?窗体加载和点击按钮都需要吗?
      

  8.   


    我的逻辑是      把窗口输入时候的编号保存在  INI文件里 即使窗口退出了  还是保存当时的状态  ,到下次开的时候   读出来跟数据库比对   这样就能灵活运用了挖   但是就是不能跟日期同步  
      

  9.   

    看 我的 一个 JAVA例子,自动根据日期 生成一边 单据编号 并且单号的前两位可以自定义,并且根据数据库表中的某个单据编号的字段生成不重复的 
    http://hi.baidu.com/sunnywfg/blog/item/e162f8d309b2700d3bf3cf23.html
      

  10.   

    Private Sub Form_Load() '加载最后一次写入数据库的自动编号
        
    '    IniFile = GetApp & "MEMORY.ini" '得到文件的完整路径
    '    Text1.Text = GetINI("TEXT", "TEXT", IniFile) '得到INI文件中对应的值
    '
    '
    '    strSql = "select 自动编号 from 表 where 自动编号='" & Text1.Text & "'" '搜索text1.text 是否存在
    '    rs.Open strSql, conn, adOpenStatic, adLockReadOnly
    '    If rs.RecordCount > 0 Then '如果记录存在
    '    Text1.Text = Format(rs.Fields("自动编号"), "000") & "0000" + 1 '刷新text1.text =对应的记录+0001
    '    Else
    '    Text1.Text = Format(Date, "yyyymmdd") & "0000" '不存在的话text1.text=日期+000
    '    End If
    '    rs.Close
    End SubPrivate Sub Command1_click()
        Call fun_GetID
        
    '    写入数据库
    'End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) '退出时TEXT1.TEXT保存到INI文件中
        Saveini "TEXT", "TEXT", Text1.Text, IniFile
    End SubPrivate Function fun_GetID() As String
        
        
        strSql = "select max(自动编号)  from 表 where mid(自动编号,1,8)=Format(Date, 'yyyymmdd')" '按日期查最大
        rs.Open strSql, conn, adOpenStatic, adLockReadOnly
        
        If rs.RecordCount > 0 Then '如果记录存在
            Text1.Text = Format(rs.Fields("自动编号") + 1, "0000000000000") '刷新text1.text =对应的记录+1
        Else
            Text1.Text = Format(Date, "yyyymmdd") & "00001" '不存在的话text1.text=日期 & "00001"
        End If
        
        rs.CloseEnd Function