Office中国论坛/Access中国论坛

标题: 求助:“保存按钮”根据组合框内的特定项目选择自动增加记录或保存(有附件) [打印本页]

作者: snow0011    时间: 2012-3-17 10:35
标题: 求助:“保存按钮”根据组合框内的特定项目选择自动增加记录或保存(有附件)
组合框内的内容来自“工作内容”表,如果选定窗体“施工内容”字段中有*的内容,点击保存按钮

后,自动增加一条记录,并将“分类”字段内容更改为“替换内容”,窗体中其他项目重复,然后保存
  
     反之,没有*的内容则保存。

     本人参考网上知识,试了一下,不能完全达到效果,有什么好方法,请各位老师指点![attach]48734[/attach]


作者: Henry D. Sy    时间: 2012-3-17 13:37
本帖最后由 Henry D. Sy 于 2012-3-17 13:46 编辑



是不是这个意思?
  1. Dim bln As Boolean
  2. Private Sub 施工内容_AfterUpdate()
  3.     Dim str As String
  4.     bln = False
  5.     If Not IsNull(Me.施工内容) Then
  6.         str = Right(Me.施工内容, 1)
  7.         If str = "*" Then
  8.             bln = True
  9.         End If
  10.     End If
  11. End Sub

  12. Private Sub 保存工单_Click()
  13.     Dim strContent As String
  14.     Dim rs As DAO.Recordset
  15.     Set rs = Me.RecordsetClone
  16.     If bln Then
  17.         rs.AddNew
  18.         strContent = "替换内容"
  19.     Else
  20.         DoCmd.RunCommand acCmdSaveRecord
  21.         Set rs = Nothing
  22.         Exit Sub
  23.     End If
  24.     With rs
  25.         .Fields("施工日期") = Me.施工日期
  26.         .Fields("井号") = Me.井号
  27.         .Fields("施工内容") = Me.施工内容
  28.         .Fields("施工类别") = Me.施工类别
  29.         .Fields("班组") = Me.班组
  30.         .Fields("员工") = Me.员工
  31.         .Fields("分类") = strContent
  32.         .Update
  33.         .Close
  34.     End With
  35.     Set rs = Nothing
  36. End Sub
复制代码
[attach]48735[/attach]


作者: Henry D. Sy    时间: 2012-3-17 13:46
附件怎么传不上呢
[attach]48736[/attach]
作者: snow0011    时间: 2012-3-17 14:30
Henry D. Sy 发表于 2012-3-17 13:46
附件怎么传不上呢

版主老师:
     谢谢您的回复,可能是我表述得不太清楚,在我的附件中,点击组合框,窗体上的分类文本框自动显示《工作 内容》表内分类字段与之相关的分类,如:点击   更换抽油机*  ,窗体上分类文本框自动显示  拆抽
我想达到的效果是:点击保存按钮,自动增加一条记录,该记录是复制 最后一条记录的内容(即ID为最大),而上一条分类文本框的 拆抽 也改变为 《工作 内容》表内替换内容字段与之相对应的 装抽

反之,没有*的内容则保存。

不知道表述清楚否,请老师再看看,谢谢!
作者: snow0011    时间: 2012-3-17 14:36
snow0011 发表于 2012-3-17 14:30
版主老师:
     谢谢您的回复,可能是我表述得不太清楚,在我的附件中,点击组合框,窗体上的分类文本框 ...

另:工作内容表内的加*项目只是为了方便给老师看的,正式的程序中是没有这个*的
作者: Henry D. Sy    时间: 2012-3-17 16:06
snow0011 发表于 2012-3-17 14:30
版主老师:
     谢谢您的回复,可能是我表述得不太清楚,在我的附件中,点击组合框,窗体上的分类文本框 ...
  1. Private Sub 施工内容_AfterUpdate()
  2.     Dim str
  3.     If Not IsNull(Me.施工内容) Then
  4.         str = DLookup("替换内容", "工作内容", "编号=" & Me.施工内容)
  5.         If IsNull(str) Then
  6.             str = DLookup("分类", "工作内容", "编号=" & Me.施工内容)
  7.         End If
  8.         Me.分类 = str
  9.     End If
  10. End Sub
复制代码

作者: Henry D. Sy    时间: 2012-3-17 17:00
[attach]48739[/attach]
作者: Henry D. Sy    时间: 2012-3-17 17:02
而上一条分类文本框的 拆抽 也改变为 《工作 内容》表内替换内容字段与之相对应的 装抽
???????????????
作者: snow0011    时间: 2012-3-17 17:24
Henry D. Sy 发表于 2012-3-17 17:02
而上一条分类文本框的 拆抽 也改变为 《工作 内容》表内替换内容字段与之相对应的 装抽
????????? ...

Henry D. Sy 版主:
我的意思是假如现在窗体上编号1633,组合框内容为:更换井架基础,分类文本上自动显示“立井架”,老师的最新回复已经做到了这一点。
但是我想在组合框出现带*这些内容时,按保存按钮,自动新增加一记录,即编号1634。该记录的分类文本框内容更换为《工作内容》与更换井架基础相对应的替换内容:“拆井架”,其它内容重复1633,并保存记录1634
如果组合框出现非*内容时,按保存按钮,则保存记录1633
作者: snow0011    时间: 2012-3-17 17:26
不好意思,拆井架和立井架反了


Henry D. Sy 版主:
我的意思是假如现在窗体上编号1633,组合框内容为:更换井架基础,分类文本上自动显示“拆井架”,老师的最新回复已经做到了这一点。
但是我想在组合框出现带*这些内容时,按保存按钮,自动新增加一记录,即编号1634。该记录的分类文本框内容更换为《工作内容》与更换井架基础相对应的替换内容:“立井架”,其它内容重复1633,并保存记录1634
如果组合框出现非*内容时,按保存按钮,则保存记录1633
作者: Henry D. Sy    时间: 2012-3-18 11:33
定义窗体模块级变量bln
  1. Private Sub 施工内容_AfterUpdate()
  2.     Dim str
  3.     bln = False
  4.     If Not IsNull(Me.施工内容) Then
  5.         str = DLookup("替换内容", "工作内容", "编号=" & Me.施工内容)
  6.         If Not IsNull(str) Then
  7.             bln = True
  8.         Else
  9.             str = DLookup("分类", "工作内容", "编号=" & Me.施工内容)
  10.         End If
  11.         Me.分类 = str
  12.     End If
  13. End Sub
复制代码
  1. Private Sub 保存工单_Click()
  2.     Dim rs As DAO.Recordset
  3.     Set rs = Me.RecordsetClone
  4.     If bln Then
  5.         With rs
  6.             .AddNew
  7.             .Fields("施工日期") = Me.施工日期
  8.             .Fields("井号") = Me.井号
  9.             .Fields("施工内容") = Me.施工内容
  10.             .Fields("施工类别") = Me.施工类别
  11.             .Fields("班组") = Me.班组
  12.             .Fields("员工") = Me.员工
  13.             .Fields("分类") = Me.分类
  14.             .Update
  15.             .Close
  16.         End With
  17.     Else
  18.         DoCmd.RunCommand acCmdSaveRecord
  19.     End If
  20.     Set rs = Nothing
  21. End Sub
复制代码
[attach]48741[/attach]






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