Foxtable(狐表)用户栏目专家坐堂 → 求助代码


  共有20461人关注过本帖树形打印复制链接

主题:求助代码

帅哥哟,离线,有人找我吗?
exonjee
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
求助代码  发帖心情 Post By:2009/6/1 15:38:00 [显示全部帖子]

请教高手,我想在炉次表的日期、设备等列有任何一个为空值时,炉次编号则为空,否则由日期、设备等列组合生成炉次编号,为什么我的代码放在DataColChanged中不能即时更新,需要重置后才能变化。请问此代码放在哪个事件可随相关列的变而改变。


 


在生成炉次编号后,在片号表的炉次片号列如何按炉次编号+两位(01-19)生成19个流水编号,请教代码。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:项目aa.table

[此贴子已经被作者于2009-6-1 16:00:09编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
exonjee
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
  发帖心情 Post By:2009/6/1 16:27:00 [显示全部帖子]

已上传例子,请教如何触发事件完成计算。


 回到顶部
帅哥哟,离线,有人找我吗?
exonjee
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
  发帖心情 Post By:2009/6/1 16:49:00 [显示全部帖子]

不会吧,看上传的文件中炉次表事件

[此贴子已经被作者于2009-6-1 16:49:58编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
exonjee
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
  发帖心情 Post By:2009/6/2 9:33:00 [显示全部帖子]

我是每次在炉次表中生成一个炉次编号,则在片号表中自动生成19个炉次片号(炉次编号+01~19),以前是在易表中用通过填写投入片数后,点击导到每片逻辑列打勾后,用循环的方法生成19个炉次片号的。

foxtable的代码如何完成。谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
exonjee
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
  发帖心情 Post By:2009/6/2 14:24:00 [显示全部帖子]

看这个填写数据的表。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:项目aa.table


 回到顶部
帅哥哟,离线,有人找我吗?
exonjee
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
  发帖心情 Post By:2009/6/3 14:24:00 [显示全部帖子]

简化代码

dim drw as datarow=e.datarow
If e.datacol.Name = "日期" or  e.datacol.Name = "设备" or  e.datacol.Name = "作业" or  e.datacol.Name = "波长" or  e.datacol.Name = "衬底" or  e.datacol.Name = "尺寸" or  e.datacol.Name = "工艺" or  e.datacol.Name = "炉次" then
    If drw.IsNull("日期") OrElse drw.IsNull("设备") OrElse drw.IsNull("作业") OrElse drw.IsNull("波长") OrElse drw.IsNull("衬底") OrElse drw.IsNull("尺寸") OrElse drw.IsNull("工艺") OrElse drw.IsNull("炉次") Then
       drw("炉次编号") = Nothing
    Else
       dim m as string
        dim dr as byte=cbyte(format(drw("日期"),"MM"))
        if dr=10 then
           m="X"
         elseif dr=11 then
            m="Y"
         elseif dr=12 then
            m="Z"
         else
            m=right(format(drw("日期"),"MM"),1)
         end if
 
       drw("炉次编号")= drw("设备") & drw("作业") & drw("波长") & drw("衬底") & drw("尺寸") & drw("工艺") & right(format(drw("日期"),"yyy"),1) & m & format(drw("日期"),"dd") & drw("炉次")
    end if
end if
If e.DataCol.Name = "导到每片" Then
    If e.NewValue = True Then
        Tables("炉次.片号").AddNew( CurrentTable.Current("投入片数"))
         for i as integer = 0 to tables("炉次.片号").count-1
            if i < 9
                tables("炉次.片号")(i,"炉次片号") = tables("炉次.片号")(i,"炉次编号") & "0" & i+1
            else
                tables("炉次.片号")(i,"炉次片号") = tables("炉次.片号")(i,"炉次编号") & i+1
            end if
        next
            e.DataRow.Locked = True '那么锁定此行
    End If
End If


[此贴子已经被作者于2009-6-3 14:27:44编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
exonjee
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:352 积分:3192 威望:0 精华:0 注册:2008/9/1 9:38:00
  发帖心情 Post By:2009/6/3 16:00:00 [显示全部帖子]

谢谢!

 回到顶部