少し奇妙なもの。別のテーブルにレコードの ID を格納するデータベースにテーブルがあります。table1 から情報を取得して保存する必要があります。
情報: 商品、画像 ID、数量
したがって、イメージ ID は table2 のレコードの ID になります。次に、そのレコードを取得するために使用します。そのレコードを使用して、画像の保存場所を見つけ、その製品の数量値に保存されているのと同じ回数、画像をドキュメントに書き込みます。
これがどのように機能する必要があるかを理解してください。ここにいくつかの例のデータがあります。
-Product 1-
Product -> "KR"
Image ID -> 772
Quantity -> 2
-Product 2-
Product -> "KR"
Image ID -> 774
Quantity -> 5
-Product 3-
Product -> "LR"
Image ID -> 776
Quantity -> 1
上記のデータを使用して、画像 ID を行の一意の ID として使用して table2 からデータを取得し、保存場所を保存します。
これは私が現在試していることですが、うまくいかないようです。
<!--#include virtual="nightclub_photography\asp\functions.asp"-->
<%
'Connect to database
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.ACE.OLEDB.12.0"
conn.Open Server.MapPath("/nightclub_photography/data/database/jamsnaps.mdb")
'Get the current date
today = ISODate(Request.Cookies("sdate") & " 00:00:00")
'Query the database for sales
sql = "SELECT * FROM sales WHERE DATEVALUE(saleDate) = " & today & " AND printed = 0 ORDER BY product"
Set rs = conn.Execute(sql)
Set sales = Server.CreateObject("Scripting.Dictionary")
if rs.EOF then
response.write "No sales found!"
else
do until rs.EOF
'response.write rs("product")&":"&rs("quantity")&", "
if sales.Exists(rs("product")) then
sales.Item("product") = ","&rs("jpgId")&":"&rs("quantity")
else
sales.Add rs("product"), rs("jpgId")&":"&rs("quantity")
end if
'Move to next sale
rs.MoveNext
loop
end if
rs.close
conn.close
%>
更新 1 エラーが発生しました。今のところは少し単純化されています。最初に結果を取得したいだけです。
エラー:
Type mismatch in expression.
クエリ:
sql = "SELECT * FROM images WHERE ID IN (SELECT jpgId FROM sales WHERE printed = 0)"
したがって、行番号「2」の jpgId を使用します。「1.」というラベルが付けられた同じ ID を持つ行を返します。これは、販売行ごとに行われます。