2017-08-18 58 views
0

我是將數據發送到我們的系統的數據顧問。我編寫了一些代碼,將我的表的內容與已經放入oracle的內容進行比較,作爲額外的測試。這些表格由於它們之間的相互關係而有些複雜。但本質上這裏是我的問題:在字段不存在的情況下搜索表 - 訪問VBA

當我看匹配兩個字段值和字段不存在我得到一個參數彈出框。如果字段存在,我只想運行代碼。

我已經嘗試了很多東西,在它周圍包裝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 

回答

0

如果你對付甲骨文:您是否嘗試過檢查,如果在甲骨文查詢ALL_TAB_COLUMNS存在的領域?

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

(Untestet原因目前我沒有Oracle實例可用)

相關問題