Avatar billede Jman Praktikant
25. april 2002 - 13:30 Der er 7 kommentarer og
3 løsninger

samle recordsets til en - der er kun en post der varierer

Hvordan gør man hvis man eksempelvis på en søgning får 10 poster, hvor alle sammen er ens på nær et enkelt felt. Jeg vil gerne - i stedet for 10 records - have en en record, men hvor det ene felt der varierer for hver record samledes med kommaseparering ... ?
Avatar billede delle29 Nybegynder
25. april 2002 - 14:10 #1
er det fra en db ?
Avatar billede Jman Praktikant
25. april 2002 - 14:10 #2
yeps
Avatar billede delle29 Nybegynder
25. april 2002 - 14:13 #3
Pga. så kan du da bare gøre sådan her :

strSQL = "Select * From TABEL Where(Værdi1 = Værdi1 AND Værdi2 = Værdi2)"
Set rs = Conn.Execute(strSQL)
If Not (rs.BOF OR rs.EOF) Then
strV1 = rs("Værdi1")
strV2 = rs("Værdi2")
End If

eller sådan noget
Avatar billede Jman Praktikant
25. april 2002 - 14:50 #4
eller sådan noget ??  :o?
Avatar billede soes Nybegynder
25. april 2002 - 16:06 #5
er der nogle værdier der skal sammenlignes med?

/Søren Søndergård
Avatar billede coltau Juniormester
25. april 2002 - 16:26 #6
Det kan ikke gøres i en SQL-sætning. Men denne her måde kan evt. anvendes:

Hvis der er 3 felter og felt1 og felt2 er ens og felt3 er forskellig kan det gøres således:

' Hent alle sorteret efter felt1, felt2
SQL = "select * from tabelnavn order by felt1, felt2"
' Åbn SQL

strLast = RS("felt1") & RS("felt2")
strFelt3 = ""
do while not RS.EOF ' Gennemløb alle
  strChk = RS("felt1") & RS("felt2")
  if strChk <> strLast then ' Udskriv når felt1 og felt2 er forskellige fra forrige
    Response.Write(strLast & " felt3:" & strFelt3)
    strLast = strChk
    strFelt3 = ""
  else
    if strFelt3 <> "" then ' Sammensæt felt3 adskildt af komma
      strFelt3 = strFelt3 & ","
    end if
    strFelt3 = strFelt3 & RS("felt3")
  end if
  RS.MoveNext 
Loop
Response.Write(strLast & " felt3:" & strFelt3)
Avatar billede delle29 Nybegynder
25. april 2002 - 20:13 #7
Det jeg mener er bare at hvis du vil lave noget hvor man sepererer med et komma, så bliver det langt mere indviklet og avanceret end det behøver at være.
Avatar billede delle29 Nybegynder
27. april 2002 - 09:43 #8
Mit forslag er i hvert fald at du laver det sådan her :

'Jeg ved jo ikk', hvad dine felter hedder så her er det værdi1 og 2.
strSQL = "Select * From TABEL Order By Værdi1"
Set rs = Conn.Execute(strSQL)
'laver en løkke der består af strV1 alle dem som er ens(er lig med Værdi1)
'samt består af strV2 der er den enkelte/eller flere der er = Værdi2.
If Not (rs.BOF OR rs.EOF) Then
strV1 = rs("Værdi1")
strV2 = rs("Værdi2")
End If

Do
'skriv udfaldet af værdi1 og derefter værdi2
Response.Write " & strV1 & "<br>" & strV2 & "
rs.MoveNext
Loop While Not rs.EOF

Sådan kan det i hvert fald også gøres.
Avatar billede Jman Praktikant
29. april 2002 - 13:07 #9
hmm - jeg er helt rund i hovedet af at prøve at få det ind i min query..
Den ser således ud:
-------------
<% If Request.Querystring ("Ordrenummer") > "0" Then %>
<%
Set dbOracle = CreateObject("ADODB.Connection")
get_adno = request.querystring ("ordrenummer")
strConn = "DATABASEN"
dbOracle.Open strConn
strSQL = "Select distinct(a.adno), p.pdate, a.iremarks, p.colour, p.xsize, p.ysize, p.paper, a.ad_type, p.prmethod, p.ready, a.maker, a.salno, p.modifier, p.remarks, p.adrno, a.adrname, a.adrtel, a.receiver FROM pub p, ad a WHERE p.adno=a.adno AND a.adno='"&get_adno&"'"
Set rsOracle = CreateObject("ADODB.Recordset")
rsOracle.Open strSQL, dbOracle
%>
-------------
Her kalder jeg en indtastet ordrenummer (get_adno) og lister alle informationerne om denne ordre.
Så brager den derudaf med informationerne, men den laver en ny tabel for hver p.paper der er i databsen (da denne er forskellig fra alle de andre felter).
Jeg ville gerne have vist informationerne i én tabel, men hvor p.papaer sættes efter hindanden.
Avatar billede Jman Praktikant
01. maj 2002 - 12:28 #10
lukker - I får lidt point for forsøget (jeg ved ikke om Jeres forslag virker eller om det er mig der er spasser til asp)
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
Kurser inden for grundlæggende programmering

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