я пытаюсь искать данные из другой базы данных с той же таблицей. вместо того, чтобы выполнять длинный запрос, как я могу ВНУТРЕННЕЕ СОЕДИНИТЬ две разные базы данных в одном запросе. Спасибо.
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
привет, извините, что беспокою вас, и спасибо за ответ. Я не знаком с ВНУТРЕННИМ СОЕДИНЕНИЕМ, поэтому я публикую это и основываюсь на вашем ответе, честно говоря, я не понимаю, что означает A.col1. Я видел этот пост раньше, но я все еще не могу его получить.
Создайте 4-ю базу данных, свяжите все соответствующие таблицы и создайте запрос
привет, Сантош, можешь привести пример, как? Благодарность
или вы можете просветить меня по этому вопросу? ВЫБЕРИТЕ A.col1, B.col2 ИЗ A ВНУТРЕННЕГО СОЕДИНЕНИЯ B ON A.key = B.FK
Как выглядит ваша диаграмма E/R? Каковы отношения в вашей базе данных? ОДИН КО МНОГИМ, МНОГИЕ КО МНОГИМ?
вот мой код до сих пор. 'code' Set rs = db.OpenRecordset("ВЫБЕРИТЕ ds.* ИЗ DOCUMENT_STATUS AS ds LEFT JOIN [MS Access;DATABASE = " & Completed & ";PWD=pwd].[DOCUMENT_STATUS] AS cds ON ds.refnum=cds. refnum", dbOpenDynaset, dbOptimistic) 'code' У меня есть запись в обеих базах данных. но появляется только одна запись.


Поскольку вы не показали никаких E / R, и не было на 100% ясно, что вы просили, этот ответ может быть не таким хорошим, как вам хотелось бы.
[MS Access;DATABASE = " & Completed & ";PWD=pwd].[DOCUMENT_STATUS]? Угадайте, он создает какую-то таблицу?[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.*.
Я действительно не думаю, что это то, что должно быть помечено как
VBA:-) Вы пробовалиSELECT A.col1, B.col2 FROM A INNER JOIN B ON A.key = B.FK;?