0

少し奇妙なもの。別のテーブルにレコードの 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 を持つ行を返します。これは、販売行ごとに行われます。

画像を見る

4

1 に答える 1