Foxtable(狐表)用户栏目专家坐堂 → 关联的问题


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

主题:关联的问题

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


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
关联的问题  发帖心情 Post By:2011/11/1 20:51:00 [只看该作者]

  我很少用关联,有个问题,我父表有一个单号是通过开单日期生成的,子表同时生成一模一样的的一个单号,但是我想修改父表的开单日期,这样单号可以自动修改,但是由于单号列关联了,这个单号不能自动修改了,如何可以又可以修改父表同时修改相应的子表.
[此贴子已经被作者于2011-11-1 21:02:39编辑过]

 回到顶部
美女呀,离线,留言给我吧!
bm
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:437 积分:3463 威望:0 精华:0 注册:2011/9/13 23:27:00
你不会。  发帖心情 Post By:2011/11/1 22:12:00 [只看该作者]

在关联表设置的时候。左下角有一个同时更新关联内容,
[此贴子已经被作者于2011-11-1 22:19:47编辑过]

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


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2011/11/1 22:37:00 [只看该作者]

不是更新关联表的数据,是因为关联了,主表的系统单号是不能修改,必须先删除子表的关联列的数据,才能修改主表的.


我问问有无办法?直接修改主表和子表.

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


加好友 发短信
等级:五尾狐 帖子:1165 积分:9032 威望:0 精华:1 注册:2011/5/25 16:33:00
  发帖心情 Post By:2011/11/1 22:44:00 [只看该作者]

用动态关联  然后代码取消关联后修改完 再用代码动态关联上?


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


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2011/11/1 23:03:00 [只看该作者]

这个有一些复杂,我看看

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/11/1 23:12:00 [只看该作者]

应该可以自动修改的。
两表以单号建立关联,设置关联时勾选“同步更新关联列内容”,这样设置后更改主表的日期可以更新单号列的内容,同样也可以更新子表单号列的内容。

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/2 7:38:00 [只看该作者]

可以的吗?是单向还是双向,我测试不行啊,我试试!

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/2 8:03:00 [只看该作者]

我测试一下是可以,是不是我的代码在修改日期时,不能自动修改单号,帮我看看:

If e.DataCol.Name = "开单日期" Then
    If e.DataRow.IsNull("开单日期") Then
        e.DataRow("系统单号")= Nothing
    Else
        Dim cmd1 As New SQLCommand
        Dim dt1 As DataTable
        Dim dr As DataRow
        cmd1.C
        cmd1.CommandText = "SELECT * From {单号定义}"
        dt1 = cmd1.ExecuteReader()
        dr = dt1.find("表名='" & CurrentTable.Name & "'")
        If dr IsNot Nothing Then
            Dim s As String =dr("单号定义") & Format(e.DataRow("开单日期"),"yyMMdd")
            Dim cmd As New SQLCommand
            Dim dt As DataTable
            cmd.C
            cmd.CommandText = "SELECT * From {销售订单}"
            dt = cmd.ExecuteReader()
            If e.NewValue <> Nothing And e.DataRow("系统单号") = Nothing Then
                Dim i1 As String = dt.Compute("Max(系统单号)","开单日期 ='" & e.DataRow("开单日期") & "'")
                Dim n As Integer
                If s = left(i1,8) Then
                    n=CInt(right(i1,4))
                Else
                    n=0
                End If
                s= s & format(n+1,"0000")
                e.DataRow("系统单号")=s
            End If
        End If
    End If
End If


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/2 8:31:00 [只看该作者]

Dim cmd As New SQLCommand
cmd.C
Dim dt As DataTable
cmd.CommandText = "SELECT * From {权限控制} Where [Group] = '" & _UserGroup & "' And 项目 ='权限' And 修改 =False"
dt = cmd.ExecuteReader()
If dt.DataRows.Count > 0 Then
    e.Cancel = True
    MessageBox.show("你没有权限修改开单日期!","权限被控!")
End If

  这段代码我想放在日期控件里面,放在那个控件比较好,绑定字段,但是现在点一下出来两次提示.

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/2 8:36:00 [只看该作者]

而且不能修改日期.

 回到顶部
总数 28 1 2 3 下一页