2012-02-20 26 views
1

2つの異なるデータベース、MS AccessとSQL Serverの結果を組み合わせることが可能かどうかを知りたいと思います。ここでMS AccessとSQL Serverの結果を組み合わせる

は私がしようとしているものです:

SELECT EVERYTHNIG LOADS

NOW
'//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 

CALLEDのSQL Server 2008 R2のEXPRESS)テーブルから2つの日付の間、(FROM 2つの日付の間のすべてを選択しますMS AccessのDB)表は

'//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 

FuelDetail

CALLEDしかし、私は(でそれらを結合したいと思います:日付/時間)と、彼らは、単一のデータベースにはどこかのように一緒に結果を示します。

ループすると、このようになります。

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 
+2

私はAccessとSQL Serverだけは分かっていませんが、私にとっては最も簡単な方法は、.MDB内のSQL Serverテーブルをリンクして、Accessテーブルやリンクを扱うように扱いますあなたのSQL ServerへのアクセステーブルとそれをすべてのSSを介して行います。 –

+1

MSAccessとSQLデータを一緒に使用してSQLでビューを作成してから、単一のクエリでそれらを書き戻すのはなぜですか? MSSQLからAccessにSQLクエリを作成したことはありません。可能であれば私は確信がありますが、それはODBCなので、それは可能であると仮定しています。私はそう思っています。 – RogueSpear00

+0

または、むしろ逆です。 AccessデータベースにSQLデータをリンクし、そこから取得します。 - @iDevlopが述べたように。 – RogueSpear00

答えて

2

は、私は、MS AccessにあなたのSQLテーブルをリンクすることをお勧め単一のデータセットを得る。

あなたはファッションにそのテーブルから、あなたの結果を、そこからMS Accessのhere

にSQLデータをリンクする1 VIEW、および出力に1つのMS Accessからデータの両方を接続VIEW、およびSQLを作成する方法を見ることができます選んで。

関連する問題