以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  find主键的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=13967)

--  作者:dark272710
--  发布时间:2011/11/3 12:26:00
--  find主键的问题

最新的表

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:业务流程管理.foxdb

 

SQL代码:

Select  [_Identify] as 主键,结算年,结算月,业务建立时间,建立人,业务类型,经办班组,业务完成时间,备注说明 From {自修项目} UNION Select  [_Identify] as 主键,结算年,结算月,业务建立时间,建立人,业务类型,经办班组,业务完成时间,备注说明 From {运维项目}

 

我现在是双击任务总览(查询表),然后执行检索“自修项目表”,通过查询表的主键和“自修项目”的_identity进行比较,定位。

 

现在的问题是FIND普通列就正常运行,改成_identity列就报错。

我之前看帮助说_identity和普通列一样引用的啊

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20111103152554.png
图片点击可在新窗口打开查看

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20111103152631.png
图片点击可在新窗口打开查看

 


 

[此贴子已经被作者于2011-11-3 15:37:08编辑过]

--  作者:don
--  发布时间:2011/11/3 13:20:00
--  
蒙一个:只能生成查询表!你可能把参数[True]设为[False]了!

Dim sql As String ="Select 第四列,[_Identify] as 主键 From {表A} UNION Select 第四列,[_Identify] as 主键 From {AA}"
Tables("窗口1_Table1").Fill(sql,True)

--  作者:dark272710
--  发布时间:2011/11/3 13:38:00
--  

只能生成查询表!你可能把参数[True]设为[False]了!

 

这个没理解。。

 

 

[_Identify] as 主键

这个好用~~就不用增加数据列了

 

另外请问,怎么用查询表的主键对应 任务表的某条数据?

 

谢谢


--  作者:don
--  发布时间:2011/11/3 13:43:00
--  
你要想得到更多帮助,要上传商用版文件,开发版毕竟不是人人都有
--  作者:dark272710
--  发布时间:2011/11/3 13:51:00
--  

= =哎。。。我也转化不能

 

的确是太不方便交流了,桑心。


--  作者:dark272710
--  发布时间:2011/11/3 14:58:00
--  

Dim id As String = e.Row("主键")

If e.Row("业务类型") = "自修项目" Then
    With Tables("自修项目")
    Dim r As Integer
        r = .Find(id, .RowSel + 1, "_identity", False, True, True)
        .Position = r \'则选择该行
        Forms("自修_信息").open
    End With
End If

 

 

代码报错

 r = .Find(id, .RowSel + 1, "_identity", False, True, True)

_identity改成其他列名就没问题了~~~求教


--  作者:狐狸爸爸
--  发布时间:2011/11/3 15:11:00
--  

你的查询语句是:
 
Select 结算年,结算月,业务建立时间,建立人,业务类型,经办班组,业务完成时间,备注说明,主键 From {自修项目} UNION Select 结算年,结算月,业务建立时间,建立人,业务类型,经办班组,业务完成时间,备注说明,主键 From {运维项目}
 
说明查询表根本就没有_Identify列。

这种组合查询也没有办法将_Identify列包括进来的。

 

要不给每个表加一个任务编号列,不同的表不同的任务编号,例如自修项目表这样编号:zx001,zx002,zx003,运维项目表则这样编号:yw001,yw002,yw003


--  作者:dark272710
--  发布时间:2011/11/3 15:16:00
--  
以下是引用狐狸爸爸在2011-11-3 15:11:00的发言:

你的查询语句是:
 
Select 结算年,结算月,业务建立时间,建立人,业务类型,经办班组,业务完成时间,备注说明,主键 From {自修项目} UNION Select 结算年,结算月,业务建立时间,建立人,业务类型,经办班组,业务完成时间,备注说明,主键 From {运维项目}
 
说明查询表根本就没有_Identify列。

这种组合查询也没有办法将_Identify列包括进来的。

 

要不给每个表加一个任务编号列,不同的表不同的任务编号,例如自修项目表这样编号:zx001,zx002,zx003,运维项目表则这样编号:yw001,yw002,yw003

 

不是不是。。你看底下的。。。上面的已经过去时了。。。

 

 

我在双击事件里加入的这个,直接找其他表的主键,和查询表没关系了吧:

列名如果是_identity的话就报错,一般列的话就可以

 

Dim id As String = e.Row("主键")

If e.Row("业务类型") = "自修项目" Then
    With Tables("自修项目")
    Dim r As Integer
        r = .Find(id, .RowSel + 1, "列名", False, True, True)  \'搜索定位某列内容为id的行
        .Position = r \'则选择该行
        Forms("自修_信息").open
    End With
End If

[此贴子已经被作者于2011-11-3 15:17:00编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/11/3 15:28:00
--  

呵呵,我看到你的查询表的查询语句明明就是:

 

Select  结算年,结算月,业务建立时间,建立人,业务类型,经办班组,业务完成时间,备注说明 From {自修项目} UNION Select  结算年,结算月,业务建立时间,建立人,业务类型,经办班组,业务完成时间,备注说明 From {运维项目}


你应该将查询表设置好,将该写的代码写好,然后传上来,说明在什么表的什么事件,设置了代码,目的是什么,结果出现了什么。

 

让别人快速理解你的问题,就能更快的获得回复。


--  作者:dark272710
--  发布时间:2011/11/3 15:28:00
--  

那个查询表是老的啊。。 最新的表

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:业务流程管理.foxdb

 

SQL代码:

Select  [_Identify] as 主键,结算年,结算月,业务建立时间,建立人,业务类型,经办班组,业务完成时间,备注说明 From {自修项目} UNION Select  [_Identify] as 主键,结算年,结算月,业务建立时间,建立人,业务类型,经办班组,业务完成时间,备注说明 From {运维项目}

 

我现在是双击任务总览(查询表),然后执行检索“自修项目表”,通过查询表的主键和“自修项目”的_identity进行比较,定位。

 

现在的问题是FIND普通列就正常运行,改成_identity列就报错。

我之前看帮助说_identity和普通列一样引用的啊

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20111103152554.png
图片点击可在新窗口打开查看

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20111103152631.png
图片点击可在新窗口打开查看

 


 

[此贴子已经被作者于2011-11-3 15:33:29编辑过]