Объединить результаты MS Access и SQL Server - PullRequest
1 голос
/ 21 февраля 2012

Хотелось бы узнать, возможно ли объединить результаты двух разных баз данных, MS Access и SQL Server.

Вот что я пытаюсь сделать:

ВЫБЕРИТЕ ВСЕ ОТ ДВУХ ДАТ ДЕЙСТВОВАННЫХ С ВЫРАЖЕНИЕМ SQL Server 2008 R2) ТАБЛИЦА ВЫЗЫВАЕМЫХ НАГРУЗК

    '//THIS WOULD BE THE SQL Server DATABASE

    strQueryMSSQL = "Select * FROM LOADS WHERE PUP_DATE >= '" & strPUPDate & "' and DEL_DATE <= '" & strDELDate & "'" ORDER BY PUP_DATE DESC"
    objMSSQL.Open strQueryMSSQL 

  '//THIS WILL LOOP AND SHOW THE DATE/TIME IN THE SQL Server DB
    while not objMSSQL.EOF
    Response.write objMSSQL("PUDATETIMEFLD")
    objMSSQL.MoveNext
    wend

    Example Result(s):
    DATE/TIME:
    02/01/2012 1:00pm
    02/02/2012 7:00am
    02/03/2012 9:00pm
    02/04/2012 6:00am
    02/06/2012 8:28am

СЕЙЧАС ВЫБЕРИТЕ ВСЕ МЕЖДУ ДВУМИ ДАТАМИ ИЗ (ТАБЛИЦА ДОСТУПА MS) НАЗНАЧЕНО FuelDetail

'//THIS WOULD BE THE MS ACCESS DATABASE

strQueryMSAccess = "Select * FROM FuelDetail WHERE PICK_UP_DATE >= #" & strPickupDate & "# and TransactionDate <= #" & TransactionDate & "#" ORDER BY TransactionDate,TransactionTime DESC"
objMSACCESS.Open strQueryMSAccess 

'//THIS WILL LOOP AND SHOW THE DATE/TIME IN THE MS ACCESS DB
while not objMSACCESS.EOF
Response.write objMSACCESS("PICKUPDATE_FLD")
objMSACCESS.MoveNext
wend

Example Result(s):
DATE/TIME:
02/02/2012 7:30am
02/03/2012 11:50pm
02/05/2012 7:00pm
02/05/2012 7:05pm
02/07/2012 6:57am

Но я хотел бы объединить их (по: дате / времени) и показать результаты вместе, как если бы они находились в одной базе данных.

Когда вы зацикливаетесь, это будет выглядеть примерно так.

Example Result(s):
DATE/TIME:
02/01/2012 1:00pm   <-- This is from the MS SQL DB
02/02/2012 7:00am   <-- This is from the MS SQL DB
02/02/2012 7:30am   <-- This is from the MS ACCESS DB
02/03/2012 9:00pm   <-- This is from the MS SQL DB
02/03/2012 11:50pm      <-- This is from the MS ACCESS DB
02/04/2012 6:00am   <-- This is from the MS SQL DB
02/05/2012 7:00pm   <-- This is from the MS ACCESS DB
02/05/2012 7:05pm   <-- This is from the MS ACCESS DB
02/06/2012 8:28am   <-- This is from the MS SQL DB
02/07/2012 6:57am   <-- This is from the MS ACCESS DB

Большое спасибо за любую помощь в решении моей проблемы / вопроса.

(Правка) Добавлено: ...

Может быть, что-то вроде этого:

dim strAccess
dim strSQL
dim strDateNTimes
strAccess=CDate(objMSACCESS("PICKUPDATE_FLD"))
strSQL=CDate(objMSSQL("PUDATETIMEFLD"))

'//THIS WILL LOOP AND SHOW THE DATE/TIME IN THE MS ACCESS DB 
while not objMSACCESS.EOF 
strDateNTimes=strDateNTimes & "," & objMSACCESS("PICKUPDATE_FLD")  & "," 
objMSACCESS.MoveNext 
wend 

'//THIS WILL LOOP AND SHOW THE DATE/TIME IN THE SQL Server DB 
while not objMSSQL.EOF 
strDateNTimes=strDateNTimes & "," & objMSACCESS("PUDATETIMEFLD")  & "," 
objMSSQL.MoveNext 
wend 

'// Now just split the commas and do what you will with the date

ArrayOfValues = Split(strDateNTimes, ", ")

For i = 0 To UBound(ArrayOfValues)
 Response.Write "Value " & i & " is " & ArrayOfValues(i) & "<br>"
 Next

1 Ответ

2 голосов
/ 21 февраля 2012

Я бы предложил связать вашу таблицу SQL с MS Access, так как это, кажется, самый быстрый способ получить один набор данных.

Вы можете увидеть, как связать данные SQL с MS Access * 1003.* here

Оттуда создайте один VIEW, который соединит как данные из MS Access, так и SQL в один VIEW, и выведите результаты из этой таблицы в выбранном вами порядке.

...