Avatar billede thomashansen Nybegynder
20. maj 2006 - 21:13 Der er 35 kommentarer og
1 løsning

Summering ved brug af UNION

Jeg ønsker, at summere SamletPris i nedenstående udtryk, men hvordan gør jeg det ?

SELECT [08Pilot].Pilot, [24KalibreringsKomponent].KalibreringskomponentPris AS SamletPris FROM 24KalibreringsKomponent INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [24KalibreringsKomponent].ID_Kalibreringskomponent = [26Log].ID_Kalibreringskomponent UNION ALL SELECT [08Pilot].Pilot, [12Forsyningsmedie].ForsyningsmediePris FROM 12Forsyningsmedie INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [12Forsyningsmedie].ID_Forsyningsmedie = [26Log].ID_Forsyningsmedie UNION ALL SELECT [08Pilot].Pilot, [15Reservedel].ReservedelPris FROM 08Pilot INNER JOIN ((04Model INNER JOIN 00Apparat ON [04Model].ID_Model = [00Apparat].ID_Model) INNER JOIN 15Reservedel ON [04Model].ID_Model = [15Reservedel].ID_Model) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot WHERE ((([08Pilot].Pilot) LIKE " & soegestreng & ")) ORDER BY Pilot, SamletPris
Avatar billede arne_v Ekspert
20. maj 2006 - 22:04 #1
som i:

SELECT f2,f1 FROM t1
UNIOIN
SELECT 'Total',SUM(f1) FROM t1
GO

?

(jeg orker ikke rigtigt at putte den kæmpe query ind, men det er bare at
duplikere det hele)
Avatar billede thomashansen Nybegynder
20. maj 2006 - 22:26 #2
Er det ikke et problem, at det er et alias jeg vil tælle sammen ?
Avatar billede arne_v Ekspert
20. maj 2006 - 22:33 #3
kan jeg ikke se hvorfor

SELECT [08Pilot].Pilot, [24KalibreringsKomponent].KalibreringskomponentPris AS SamletPris FROM ...
UNION
SELECT 'Total', SUM([24KalibreringsKomponent].KalibreringskomponentPris) FROM ...
Avatar billede thomashansen Nybegynder
20. maj 2006 - 22:39 #4
Jeg prøver lige
Avatar billede thomashansen Nybegynder
20. maj 2006 - 22:48 #5
Det skulle så se sådan ud ? (men jeg får fejl)

SELECT 'total', SUM([24KalibreringsKomponent].KalibreringskomponentPris) FROM (24KalibreringsKomponent INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [24KalibreringsKomponent].ID_Kalibreringskomponent = [26Log].ID_Kalibreringskomponent UNION ALL SELECT [08Pilot].Pilot, [12Forsyningsmedie].ForsyningsmediePris FROM 12Forsyningsmedie INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [12Forsyningsmedie].ID_Forsyningsmedie = [26Log].ID_Forsyningsmedie UNION ALL SELECT [08Pilot].Pilot, [15Reservedel].ReservedelPris FROM 08Pilot INNER JOIN ((04Model INNER JOIN 00Apparat ON [04Model].ID_Model = [00Apparat].ID_Model) INNER JOIN 15Reservedel ON [04Model].ID_Model = [15Reservedel].ID_Model) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot WHERE ((([08Pilot].Pilot) LIKE " & soegestreng & ")))
Avatar billede arne_v Ekspert
20. maj 2006 - 23:30 #6
hvilken fejl ?
Avatar billede thomashansen Nybegynder
20. maj 2006 - 23:39 #7
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in JOIN operation.

/SpecialeLogbog/6.asp, line 24
Avatar billede arne_v Ekspert
21. maj 2006 - 00:07 #8
Jeg hader ODBC fejl meddelelser.

Er det præcis samme SQL som før fra og med FROM ?
Avatar billede thomashansen Nybegynder
21. maj 2006 - 00:12 #9
Ja

Men jeg er i tvivl om hvilke tegn der skal sættes rundt om total. SELECT-sætningen er pakket ind i

Set sum = Server.CreateObject ("ADODB.Recordset")
sum.Open SELECT-sætning
total = sum.fields("total")
Avatar billede kjulius Novice
21. maj 2006 - 00:36 #10
Undskyld jeg blander mig, men skulle det mon ikke være noget lignende

SELECT pilot, SUM(samletpris) as samletpris
FROM (
din union som vist i spørgsmålet (uden order by)
) as temp
GROUP BY pilot
ORDER BY pilot, samletpris
Avatar billede thomashansen Nybegynder
21. maj 2006 - 00:50 #11
Det ser så sådan ud:

Set sum = Server.CreateObject ("ADODB.Recordset")
sum.Open "SELECT Pilot, SUM(SamletPris) AS SamletPris FROM (24KalibreringsKomponent INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [24KalibreringsKomponent].ID_Kalibreringskomponent = [26Log].ID_Kalibreringskomponent UNION ALL SELECT [08Pilot].Pilot, [12Forsyningsmedie].ForsyningsmediePris FROM 12Forsyningsmedie INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [12Forsyningsmedie].ID_Forsyningsmedie = [26Log].ID_Forsyningsmedie UNION ALL SELECT [08Pilot].Pilot, [15Reservedel].ReservedelPris FROM 08Pilot INNER JOIN ((04Model INNER JOIN 00Apparat ON [04Model].ID_Model = [00Apparat].ID_Model) INNER JOIN 15Reservedel ON [04Model].ID_Model = [15Reservedel].ID_Model) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot WHERE ((([08Pilot].Pilot) LIKE " & soegestreng & "))) AS TEMP GROUP BY pilot ", Conn
SamletPris = sum.fields("SamletPris")
Avatar billede thomashansen Nybegynder
21. maj 2006 - 00:51 #12
og giver samme fejl som med Arne V´s forslag:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in JOIN operation.

/SpecialeLogbog/666.asp, line 24
Avatar billede kjulius Novice
21. maj 2006 - 02:03 #13
Nej, du skal tage hele det oprindelige udtryk, altså inklusive SELECT udtrykket. Det har du ikke gjort...
Avatar billede thomashansen Nybegynder
21. maj 2006 - 09:12 #14
Her er hele koden for jeg får en fejlmeddelelse vedr. Circular reference caused by alias 'samletpris' in query definition's SELECT list

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Anvendelse</title>
</head>

<%@LANGUAGE="VBSCRIPT"%>

<!--#include file="dbconnect.asp" -->

<%
soeg = Request.QueryString("soeg")
If soeg = "" Then
    soegestreng = "'%'"
Else
    soegestreng = "'%" & soeg & "%'"
End If

Set list = Server.CreateObject ("ADODB.Recordset")
list.Open "SELECT [08Pilot].Pilot, [24KalibreringsKomponent].KalibreringskomponentPris AS SamletPris FROM 24KalibreringsKomponent INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [24KalibreringsKomponent].ID_Kalibreringskomponent = [26Log].ID_Kalibreringskomponent UNION ALL SELECT [08Pilot].Pilot, [12Forsyningsmedie].ForsyningsmediePris FROM 12Forsyningsmedie INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [12Forsyningsmedie].ID_Forsyningsmedie = [26Log].ID_Forsyningsmedie UNION ALL SELECT [08Pilot].Pilot, [15Reservedel].ReservedelPris FROM 08Pilot INNER JOIN ((04Model INNER JOIN 00Apparat ON [04Model].ID_Model = [00Apparat].ID_Model) INNER JOIN 15Reservedel ON [04Model].ID_Model = [15Reservedel].ID_Model) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot WHERE ((([08Pilot].Pilot) LIKE " & soegestreng & ")) ORDER BY pilot, samletpris", Conn

Set list = Server.CreateObject ("ADODB.Recordset")
list.Open "SELECT pilot, SUM(samletpris) as samletpris FROM (SELECT [08Pilot].Pilot, [24KalibreringsKomponent].KalibreringskomponentPris AS SamletPris FROM 24KalibreringsKomponent INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [24KalibreringsKomponent].ID_Kalibreringskomponent = [26Log].ID_Kalibreringskomponent UNION ALL SELECT [08Pilot].Pilot, [12Forsyningsmedie].ForsyningsmediePris FROM 12Forsyningsmedie INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [12Forsyningsmedie].ID_Forsyningsmedie = [26Log].ID_Forsyningsmedie UNION ALL SELECT [08Pilot].Pilot, [15Reservedel].ReservedelPris FROM 08Pilot INNER JOIN ((04Model INNER JOIN 00Apparat ON [04Model].ID_Model = [00Apparat].ID_Model) INNER JOIN 15Reservedel ON [04Model].ID_Model = [15Reservedel].ID_Model) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot WHERE ((([08Pilot].Pilot) LIKE " & soegestreng & " ))) as temp GROUP BY pilot ORDER BY pilot, samletpris ", Conn
temp = sum.fields("temp")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
%>


<html>
<head>
<title>Anvendelse</title>
</head>

<body bgcolor="#FFFFCC">

<tr><td bgcolor="#999999">
<div align="center">&nbsp;</div>
<div align="center">&nbsp;</div>
<div align="center"><b><font face="Times New Roman" size="5">Søgning</font></b></div>
</td></tr>

<tr><td bgcolor="#CCCCCC">

<form method="GET" action="66.asp" onsubmit="return FrontPage_Form1_Validator(this)" language="JavaScript" name="FrontPage_Form1">
  <p align="left">
<font face="Times New Roman">- hvad har det kostet sammenlagt pr. pilot, at lave
analyser ?</font></p>
  <p>
  <b><font face="Times New Roman"><br>
  Pilot:</font></b><br>
  <font face="Arial" size="2">
    <!--webbot bot="Validation" s-display-name=" " s-data-type="String" b-allow-letters="TRUE" s-allow-other-chars="? &amp;" --><input type="text" name="soeg" value="<% = soeg%>" size="20">
<input type="submit" name="Submit" value="Søg"></font></td>

    </p>
</form>



<table style="border-left-color: #000000; border-top-color: #000000" cellspacing="0" bordercolorlight="#000000" bordercolordark="#000000" border="1" cellpadding="0">

<tr>
  <th width="1300" valign="top" colspan="10" bgcolor="#CCFFCC">
  <p align="left">
  <b>Søgeordet <font color="#CC0000"><% = soeg%></font> giver <font color="#CC0000"><% = antal%></font>
  </b></th>
  </tr>

<tr>
  <td valign="top" bgcolor="#C0C0C0" align="center"><font size="2"><b>Pilot</font></b></td>
  <td valign="top" bgcolor="#C0C0C0" align="center"><font size="2"><b>SamletPris</font></b></td>

</tr>


<%
While NOT list.EOF
%>

<td valign="top"><font size="2"><% = list.Fields("Pilot")%>&nbsp;</font></td>
<td valign="top"><font size="2"><% = list.Fields("SamletPris")%>&nbsp;</font></td>

</tr>

<%
list.MoveNext
Wend
%>

<tr>
  <th width="1300" valign="top" colspan="10" bgcolor="#CCFFCC">
  <p align="right">
  &nbsp;&nbsp;</th>
  </tr>

</table>

</form>

</font>

<p align="center">&nbsp;</p>

</b>

</body>


</html>

<%
list.close
set list = nothing
%>
Avatar billede thomashansen Nybegynder
21. maj 2006 - 09:13 #15
Her er hele fejlmeddelelsen:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Circular reference caused by alias 'samletpris' in query definition's SELECT list.

/SpecialeLogbog/66.asp, line 24
Avatar billede kjulius Novice
21. maj 2006 - 14:15 #16
Prøv at ændre feltnavnet i uniondelen til bare pris:


Set list = Server.CreateObject ("ADODB.Recordset")
list.Open "SELECT pilot, SUM(pris) as samletpris FROM (SELECT [08Pilot].Pilot, [24KalibreringsKomponent].KalibreringskomponentPris AS Pris FROM 24KalibreringsKomponent INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [24KalibreringsKomponent].ID_Kalibreringskomponent = [26Log].ID_Kalibreringskomponent UNION ALL SELECT [08Pilot].Pilot, [12Forsyningsmedie].ForsyningsmediePris FROM 12Forsyningsmedie INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [12Forsyningsmedie].ID_Forsyningsmedie = [26Log].ID_Forsyningsmedie UNION ALL SELECT [08Pilot].Pilot, [15Reservedel].ReservedelPris FROM 08Pilot INNER JOIN ((04Model INNER JOIN 00Apparat ON [04Model].ID_Model = [00Apparat].ID_Model) INNER JOIN 15Reservedel ON [04Model].ID_Model = [15Reservedel].ID_Model) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot WHERE ((([08Pilot].Pilot) LIKE " & soegestreng & " ))) as temp GROUP BY pilot ORDER BY pilot, samletpris ", Conn
temp = sum.fields("temp")


Når jeg nu ser din kode, så har jeg sikkert også misforstået noget. Du ønsker ikke en total pr. pilot, men bare en samlet pris til sidst, right?

Okay, så kan vi godt droppe GROUP BY:

Set list = Server.CreateObject ("ADODB.Recordset")
list.Open "SELECT 'Ialt:', SUM(pris) as samletpris FROM (SELECT [08Pilot].Pilot, [24KalibreringsKomponent].KalibreringskomponentPris AS Pris FROM 24KalibreringsKomponent INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [24KalibreringsKomponent].ID_Kalibreringskomponent = [26Log].ID_Kalibreringskomponent UNION ALL SELECT [08Pilot].Pilot, [12Forsyningsmedie].ForsyningsmediePris FROM 12Forsyningsmedie INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [12Forsyningsmedie].ID_Forsyningsmedie = [26Log].ID_Forsyningsmedie UNION ALL SELECT [08Pilot].Pilot, [15Reservedel].ReservedelPris FROM 08Pilot INNER JOIN ((04Model INNER JOIN 00Apparat ON [04Model].ID_Model = [00Apparat].ID_Model) INNER JOIN 15Reservedel ON [04Model].ID_Model = [15Reservedel].ID_Model) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot WHERE ((([08Pilot].Pilot) LIKE " & soegestreng & " ))) as temp", Conn

I øvrigt undrer jeg mig lidt over din kode, for når du genbruger list objektet, kan du jo kun vise den sidste forespørgsel, som er opsummeringen. Jeg går ud fra, at det kun er til testbrug den ser ud som den gør...
Avatar billede thomashansen Nybegynder
21. maj 2006 - 14:22 #17
Når jeg nu ser din kode, så har jeg sikkert også misforstået noget. Du ønsker ikke en total pr. pilot, men bare en samlet pris til sidst, right?

Thomas: Ja, der ønskes én samlet pris for det er muligt, at udvælge én pilot via søge-felt

I øvrigt undrer jeg mig lidt over din kode, for når du genbruger list objektet, kan du jo kun vise den sidste forespørgsel, som er opsummeringen. Jeg går ud fra, at det kun er til testbrug den ser ud som den gør...

Thomas: Jeg er grøn i det her så der er nok meget uhensigtsmæssigt. Jeg forstår ikke helt hvad de mener, men det jeg vil er, at vise list + opsummering samtidig

Jeg prøver lige dit forslag
Avatar billede thomashansen Nybegynder
21. maj 2006 - 14:33 #18
OK, jeg tror jeg fattede det med, at du undrer deig over, at jeg genbrugte list. Det var ikke meningen
Avatar billede thomashansen Nybegynder
21. maj 2006 - 14:37 #19
Nu får jeg denne fejl, efter at have kopieret dir forslag:

ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested name or ordinal.

/SpecialeLogbog/66.asp, line 26
Avatar billede kjulius Novice
21. maj 2006 - 15:15 #20
Nå, ja. Jeg havde ikke navngivet et første felt med teksten, men du forventer sikkert at det hedder pilot, ligesom i detail-forespørgslen. Så enten skal du ændre i din ASP kode, så du ikke refererer til pilot feltet under udskrivning til celle 1, men bare fylder &nbsp; i den, eller vi må ændre forespørgslen til noget lignende dette:

Set list = Server.CreateObject ("ADODB.Recordset")
list.Open "SELECT 'Ialt:' AS pilot, SUM(pris) as samletpris FROM (SELECT [08Pilot].Pilot, [24KalibreringsKomponent].KalibreringskomponentPris AS Pris FROM 24KalibreringsKomponent INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [24KalibreringsKomponent].ID_Kalibreringskomponent = [26Log].ID_Kalibreringskomponent UNION ALL SELECT [08Pilot].Pilot, [12Forsyningsmedie].ForsyningsmediePris FROM 12Forsyningsmedie INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [12Forsyningsmedie].ID_Forsyningsmedie = [26Log].ID_Forsyningsmedie UNION ALL SELECT [08Pilot].Pilot, [15Reservedel].ReservedelPris FROM 08Pilot INNER JOIN ((04Model INNER JOIN 00Apparat ON [04Model].ID_Model = [00Apparat].ID_Model) INNER JOIN 15Reservedel ON [04Model].ID_Model = [15Reservedel].ID_Model) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot WHERE ((([08Pilot].Pilot) LIKE " & soegestreng & " ))) as temp", Conn
Avatar billede thomashansen Nybegynder
21. maj 2006 - 15:37 #21
Ja undskyld, men jeg kan ikke få det til at virke. Nu ser min kode ud som følger:

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Anvendelse</title>
</head>

<%@LANGUAGE="VBSCRIPT"%>

<!--#include file="dbconnect.asp" -->

<%
soeg = Request.QueryString("soeg")
If soeg = "" Then
    soegestreng = "'%'"
Else
    soegestreng = "'%" & soeg & "%'"
End If

Set list = Server.CreateObject ("ADODB.Recordset")
list.Open "SELECT [08Pilot].Pilot, [24KalibreringsKomponent].KalibreringskomponentPris AS Pris FROM 24KalibreringsKomponent INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [24KalibreringsKomponent].ID_Kalibreringskomponent = [26Log].ID_Kalibreringskomponent UNION ALL SELECT [08Pilot].Pilot, [12Forsyningsmedie].ForsyningsmediePris FROM 12Forsyningsmedie INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [12Forsyningsmedie].ID_Forsyningsmedie = [26Log].ID_Forsyningsmedie UNION ALL SELECT [08Pilot].Pilot, [15Reservedel].ReservedelPris FROM 08Pilot INNER JOIN ((04Model INNER JOIN 00Apparat ON [04Model].ID_Model = [00Apparat].ID_Model) INNER JOIN 15Reservedel ON [04Model].ID_Model = [15Reservedel].ID_Model) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot WHERE ((([08Pilot].Pilot) LIKE " & soegestreng & " )) ", Conn

Set sum = Server.CreateObject ("ADODB.Recordset")
sum.Open "SELECT 'Ialt:' AS pilot, SUM(pris) as samletpris FROM (SELECT [08Pilot].Pilot, [24KalibreringsKomponent].KalibreringskomponentPris AS Pris FROM 24KalibreringsKomponent INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [24KalibreringsKomponent].ID_Kalibreringskomponent = [26Log].ID_Kalibreringskomponent UNION ALL SELECT [08Pilot].Pilot, [12Forsyningsmedie].ForsyningsmediePris FROM 12Forsyningsmedie INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [12Forsyningsmedie].ID_Forsyningsmedie = [26Log].ID_Forsyningsmedie UNION ALL SELECT [08Pilot].Pilot, [15Reservedel].ReservedelPris FROM 08Pilot INNER JOIN ((04Model INNER JOIN 00Apparat ON [04Model].ID_Model = [00Apparat].ID_Model) INNER JOIN 15Reservedel ON [04Model].ID_Model = [15Reservedel].ID_Model) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot WHERE ((([08Pilot].Pilot) LIKE " & soegestreng & " ))) as temp", Conn
temp = sum.fields("temp")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
%>


<html>
<head>
<title>Anvendelse</title>
</head>

<body bgcolor="#FFFFCC">

<tr><td bgcolor="#999999">
<div align="center">&nbsp;</div>
<div align="center">&nbsp;</div>
<div align="center"><b><font face="Times New Roman" size="5">Søgning</font></b></div>
</td></tr>

<tr><td bgcolor="#CCCCCC">

<form method="GET" action="66666.asp" onsubmit="return FrontPage_Form1_Validator(this)" language="JavaScript" name="FrontPage_Form1">
  <p align="left">
<font face="Times New Roman">- hvad har det kostet sammenlagt pr. pilot, at lave
analyser ?</font></p>
  <p>
  <b><font face="Times New Roman"><br>
  Pilot:</font></b><br>
  <font face="Arial" size="2">
    <!--webbot bot="Validation" s-display-name=" " s-data-type="String" b-allow-letters="TRUE" s-allow-other-chars="? &amp;" --><input type="text" name="soeg" value="<% = soeg%>" size="20">
<input type="submit" name="Submit" value="Søg"></font></td>

    </p>
</form>



<table style="border-left-color: #000000; border-top-color: #000000" cellspacing="0" bordercolorlight="#000000" bordercolordark="#000000" border="1" cellpadding="0">

<tr>
  <th width="1300" valign="top" colspan="10" bgcolor="#CCFFCC">
  <p align="left">
  <b>Søgeordet <font color="#CC0000"><% = soeg%></font> giver <font color="#CC0000"><% = antal%></font>
  </b></th>
  </tr>

<tr>
  <td valign="top" bgcolor="#C0C0C0" align="center"><font size="2"><b>Pilot</font></b></td>
  <td valign="top" bgcolor="#C0C0C0" align="center"><font size="2"><b>SamletPris</font></b></td>

</tr>


<%
While NOT list.EOF
%>

<td valign="top"><font size="2"><% = list.Fields("Pilot")%>&nbsp;</font></td>
<td valign="top"><font size="2"><% = list.Fields("SamletPris")%>&nbsp;</font></td>

</tr>

<%
list.MoveNext
Wend
%>

<tr>
  <th width="1300" valign="top" colspan="10" bgcolor="#CCFFCC">
  <p align="right">
  &nbsp;&nbsp;</th>
  </tr>

</table>

</form>

</font>

<p align="center">&nbsp;</p>

</b>

</body>
</html>

<%
list.close
set list = nothing
%>
Avatar billede thomashansen Nybegynder
21. maj 2006 - 15:38 #22
Avatar billede kjulius Novice
21. maj 2006 - 15:45 #23
Først, hvad betyder denne linie?

temp = sum.fields("temp")

Så vidt jeg kan se, er der ingen felter ved navn "temp". Den skal vist bare slettes, tror jeg.

Dernæst, der hvor du udlæser sumtallet, skal du referere til objektet sum i stedet for list.
Avatar billede thomashansen Nybegynder
21. maj 2006 - 15:59 #24
OK, jeg har nu implementeret ovenstående og siden vises, men prøv at klikke på de 2 link´s:

http://www.hybenvang.dk/SpecialeLogbog/6.asp jeg vil gerne have sammentællingen i sammenhæng med de individuelle tal

http://www.hybenvang.dk/SpecialeLogbog/66666.asp

Jeg vil gerne give flere point´s
Avatar billede thomashansen Nybegynder
21. maj 2006 - 16:04 #25
Øhh jeg jeg er ved at have den, jeg overså endnu en gang noget - hæng på jeg sender forhåbentligt sanrt noget der virker
Avatar billede thomashansen Nybegynder
21. maj 2006 - 16:17 #26
Så: http://www.hybenvang.dk/SpecialeLogbog/66666.asp

Her er koden:

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Anvendelse</title>
</head>

<%@LANGUAGE="VBSCRIPT"%>

<!--#include file="dbconnect.asp" -->

<%
soeg = Request.QueryString("soeg")
If soeg = "" Then
    soegestreng = "'%'"
Else
    soegestreng = "'%" & soeg & "%'"
End If

Set list = Server.CreateObject ("ADODB.Recordset")
list.Open "SELECT [08Pilot].Pilot, [24KalibreringsKomponent].KalibreringskomponentPris AS Pris FROM 24KalibreringsKomponent INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [24KalibreringsKomponent].ID_Kalibreringskomponent = [26Log].ID_Kalibreringskomponent UNION ALL SELECT [08Pilot].Pilot, [12Forsyningsmedie].ForsyningsmediePris FROM 12Forsyningsmedie INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [12Forsyningsmedie].ID_Forsyningsmedie = [26Log].ID_Forsyningsmedie UNION ALL SELECT [08Pilot].Pilot, [15Reservedel].ReservedelPris FROM 08Pilot INNER JOIN ((04Model INNER JOIN 00Apparat ON [04Model].ID_Model = [00Apparat].ID_Model) INNER JOIN 15Reservedel ON [04Model].ID_Model = [15Reservedel].ID_Model) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot WHERE ((([08Pilot].Pilot) LIKE " & soegestreng & " )) ", Conn

Set sum = Server.CreateObject ("ADODB.Recordset")
sum.Open "SELECT 'Ialt:' AS pilot, SUM(pris) as samletpris FROM (SELECT [08Pilot].Pilot, [24KalibreringsKomponent].KalibreringskomponentPris AS Pris FROM 24KalibreringsKomponent INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [24KalibreringsKomponent].ID_Kalibreringskomponent = [26Log].ID_Kalibreringskomponent UNION ALL SELECT [08Pilot].Pilot, [12Forsyningsmedie].ForsyningsmediePris FROM 12Forsyningsmedie INNER JOIN (08Pilot INNER JOIN (00Apparat INNER JOIN 26Log ON [00Apparat].ID_Apparat = [26Log].ID_Apparat) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot) ON [12Forsyningsmedie].ID_Forsyningsmedie = [26Log].ID_Forsyningsmedie UNION ALL SELECT [08Pilot].Pilot, [15Reservedel].ReservedelPris FROM 08Pilot INNER JOIN ((04Model INNER JOIN 00Apparat ON [04Model].ID_Model = [00Apparat].ID_Model) INNER JOIN 15Reservedel ON [04Model].ID_Model = [15Reservedel].ID_Model) ON [08Pilot].ID_Pilot = [00Apparat].ID_Pilot WHERE ((([08Pilot].Pilot) LIKE " & soegestreng & " ))) as temp", Conn
samletpris = sum.fields("samletpris")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
%>


<html>
<head>
<title>Anvendelse</title>
</head>

<body bgcolor="#FFFFCC">

<tr><td bgcolor="#999999">
<div align="center">&nbsp;</div>
<div align="center">&nbsp;</div>
<div align="center"><b><font face="Times New Roman" size="5">Søgning</font></b></div>
</td></tr>

<tr><td bgcolor="#CCCCCC">

<form method="GET" action="66666.asp" onsubmit="return FrontPage_Form1_Validator(this)" language="JavaScript" name="FrontPage_Form1">
  <p align="left">
<font face="Times New Roman">- hvad har det kostet sammenlagt pr. pilot, at lave
analyser ?</font></p>
  <p>
  <b><font face="Times New Roman"><br>
  Pilot:</font></b><br>
  <font face="Arial" size="2">
    <!--webbot bot="Validation" s-display-name=" " s-data-type="String" b-allow-letters="TRUE" s-allow-other-chars="? &amp;" --><input type="text" name="soeg" value="<% = soeg%>" size="20">
<input type="submit" name="Submit" value="Søg"></font></td>

    </p>
</form>



<table style="border-left-color: #000000; border-top-color: #000000" cellspacing="0" bordercolorlight="#000000" bordercolordark="#000000" border="1" cellpadding="0">

<tr>
  <th width="1300" valign="top" colspan="2" bgcolor="#CCFFCC">
  <p align="left">
  <b>Søgeordet <font color="#CC0000"><% = soeg%></font> giver <font color="#CC0000">
  </b></th>
  </tr>

<tr>
  <td valign="top" bgcolor="#C0C0C0" align="center"><b><font size="2">Pilot</font></b></td>
  <td valign="top" bgcolor="#C0C0C0" align="center"><b><font size="2">SamletPris</font></b></td>

</tr>

<tr>

  <td valign="top" bgcolor="#C0C0C0" align="center"><font size="2"></b>&nbsp;</td>
  <td valign="top" bgcolor="#C0C0C0" align="center"><font size="2"><font color="#CC0000"><% = samletpris%></font>&nbsp;kr.</td>

</tr>


<%
While NOT list.EOF
%>

<td valign="top"><font size="2"><% = list.Fields("Pilot")%>&nbsp;</font></td>
<td valign="top"><font size="2"><% = list.Fields("Pris")%>&nbsp;</font></td>

</tr>

<%
list.MoveNext
Wend
%>

<tr>
  <th width="1300" valign="top" colspan="2" bgcolor="#CCFFCC">
  <p align="right">
  &nbsp;&nbsp;</th>
  </tr>

</table>

</form>

</font>

<p align="center">&nbsp;</p>

</b>

</body>
</html>

<%
list.close
set list = nothing
%>
Avatar billede thomashansen Nybegynder
21. maj 2006 - 16:18 #27
Ja, du må gerne lægge et svar og tak for hjælpen.

Jeg har faktisk endnu et spørgsmål så jeg opretter snart endnu en beregning fra samme opgave - MEN TAK for nu
Avatar billede kjulius Novice
21. maj 2006 - 16:21 #28
Ingen årsag :-)
Avatar billede kjulius Novice
21. maj 2006 - 16:23 #29
Du mangler vist forresten at lukke dit sum recordsæt, gør du ikke?
Avatar billede thomashansen Nybegynder
21. maj 2006 - 16:28 #30
Joh, jeg har lukket dem begge nu:

<%
list.close
set list = nothing

sum.close
set sum = nothing
%>
Avatar billede kjulius Novice
21. maj 2006 - 16:31 #31
For en god ordens skyld bør du også lukke din connection (jeg går ud fra, at den bliver åbnet i den fil du importerer). Ellers kan du risikere pludselig at løbe ind i en fejl, som kan være svær at finde, fordi den kun dukker op nogle gange.
Avatar billede thomashansen Nybegynder
21. maj 2006 - 16:38 #32
Hvordan skriver du det ?
Avatar billede kjulius Novice
21. maj 2006 - 16:42 #33
conn.close
set conn = nothing
Avatar billede thomashansen Nybegynder
21. maj 2006 - 16:45 #34
TAK
Avatar billede thomashansen Nybegynder
23. maj 2006 - 15:00 #35
Jeg ved, at dette spørgsmål er besvaret, men jeg har oprettet et nyt (men lidt tilsvarende dette) hvis man har mod på mere: http://www.eksperten.dk/spm/710862
Avatar billede thomashansen Nybegynder
23. maj 2006 - 15:01 #36
- ja og jeg har endnu ikke fået nogle forslag...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester