Прежде всего, позвольте мне заявить, что эта проблема для VBA в приложении Access. Теперь это подзапрос гораздо более длинного запроса, но я хочу изложить основы, прежде чем пытаться построить еще больший запрос.
По какой-то причине следующие строки кода успешно открывают DAO.Recordset, через который я могу через l oop выполнить операции:
Dim testRS As DAO.Recordset
testQuery = "SELECT * FROM midsecurity_city
INNER JOIN itincity ON midsecurity_city.cityid4security = itincity.city_id;"
Set testRS = CurrentDb.OpenRecordset(testQuery)
Это сравнение двух столбцов типа BIGINT в двух разных таблицах в двух разных схемах.
Теперь следующее также сравнивает два столбца типа VARCHAR в двух разных таблицах, которые также содержатся в двух разных схемах. Я включил все эти детали, так как я довольно новичок в Access и не уверен, влияет ли эта информация на мою проблему. Для чего это стоит, я вхожу в Postgres БД.
Этот запрос выдает мне сообщение "Ошибка 13: несоответствие типов" , а затем отменяет выполнение.
Dim testRS As DAO.Recordset
testQuery = "SELECT * FROM itincity INNER JOIN itinerary ON itincity.city =
itinerary.city;"
Set testRS = CurrentDb.OpenRecordset(testQuery)
Я предполагаю, что Access действительно ненавидит СОЕДИНЕНИЯ, которые включают в себя что-либо, кроме INTEGER сравнения двух столбцов? Я близок к тому, чтобы быть точным в этом? Если это так, есть ли способ обойти это ограничение или есть другой способ полностью приблизиться к чему-то подобному? Любой учебный материал о том, как JOINS работает в Access, также будет оценен, так как он, кажется, не играет по тем же правилам, что и выполнение запроса в pgAdmin.
Спасибо за помощь. Я изучал этот вопрос около недели.