Office中国论坛/Access中国论坛

标题: 触发代码事件实现 [打印本页]

作者: zzll15888    时间: 2008-10-26 08:47
标题: 触发代码事件实现
实际运用中遇到如下问题,该如何将数据表(一)中不连续的起止号码,通过触发代码事件实现数据表(二)的归并。

起始截止
12
35
810
1112
1518
1920
  
  
  
  
  
(表一)

起始截止
15
812
1520
  
  
  
  
  
  
  
  
(表二)

作者: Henry D. Sy    时间: 2008-10-26 09:06
看不出你的要求规律
作者: zzll15888    时间: 2008-10-26 09:25
表(一)中的起止号如果是连续的,就串连在一起,生成表(二)的结果。

如:表(一)中的1至2、3至5中间没有断号,所以在表(二)中就生成1至5结果;而表(一)中的8至10、11至12,存在5和8之间有断号,所以在表(二)中需要在另一行生成8至12结果。

不知这样表达是否清楚。
作者: Henry D. Sy    时间: 2008-10-26 09:35
似乎有点明白
1 。暂且称,表1为a,表2为b,字段均为start ,end
2. 新建一个窗体,上面放一个按钮command2,按钮事件如下,(你自己测试一下)
Private Sub Command2_Click()
    Dim rs As New ADODB.Recordset
    Dim rst As New ADODB.Recordset
    Dim S, S1, E, E1 As Long
    rs.Open "a", CurrentProject.Connection, adOpenKeyset, adLockReadOnly
    Do While Not rs.EOF
        S = rs("start")
        E = rs("end")

        rst.Open "b", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
        rs.MoveNext
        S1 = rs("start")
        E1 = rs("end")
        If E + 1 = S1 Then
            rst.AddNew
            rst("star") = S
            rst("end") = E1
            rst.Update
            rst.Close
        End If
        rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    Set rst = Nothing
End Sub




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