webForumDet fria alternativet

Få ut datat i min ordning utan dubletter?

ASP

2 svar · 251 visningar · startad av solbulle

Medlem sedan mars 20015 287 inlägg
Frågan#1

Nu har det slagit helt slint,

Jag har en sqlfråga som ger mig en array innehållandes namn, yrke o arbetsplats.
(Med data från flera tabeller "genom" eb relationstabell.

<%
Set connect = Server.CreateObject("ADODB.Connection")
connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db1.mdb")

'denna tar ut all textinfo o lägger i en array. Tar ej ut någon info om det saknas någon post.
SQL = "SELECT tblforetag.foretag, tblperson.person, tblyrke.yrke FROM tblforetag inner JOIN (tblyrke INNER JOIN (tblperson INNER JOIN tblsamband ON tblperson.idnr = tblsamband.person) ON tblyrke.idnr = tblsamband.yrke) ON tblforetag.idnr = tblsamband.foretag where tblforetag.idnr =1"

set rs = connect.execute(SQL)

found = not rs.eof
if found then

allaFields=rs.getrows

	ant_inlagg = ubound(allaFields,2)

For i = 0 to ant_inlagg
for t = 0 to ubound(allaFields,1)

'Response.write rs.Fields(t).Name & "    "
response.write allaFields(t,i) & "<br>"
'response.write "t,i= " & t & "," & i & "<br>"

Next
Response.write "------<br>" 				'Nytt varv
Next

End If

	rs.close
	set rs = nothing
	connect.Close
	set connect = nothing
%>

Hyr gör jag för att visa resultatet på en sida?
Om jag bara loopar ut innehåller som nu blir det:

Bygg AB
Kalle
Snickare
------
Bygg AB
Anders
Nagelbitare
------
Bygg AB
Lotta
Snickare

Men jag vill ju kunna typ överst kunna skriva företagets namn och sen lista alla yrkeskategorier typ:

Bygg AB

Snickare
Kalle
Lotta

Nagelbitare
Anders

Hur attans gör jag det!?!
Är jag fel ute när jag lägger det hela i en array?

Med vanliga recordset fixar jag det inte heller...

<%
Set connect = Server.CreateObject("ADODB.Connection")
connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db1.mdb")

'denna tar ut all textinfo. Tar ej ut någon info om det saknas någon post.
SQL = "SELECT tblforetag.foretag, tblperson.person, tblyrke.yrke FROM tblforetag inner JOIN (tblyrke INNER JOIN (tblperson INNER JOIN tblsamband ON tblperson.idnr = tblsamband.person) ON tblyrke.idnr = tblsamband.yrke) ON tblforetag.idnr = tblsamband.foretag where tblforetag.idnr =1"

set rs = connect.execute(SQL)

found = not rs.eof
if found then

response.write rs("foretag")

response.write "<p>"
WHILE NOT rs.EOF

response.write rs("yrke")
response.write "<p>"
response.write rs("person")

response.write "<p>"
rs.movenext
wend

End If
	rs.close
	set rs = nothing
	connect.Close
	set connect = nothing
%>
Medlem sedan dec. 200012 464 inlägg
#2
SQL = "SELECT tblforetag.foretag, tblperson.person, tblyrke.yrke FROM tblforetag inner JOIN " &_
" (tblyrke INNER JOIN (tblperson INNER JOIN tblsamband ON tblperson.idnr = tblsamband.person) ON tblyrke.idnr = tblsamband.yrke) ON tblforetag.idnr = tblsamband.foretag " &_
"where tblforetag.idnr =1 order by tblforetag.foretag,tblyrke.yrke "
set rs = connect.execute(sql)
pforetag = ""
while not rs.eof
  if  pforetag <> rs("foretag") then
      pforetag = rs("foretag")
      response.write pforetag & "<br>"
      pyrke = ""
  end if
  if  pyrke <> rs("yrke") then
      pyrke = rs("yrke")
      response.write pyrke & "<br>"
  end if
  response.write rs("person")
  rs.movenext
wend
Medlem sedan mars 20015 287 inlägg
#3

Lysande, fungerar perfekt! :)

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)