设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] 如何根据文本框里的“流水号”递增值更新查询到表里?

[复制链接]
跳转到指定楼层
1#
发表于 2014-7-1 08:10:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
文本框里的“固定值”可以通过批量“更新查询”到表里,但是文本框里的值如果是流水号递增变化的,每条记录的注流水号都是不一样,如何通过更新查询到表里呢?谢谢,请见附件!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2014-7-1 13:58:54 | 只看该作者
本帖最后由 todaynew 于 2014-7-1 14:00 编辑

Private Sub Form_Load()
    Dim wh As String
    wh = "名称='" & Me.Text4.Value & "'"
    Me.表1_子窗体.Form.Filter = wh
    Me.表1_子窗体.Form.FilterOn = True
End Sub

Private Sub Command6_Click()

    Dim rs As New ADODB.Recordset
    Dim ssql As String
    Dim i As Long
   
    ssql = "select * from 表1 where 名称='" & Me.Text4.Value & "'"
    rs.Open ssql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    For i = 1 To rs.RecordCount
        rs!日期.Value = Me.当前日期.Value
        rs!流水号.Value = Left(Me.Text2.Value, Len(Me.Text2.Value) - 3) & Format(i, "000")
        rs!名称.Value = Me.Text4.Value
        rs.Update
        rs.MoveNext
    Next
    Me.表1_子窗体.Requery    rs.close:set rs=nothing
End Sub

3#
 楼主| 发表于 2014-7-1 18:40:22 | 只看该作者
todaynew 发表于 2014-7-1 13:58
Private Sub Form_Load()
    Dim wh As String
    wh = "名称='" & Me.Text4.Value & "'"

todaynew版主好,我使用你的代码后还是没有把“流水号”写到表里,反而其它字段值也没有写到表里了。。再帮我看看吧,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4#
发表于 2014-7-3 12:17:03 | 只看该作者
打字比你快 发表于 2014-7-1 18:40
todaynew版主好,我使用你的代码后还是没有把“流水号”写到表里,反而其它字段值也没有写到表里了。。再 ...

记录表中没有“显示器”,哪还写个球。
5#
 楼主| 发表于 2014-7-8 18:22:44 | 只看该作者
todaynew 发表于 2014-7-3 12:17
记录表中没有“显示器”,哪还写个球。

todaynew,在没,按你的设置,有“显示器”后流水号就正常递增了,不过如果我把名称改成其它名称如“显示器1” 后,流水号就又不能递增了,并且流水号又从第一个号开始了。再

帮我看看吧,谢谢了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
6#
发表于 2014-7-10 16:57:38 | 只看该作者
打字比你快 发表于 2014-7-8 18:22
todaynew,在没,按你的设置,有“显示器”后流水号就正常递增了,不过如果我把名称改成其它名称如“显示 ...

对呀,显示器1不是显示器嘛,当然重新编号
7#
 楼主| 发表于 2014-7-10 20:01:56 | 只看该作者
todaynew 发表于 2014-7-10 16:57
对呀,显示器1不是显示器嘛,当然重新编号

虽然名称变了,但日期没有变还是在同一天内,就应该根据流水号文本框里的值来递增,而不是名称变了,又重新编号。因为流水号是:L+日期+1001这样的格式。所以流水号是唯一的,不能重复。
8#
发表于 2014-7-11 15:30:04 | 只看该作者
打字比你快 发表于 2014-7-10 20:01
虽然名称变了,但日期没有变还是在同一天内,就应该根据流水号文本框里的值来递增,而不是名称变了,又重 ...

Private Sub Command6_Click()
.....
    For i = 1 To rs.RecordCount
        ...
        rs!流水号.Value = GetNewNum(Me.当前日期.Value)
        ...
    Next
....
End Sub

Function GetNewNum(byval Date as DateTiem) as string
   dim num as string
   num=nz(Dmax("流水号","表1","日期=#" & Date & "#"),"L" & format(Date,"yyyymmdd") & "000")
   num="L" & format(Date,"yyyymmdd") & foramt(val(Right(num,3))+1,"000")
   GetNewNum=num
End Function
9#
发表于 2015-7-25 16:48:22 | 只看该作者
todaynew 发表于 2014-7-3 12:17
记录表中没有“显示器”,哪还写个球。

笑死我了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-1 21:04 , Processed in 0.088382 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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