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
这是我正在尝试使用的代码,它会在MSGbox中生成软件的所有名称,但不会显示日期。
WHERE (((Renewals.[Expiration Date]) Between Date() And DateAdd("d",60,Date())));
我正在尝试在我的查询中使用这个where语句,这个where语句在Access中工作,我很困惑。我现在已经玩了大约七个小时。如果我把它放在SQL查询的From部分后面,我仍然会得到每个产品名称的旧查询。我是个新手。
答案 0 :(得分:0)
rs.Fields(0)
只是记录集中的第一个字段。日期是第二个字段rs.Fields(1)
您应该执行以下操作:
getNames = getNames + rs.Fields(0) & " " & rs.Fields(1) & ","