webForumDet fria alternativet

Ordning på kod

ASP

2 svar · 243 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Frågan#1

Hej! :e

Jag har följande kod i html... I denna ska jag hämta uppgifter från en databas mha asp...

Jag har dock ett litet problem.... koden är rätt men jag tycker det blir i fel ordning....
Det som är fetmarkerat i koden är ju en summering men det kommer ju INNAN jag loopar ut raderna från databasen.

Då har jag ju inget värde på iTotalSumMtrl som genereras när jag loopar ut datat från Databasen....

Hur kan man göra?

Mvh
henrik

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html lang="sv">
<head>
<title>Arbetsorder</title>
 <style type="text/css">
   .copy { page-break-before:always; }
   .company { margin:0; font-size:200%; position:absolute; left:10px; }
   .header { margin-left:49.9%; }
   h1 { font-size:100%; }
   dl { float:left; width:49.9%; }
   dd { float:left; }
   dt { clear:left; }
   table { width:100%; clear:left; border-collapse:collapse; } 
   th { text-align:left; }
   td { vertical-align:top; }
   thead th { border-bottom-style:solid; border-bottom-color:#000000; border-bottom-width:thin }
   html { font-family:Arial, sans-serif; font-size: 10pt;}
  </style>
</head>
<%
Dim objConn, objRS, iTaskId

iTaskId = cint(request.Cookies("Task")("TaskId"))

'Öppna databas
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DSN=uppdragNu"
objConn.Open 

'Hämta värden för aktuellt uppdrag
sSQL = 	"SELECT tblTask.TaskNr, tblTask.Task, tblTask.createdBy, tblTask.planStartDate, tblTask.planStopDate, tblTask.User, tblCustomer.CustomerNr, " &_
		"tblCustomer.Name, tblCustomer.Ref, tblCustomer.address, tblCustomer.Phone " &_
		"FROM tblCustomer " &_ 
		"INNER JOIN tblTask ON tblCustomer.CustomerNr = tblTask.CustomerNr " &_
		"WHERE tblTask.Id = " & iTaskId & ""

Set objRS = objConn.Execute(sSQL)

If not objRS.EOF then
'Värdena hämtas från databsen och variablerna sätts

sCreatedBy = objRS("createdBy")
sTaskNr = objRS("TaskNr")
dPlanStartDateTime = objRS("planStartDate")
dPlanStopDateTime = objRS("planStopDate")
sUser = objRS("User")
sCustomerNr = objRS("CustomerNr")
sCustomerName = objRS("Name")
sCustomerRef = objRS("Ref")
sAddress = objRS("address")

dPlanStartDate = FormatDateTime(dPlanStartDateTime, 2)
dPlanStopDate = FormatDateTime(dPlanStopDateTime, 2)
dPlanStartTime = FormatDateTime(dPlanStartDateTime, 4)
dPlanStopTime = FormatDateTime(dPlanStopDateTime, 4)
End If
	
objRS.Close
Set objRS = Nothing
%>
<body>
  <div class="original">
   <div class="header">
    <p class="company"><img src="Images/Sydostel_logga_2.gif" width="160" height="74"></p>
    <h1>Arbetsorder</h1>
    <dl class="number">
     <dt>Nummer</dt>
     <dt>3</dt>
    </dl>
    <dl class="date">
     <dt>Datum</dt>
     <dt>2005-04-01</dt>
    </dl>
   </div>
   <dl><dt>&nbsp;</dt>
    </dl>
   <table>
     <tbody>
       <tr>
         <th width="16%">Uppdragstyp:</th>
         <td width="33%">Installation</td>
         <th width="12%">Kundnummer:</th>
         <td width="39%">123</td>
       </tr>
       <tr>
         <th>&nbsp;</th>
         <td>&nbsp;</td>
         <th>Referens:</th>
         <td>OLLE</td>
       </tr>
       <tr>
         <th>Telefon:</th>
         <td>0455-453786</td>
         <th>Kund:</th>
         <td rowspan="3"><p>Henrik Lindell<br>
           Box 63<br>
         </p></td>
       </tr>
       <tr>
         <th>Fax:</th>
         <td>0455-51017</td>
         <th>&nbsp;</th>
       </tr>
       <tr>
         <th>&nbsp;</th>
         <td>&nbsp;</td>
         <th>&nbsp;</th>
       </tr>
     </tbody>
   </table>
   <br>
   <table>
    <thead>
     <tr>
      <th>Artnr</th>
      <th>Benämning</th>
      <th>Lev ant</th>
      <th>Enh</th>
      <th>à-pris</th>
      <th>Summa</th>
     </tr>
    </thead>
    <tfoot>
     [b]<tr>[/B]
      [b]<th>Netto</th>[/B]
      [b]<th>Exkl moms</th>[/B]
      [b]<th>Moms %</th>[/B]
      [b]<th>Moms kr</th>[/B]
      [b]<th>Öresavr</th>[/B]
      [b]<th>ATT BETALA</th>[/B]
     [b]</tr>[/B]
     [b]<tr>[/B]
      [b]<td>6 250,00</td>[/B]
      [b]<td>6 250,00</td>[/B]
      [b]<td>25</td>[/B]
      [b]<td>1 562,50</td>[/B]
      [b]<td>0,50</td>[/B]
      [b]<td>7 813,00</td>[/B]
     [b]</tr>[/B]
    </tfoot>
    <tbody>
<%
'Hämta material kopplat till uppdraget
sSQL = "SELECT * FROM tblMaterial WHERE TaskId = " & iTaskId
Set objRS = objConn.Execute(sSQL)

If not objRS.EOF then
	Do until ObjRS.EOF
		sArtNr = objRS("ArtNr")
		sArtName = objRS("ArtName")
		sUnit = objRS("Unit")
		sArtName = objRS("ArtName")
		iAmount = cInt(objRS("Amount"))
		iPrice = clng(objRS("Price"))
		
		iRowTotalMtrl = iAmount * iPrice
		iTotalSumMtrl = iTotalSumMtrl + iRowTotalMtrl
		%>
		 <tr>
			<td width="100" valign="top"><p><% =sArtNr %></p></td>
			<td width="453" valign="top"><p><% =sArtName %></p></td>
			<td width="130" valign="top"><p><% =iAmount %></p></td>
			<td width="132" valign="top"><p><% =sUnit %></p></td>
			<td width="115" valign="top"><p><% =FormatCurrency(iPrice) %></p></td>
			<td width="190" valign="top"><p><% =FormatCurrency(iRowTotalMtrl) %></p></td>
  		 </tr>
		<%
	objRS.Movenext 
	Loop
End If

objRS.Close
Set objRS = Nothing
%>
    </tbody>
   </table>
   <p>Använd gärna Bankgiro!</p>
   <table>
    <tbody>
     <tr>
      <th>Adress</th>
      <th>Telefon</th>
      <th>Postgiro</th>
      <th>Internet</th>
     </tr>
     <tr>
      <td rowspan="5">Träsmedsvägen 13<br>
      370 42 TORHAMN</td>
      <td rowspan="3">0708-359428</td>
      <td>4022058-4</td>
      <td>www.lindell-aberg.com</td>
     </tr>
     <tr>
      <th>Bankgiro</th>
      <th>e-post</th>
     </tr>
     <tr>
      <td>5132-1263</td>
      <td>henrik@lindell-aberg.com</td>
     </tr>
     <tr>
      <th>Företagets säte</th>
      <th>Organisationsnr</th>
      <th>Momsreg.nr</th>
     </tr>
     <tr>
      <td>Torhamn</td>
      <td>740811-3376</td>
      <td>SE740811337601<br>
      Innehar F-skattebevis</td>
     </tr>
    </tbody>
   </table>
  </div>
</body>
</html>
Medlem sedan dec. 19996 721 inlägg
#2

Det finns ett gäng alternativ:

1. Plocka ut dina summeringsvärden i en separat SQL-fråga (med SUM etc.)
2. Ackumulera all HTML för de vanliga tabellraderna till en strängvariabel, och lägg till den efter tfoot
3. Strunta i tfoot och använd en vanlig tr, med en egen css-klass om du vill.

Medlem sedan jan. 20013 582 inlägg
#3

Aha!

Ska testa lite!

Återkommer....

Mvh
Henrik

272 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
139 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
140 ms — ändringar (db)