Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]请老师帮忙,关于窗体中录入数据,设定字段默认值的问题

筱桔  发表于:2012-08-31 21:39:14  
复制

通过临时表往表中增加数据,在录入窗体中操作,因为每天一条记录,所以希望日期字段默认值为前一条记录自动增加一天,请老师们帮忙看下能否实现。附件,请打开机组作业时间窗体。点击下载此附件

 

Top
dbaseIIIer 发表于:2012-09-01 02:03:43

在 Form_机组作业时间-temp 窗体里面的插入后加上

 

Private Sub Form_AfterInsert()
    If Not IsNull(Me.日期) Then
        Me.日期.DefaultValue = "=#" & Format(DateAdd("d", 1, Me.日期), "yyyy-m-d") & "#"
    End If
End Sub

 

 

不过你的程式就不能正常运作了!因为在新的记录上就不会构成 日期的更新了!



dbaseIIIer 发表于:2012-09-01 02:16:10

你该做的是在 主窗体 上加多一个 隐藏文本框控件 譬如叫 Num

 

然后在加上

Private Sub 系列_AfterUpdate()

  BuildNum

End Sub

 

Private Sub 设备编号_AfterUpdate()
If Me.设备编号 = "1102" Or Me.设备编号 = "APM" Then Me.设备名称 = "阳机"
If Me.设备编号 = "1103" Then Me.设备名称 = "始极片"
If Me.设备编号 = "1104" Then Me.设备名称 = "电铜"
If Me.设备编号 = "SM1" Or Me.设备编号 = "SM2" Then Me.设备名称 = "剥片"
BuildNum

End Sub

 

Private Sub BuildNum()

If Me.系列 = "一系列" And Me.设备编号 = "1102" Then me!num = "11"
If Me.系列 = "一系列" And Me.设备编号 = "1103" Then me!num = "12"
If Me.系列 = "一系列" And Me.设备编号 = "1104" Then me!num = "13"
If Me.系列 = "二系列" And Me.设备编号 = "SM1" Then me!num = "21"
If Me.系列 = "二系列" And Me.设备编号 = "SM2" Then me!num = "22"
If Me.系列 = "二系列" And Me.设备编号 = "APM" Then me!num = "23"
If Me.系列 = "三系列" And Me.设备编号 = "SM1" Then  me!num = "31"
If Me.系列 = "三系列" And Me.设备编号 = "SM2" Then  me!num = "32"
If Me.系列 = "三系列" And Me.设备编号 = "APM" Then  me!num = "33"
End Sub

 

 

在 Form_机组作业时间-temp 窗体里面的插入后加上的要改为

 

Private Sub Form_AfterInsert()
If Not IsNull(Me.日期) Then

d=DateAdd("d", 1, Me.日期)
Me.日期.DefaultValue = "=#" & Format(d, "yyyy-m-d") & "#"

me.编号.defaultvalue = "='" & format(d, "yyyymmdd") & me.parent!num & "'"

Me.开机时间.defalutValue = "=#" & Format( DateAdd("n", 460, d),"yyyy-m-d hh:nn") & "#"
Me.结束时间.defalutValue = "=#" & Format( DateAdd("h", 18,  d),"yyyy-m-d hh:nn") & "#"

End If
End Sub

 

不过保存之前记得检查 me.parent!num 是否空置!



心态哥 发表于:2012-09-13 19:44:16
学习了。

筱桔 发表于:2012-09-13 22:18:30

dbaseIIIer版主,你的方法虽然有些复杂,不过还是要谢谢您的热心帮助。杜老师帮我给出了更简单的方法,和大家分享。

就是在日期文本框加了个获得焦点事件,代码如下:

Private Sub 日期_GotFocus()
 If Me.NewRecord Then
        Me.日期 = DMax("日期", "机组作业时间_temp") + 1
        日期_AfterUpdate
        End If
End Sub

在些要特别感谢2号,杜老师!



眼镜蛇 发表于:2012-10-17 14:10:01
同学能不能把修改后的附件传上来学习哈。

总记录:5篇  页次:1/1 9 1 :