Detta kanske inte är världens bästa och mest fantastiska dunderlösning, men något sånt här är vad min supertrötta hjärna skulle försöka sig på:
- Byt följande:
Set objRS = objConn.Execute(strSQL)
mot:
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open sSQL, objConn, 3, 1 ' Recordsetet öppnar vi så här för att kunna få ut ett värde från egenskapen [i] recordcount[/i].
intCounter = 0 ' skapa en liten posträknare som vi sedan räknar upp
Sedan, skapa ett dictionaryobjekt:
Set objDict = Server.CreateObject("Scripting.Dictionary")
Lägg dessa rader i koden inne i else-delen i din EOF-if-sats, och ta bort det andra som ligger där:
strENumber = "" & objRS("ENumber")
strArticleName = "" & objRS("articleName")
strUnit = "" & objRS("articleUnit")
.
I din loop där du lägger ut prisinformationen, byt ut koden du har där mot detta:
intCounter=intCounter + 1
strSupplier = "" & objRS("SupplierName")
curPrice = FormatCurrency(CLng(objRS("articlePrice"))*0.01)
if not objDict.Exists(strSupplier) then
' Bara en säkerhetskoll att vi inte lägger in något om det redan är inlagt för denna leverantör
select case intCounter
case 1
' weee, det här är det jättebästa priset!
strFC = "green"
strLowest = strSupplier
case objRS.RecordCount
' blä, det här är det vedervärdiga sunkpriset!
strFC = "red"
case else
strFC = "black"
end select
objDict.Add strSupplier, "<font color=""" & strFC & """>" & curPrice & "</fon
end if
objRS.MoveNext
Sedan, efter hela klabbet, är det dags att presentera det vi lärt oss.
If strArticleName <> "" then
' Den här koden körs bara när SQL-frågan gett resultat, annars är [i]strArticleName[/i] tom.
Response.write "<table><tr><td>Solar</td><td>StorEl</td><td>Elektroskandia</td><td>Lägst</td></tr><tr>"
if objDict.Exists("Solar") then
Response.write "<td>" & objDict.Item("Solar") & "</td>
else
Response.write "<td> </td>"
end if
if objDict.Exists("StorEl") then
Response.write "<td>" & objDict.Item("StorEl") & "</td>
else
Response.write "<td> </td>"
end if
if objDict.Exists("ElektroSkandia") then
Response.write "<td>" & objDict.Item("ElektroSkandia") & "</td>
else
Response.write "<td> </td>"
end if
Response.write "<td>" & strLowest & "</td></tr></table>"
End if
Om det här fungerar, eller hur snyggt det blir har jag förstås ingen aning om. Du får det roliga klipp-, klistra- och testa-jobbet, och så får vi gå vidare efter det. Säg till om du inte fattar så går det säkert att få till någon förklaring. :)
Mvh