Как подключить 2 или 3 разных базы данных с одной и той же таблицей в одном запросе - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь найти данные из другой базы данных с той же таблицей.вместо выполнения длинного запроса, как я могу ВНУТРИ СОЕДИНИТЬ 2 разные базы данных в одном запросе.спасибо.

Set db = OpenDatabase(DbName, False, True, "MS Access;PWD=1234")
Set rs = db.OpenRecordset("SELECT * AVAILABLE_STAFF WHERE staff_id = '" & Search_ID & "'", dbOpenSnapshot, dbOptimistic)

With rs
    If .RecordCount = 0 Then
    Else
       'INSERT DATA TO LISTVIEW
    End If
End With

rs.Close
Set rs = Nothing

db.Close
Set db = Nothing

Set db = OpenDatabase(DbName1, False, True, "MS Access;PWD=1234")

 Set rs = db.OpenRecordset("SELECT * AVAILABLE_STAFF WHERE staff_id = '" & Search_ID & "'", dbOpenSnapshot, dbOptimistic)
With rs

    If .RecordCount = 0 Then

    Else
    'INSERT DATA TO LISTVIEW
    End If
End With

rs.Close
Set rs = Nothing

db.Close
Set db = Nothing

1 Ответ

0 голосов
/ 24 января 2019

Поскольку вы не показывали никаких E / R и не было на 100% ясно, что вы просили об этом ответе, возможно, не так хорошо, как вы хотели бы.

  1. Измените заголовок вашего вопроса. «КАК ВНУТРЕННЕЕ СОЕДИНИТЬ 2 или 3 другая база данных с одной и той же таблицей в одном запросе "сбивает с толку! Вы «объединять таблицы в базе данных», вы не «объединяете базы данных с одинаковыми таблица в одном запросе "!
  2. Я не могу понять это [MS Access;DATABASE=" & Completed & ";PWD=pwd].[DOCUMENT_STATUS]? Угадай, это создает какую-то таблицу?
  3. Вы выбираете только результаты из своей первой таблицы псевдонимов, [ds]? Вы пробовали:
SELECT ds.*, cds.*
        FROM DOCUMENT_STATUS AS ds
        LEFT JOIN [MS Access;DATABASE=" & Completed & ";PWD=pwd].[DOCUMENT_STATUS] AS cds 
        ON ds.refnum=cds.refnum

в вашем случае вы также можете сделать SELECT * вместо SELECT ds.*, cds.*.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...