Я получил следующую настройку: база данных Oracle в качестве бэк-энда, интерфейс, предоставляемый нашим отделом ИТ-баз данных, и мой интерфейс Excel-VBA.
Интерфейс предоставляет множество функций для вставки, обновления и чтения данных. Функция «DB_connection.read_test» принимает входные данные:
TestID (0 = ВСЕ)
Оператор SQL Where
Имя таблицы, в которой будут храниться данные
Установить заголовок базы данных как логическое значение true = установить, false = оставить как есть
Функция показывает вид, который мне приготовил бэкэнд. Теперь есть два столбца, которые я хочу сравнить, если они неравны «PRODID» и «ArticleID» и получают все уникальные пары «PRODID» и «ArticleID». Проблема здесь в том, что я могу написать только оператор where.
Sub query_ProdID_uneq_ArticleIDlocal()
Dim SQL_Where As String
SQL_Where = "PRODID <> ARTICLEID"
Call DB_connection.read_test(0, SQL_Where, "Pruefungen_Tab", True)
End Sub
Этот код выше работает, но получает все данные, где PRODID <> ARTICLEID. Так что они не уникальны . Я мог бы работать в VBA-Excel и сводить пары к разным парам.
Но есть ли способ сделать это с правильным выражением WHERE?
SQL_Where = "PRODID <> ARTICLEID and Unique(ArticleID)"
или как то так?
Пример данных: