以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  MYSQL关联出错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186254)

--  作者:lin98
--  发布时间:2023/4/17 9:13:00
--  MYSQL关联出错
If Forms("MYSQL-01").Opened() Then\'一定要判断用于模拟关联表的窗口是否已经打开
    Dim t As Table = Tables("MYSQL-01_Table2")
    With Tables("MYSQL-01_Table1")
        If .Current Is Nothing Then
            t.Filter = "False"
        Else
\'            t.Filter = "sellID = " & .Current("sellID")
            t.Filter = "MYSQL-01_Table1.sellID = " & .Current("MYSQL-01_Table1.sellID")
\'            t.Filter = "tb_sell_main.sellID = " & .Current("tb_sell_main.sellID")
\'            t.Filter = "sellID = " & .Current("sellID")
            
        End If
    End With
End If


.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:全局表事件,CurrentChanged
详细错误信息:
列“MYSQL-01_Table1.sellID”不属于表 MYSQL-01_Table1。

--  作者:有点蓝
--  发布时间:2023/4/17 9:15:00
--  
t.Filter = "sellID = \'" & .Current("sellID") & "\'"
--  作者:lin98
--  发布时间:2023/4/17 9:23:00
--  
试一下,报错
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:
详细错误信息:
未找到列 [sellID]。

--  作者:有点蓝
--  发布时间:2023/4/17 9:27:00
--  
表格没有这个列名
--  作者:lin98
--  发布时间:2023/4/17 9:28:00
--  
改为下面也报错

t.Filter = "MYSQL-01_Table1.sellID = \'" & .Current("MYSQL-01_Table1.sellID") & "\'"
MYSQL-01_Table1.sellID
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:全局表事件,CurrentChanged
详细错误信息:
列“MYSQL-01_Table1.sellID”不属于表 MYSQL-01_Table1。

--  作者:有点蓝
--  发布时间:2023/4/17 9:37:00
--  
窗口表的名称和数据库里表的名称没有半毛钱的关系。筛选也不需要使用窗口表名称
--  作者:lin98
--  发布时间:2023/4/17 9:55:00
--  
If Forms("MYSQL-01").Opened() Then\'一定要判断用于模拟关联表的窗口是否已经打开
    Dim t As Table = Tables("tb_sell_detail")
    With Tables("tb_sell_main")
        \'With Tables("tb_sell_main") \'报错 不存在这个表
        
        If .Current Is Nothing Then
            t.Filter = "False"
        Else
          t.Filter = "sellID = \'" & .Current("sellID") & "\'"  
            
            
            
            
        End If
    End With
End If

报错找不到表tb_sell_detail、tb_sell_main
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:全局表事件,CurrentChanged
详细错误信息:
未将对象引用设置到对象的实例。

--  作者:有点蓝
--  发布时间:2023/4/17 10:08:00
--  
With Tables("MYSQL-01_Table1这里是窗口表,必须使用窗口表的名称")

t.Filter = "筛选使用的是数据库绑定时真实的列名,不需要表名,也不需要窗口表名称sellID = \'" & .Current("sellID") & "\'"  


--  作者:lin98
--  发布时间:2023/4/17 10:21:00
--  
If Forms("MYSQL-01").Opened() Then\'一定要判断用于模拟关联表的窗口是否已经打开
    Dim t As Table = Tables("MYSQL-01_Table2")
    With Tables("MYSQL-01_Table1")
        If .Current Is Nothing Then
            t.Filter = "False"
        Else
t.Filter = "sellID = \'" & .Current("sellID") & "\'"
            
        End If
    End With
End If

执行报错找不到sellID 列,MYSQL库中主表和明细都有sellID 列

--  作者:有点蓝
--  发布时间:2023/4/17 10:24:00
--  
使用什么sql查询的表来绑定窗口表的?把这个sql放到数据库执行看返回什么列名