以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]全后台表 _identify如何引用~  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=17198)

--  作者:gaoyong30000
--  发布时间:2012/3/6 16:12:00
--  [求助]全后台表 _identify如何引用~

由于是用的窗口表 然后用select * from  方式引用数据

 

现在有个问题

 

之前采用的是这种方式动态建立关联

Relations.Add("意向客户_历史回访",DataTables("A卡录入与审查_table2").DataCols("编号"),DataTables("A卡录入与审查_Table1").DataCols("编号"))

 

DataTables("A卡录入与审查_table2").DataCols("编号") 

A卡录入与审查_table2 之前是 销售意向客户进度管制 表

 

编号是表达式列  我后来删除了销售意向客户进度管制  用A卡录入与审查_table2代替后  发现表达式列没了  貌似只要删除了外部表 表达式不会在SQLserver里

 

而relations 不可用datacols("_Identify")  那请问 改怎么办?

 

是动态的在A卡录入与审查_table2 建立一个表达式列 引用 后台销售意向客户进度管制的_Identify  ?

 

如果动态建立列的话 该怎么弄?


--  作者:狐狸爸爸
--  发布时间:2012/3/6 16:29:00
--  

你可以用代码增加表达式列的:

 

http://www.foxtable.com/help/topics/1428.htm

 


--  作者:gaoyong30000
--  发布时间:2012/3/6 17:45:00
--  

老大代码增加了 表达式列 但是出现了一个问题

 

 
图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

 


按钮的代码如下, 好多按钮都会出现这问题

With Tables("A卡录入与审查_table2")
    If .Current.DataRow.RowState = DataRowState.Unchanged Then \'如果当前行未曾修改
        If .Position < =0 Then
            MessageBox.Show("已经移动到最顶部! " &  .Position )
        End If
        .Position = .Position - 1
    Else
        MessageBox.Show("该记录已经被修改,若想保存结果请先<保存修改>,否则请<撤销修改>! ")
    End If
End With

 

估计是  Current.DataRow.RowState = DataRowState.Unchanged  造成的

 

请问怎么解决?


--  作者:czy
--  发布时间:2012/3/6 18:16:00
--  

就上面的代码吗?

有没有其它向编号列写入值的代码?


--  作者:mr725
--  发布时间:2012/3/6 18:43:00
--  

楼主被关联搞晕菜了,呵呵。

可是,为何非要用关联呢,用条件筛选不是一样可以吗?


--  作者:gaoyong30000
--  发布时间:2012/3/6 19:23:00
--  
以下是引用czy在2012-3-6 18:16:00的发言:

就上面的代码吗?

有没有其它向编号列写入值的代码?

还真没有~~~~~~~~


--  作者:gaoyong30000
--  发布时间:2012/3/6 19:26:00
--  
建立关联是为了 在excel报表中 插入子表细节区
--  作者:gaoyong30000
--  发布时间:2012/3/6 19:57:00
--  

Current.Reject()  估计是这个造成的  总共 2个按钮有问题 这2个按钮都有 这句代码

 

退出按钮的

Dim Result As DialogResult
With Tables("A卡录入与审查_table2")
    If .Current.DataRow.RowState = DataRowState.Unchanged Then \'如果当前行未曾修改
        e.Form.Close
        Return
    Else
        Result = MessageBox.Show("没有保存,是否放弃保存?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.no Then
            Return
        End If
        .Current.Reject()
    End If
    e.Form.Close
End  With


\'撤销修改
With Tables("A卡录入与审查_table2")
    If .Current.DataRow.RowState = DataRowState.Unchanged Then \'如果当前行未曾修改
        MessageBox.Show("该记录未曾修改,无法撤销!:) ")
    Else
        Tables("A卡录入与审查_table2").Current.Reject()
        MessageBox.Show("已经撤销修改!:) " )
        If Tables("A卡录入与审查_table2").count = 0 Then
            e.form.close
        End If
    End If
End With


--  作者:gaoyong30000
--  发布时间:2012/3/6 22:55:00
--  
调试了半天也没用~~  基本确定是.Current.Reject() 导致。。。。  不知道如何解决
--  作者:狐狸爸爸
--  发布时间:2012/3/7 8:06:00
--  

很奇怪,我测试正常。

你可以在打开窗口前,SAVE一下当前记录看看。

 

其实你也可以看看:

http://www.foxtable.com/help/topics/2222.htm

 

当然这样模拟的话,无法用Excel报表打印关联表了,但是你可以用专业报表解决。