搜索字段不存在的表 - 访问VBA

时间:2017-08-18 08:43:45

标签: vba ms-access

我是一名数据顾问,负责迁移我发送到系统的数据。我编写的代码将我的表的内容与已放入oracle的内容进行比较,作为额外的测试。由于它们彼此之间的关系,这些表格有点复杂。但基本上这是我的问题:

当我想要匹配两个字段值并且该字段不存在时,我得到一个参数弹出框。我想只在该字段存在的情况下运行代码。

我尝试了很多东西,在它周围包含一个if语句但是我总是得到参数框,任何人都可以帮助必须有一个更简单的方法来做到这一点!

If Not DoCmd.OpenQuery("SELECT TOP 1" & MatchValues!FieldName & " FROM " & 
MatchValues!ORACLE_TABLE_NAME) Then

  MsgBox "moomins"
'    strSQL = "INSERT INTO 002_TableValueErrors(ORACLE_TABLE_NAME,TRANSFORM_TABLE_NAME,FIELD_NAME,ORACLE_FIELD_VALUE,TRANSFORM_FIELD_VALUE) "
 '   strSQL = strSQL & " VALUES (" & MatchValues!ORACLE_TABLE_NAME & "," & MatchValues!TRANSFORM_TABLE_NAME & "," & MatchValues!FieldName & ",'ORACLE: NOT FOUND','ORACLE: NOT FOUND')"

End If

1 个答案:

答案 0 :(得分:0)

如果您处理Oracle:您是否尝试通过在Oracle中查询ALL_TAB_COLUMNS来检查该字段是否存在?

"Select count(*) from ALL_TAB_COLUMNS where table_name = " & MatchValues!ORACLE_TABLE_NAME & " and COLUMN_NAME = " & MatchValues!FieldName

(Untestet导致目前我没有可用的Oracle实例)