2016-06-21 4 views
0
Dim connStr, objConn, getNames 

connStr = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\meandmine\Desktop\inventory.accdb" 

Set objConn = CreateObject("ADODB.Connection") 

objConn.open connStr 

Set rs = objConn.execute("SELECT Renewals.[Product Name], Renewals.[Expiration Date] FROM Renewals") 

'While loop, loops through all available results 
DO WHILE NOT rs.EOF 

'add names seperated by comma to getNames 
getNames = getNames + rs.Fields(0) & "," 
'move to next result before looping again 
'this is important 
rs.MoveNext 
'continue loop 
Loop 

'Close connection and release objects 
objConn.Close 
Set rs = Nothing 
Set objConn = Nothing 

'Return Results via MsgBox 
MsgBox getNames 

これは私が使用しようとしているコードであり、それがメッセージボックスにソフトウェアのすべての名前を生成し、どこに含める方法を見つけ出すことはできません日付を表示します。私は私のクエリでこの場所ステートメントを使用しようとしているは、まだ、いないレコードセットと文は

WHERE (((Renewals.[Expiration Date]) Between Date() And DateAdd("d",60,Date()))); 

文がアクセスで働くところ、これは、私は非常に困惑しています。私はこれで約7時間今遊んできました。私がSQLクエリのFrom部分の後に置くと、私はまだすべての製品名の同じ古いクエリを取得します。私は全く新しいことだ。

答えて

0

rs.Fields(0)は、レコードセット内の最初のフィールドのみです。日付がrs.Fields(1)

で2番目のフィールドであるあなたは、次の手順を実行しなければならない:

getNames = getNames + rs.Fields(0) & " " & rs.Fields(1) & "," 
+0

だからそれは完全に=日付を示すで働いていた]しかし、ここで私は、パラメータは、それが並べ替える作るためどこに投げるでしょうか?あなたの助けをありがとう=] –

+0

'WHERE'パラメータはフィルタリングせず、並べ替えません。 SELECTステートメントに追加されます。並べ替えるには 'ORDER BY'を使います –

関連する問題