Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem: Fixar inte en kod i ASP som tar fram fyra unika poster via slump funkti

Postades av 2008-01-18 01:13:51 - Kristian Larsson, i forum asp - allmänt, Tråden har 6 Kommentarer och lästs av 968 personer

Hej!

Jag har en tabell i Access som innehåller en massa poster. Från denna tabellen vill jag slumpa fram 4 unika rs men jag har efter 3 timmar gett upp - får helt enkelt inte till det. Om någon vänlig själ kan skriva en kod som funkar i en ASP sida med en loop så hade det varit kanon.

Jag har följande rs

IID = Unikt ID (räknare)
QID = Antal poster i tabellen (berättar att det finns exempelvis 142 recordset)
TXT = Värdet jag vill använda när jag skriver ut recordset

Jag hade tänkt mig något sånt här:

SQL = "Select Top 4 from TABELL ....(sen vet jag inte hur koden ska se ut)"
rs.Open SQL, MinCon
While NOT rs.EOF
'kod för att skriva ut recordset
rs.MoveNext
Wend
rs.Close

Igen tack för ett verkligen bra forum (sajt) - har lärt mig mycket här - men detta blev för svårt...

Trevlig helg! /Kristian


Svara

Sv: Problem: Fixar inte en kod i ASP som tar fram fyra unika poster via slump fu

Postades av 2008-01-18 09:22:47 - Chris Klug

Vet inte om det funkar i Access, men i SQL kan man skriva följande:

Select Top 4 * from TABELL order by NEWID()


Svara

Sv:Problem: Fixar inte en kod i ASP som tar fram fyra unika poster via slump fu

Postades av 2008-01-18 09:41:40 - Benni Svensson

Nej det fungerar tyvärr inte för Access, men här följer något som fungerar.
Jag visar koden som jag har byggt upp den med en del subbar.
<code>
sql="SELECT id, slumpBild FROM t_slumpBild ORDER BY id" 'SQL
CALL MakeRecordSet(RS,sql,connection) 'Jag har en sub för att kunna kalla upp på vilken sida som helst.
CALL GenereaSlump("Bild",RS)' sen har jag gjort en subb för denna med
'SUBBAR OBS i detta fal så har jag skickat med agrumentet Bild, då slumpar den bram ur mina bilder.
'När man skickar med Text, så slumpar den fram text. Det går lätt att ändra så att du får enbart 'ID om du vill

Sub MakeRecordSet(rec,sql,con)
Set rec = Server.CreateObject("ADODB.Recordset")
rec.open sql,con,3,1,1
End Sub

SUB GenereaSlump(wath,rec)
Dim arrData ' Array to Store Data
Dim arrSequencer ' Array to Hold Random Sequence
Dim iArrayLooper ' Integer for Looping
Dim iArraySize ' Size of Data Array
Dim strVariabel,i
arrData = RS.GetRows
RS.close
Set RS = Nothing
iArraySize = CLng((Ubound(arrData, 2) - LBound(arrData, 2))) '+ 1

Randomize
i = CInt(Int((iArraySize * Rnd()) + 1))
strVariabel = arrData(1, i)
if wath = "Bild" then
response.write "<img src=""Bild/slumpBild/" & strVariabel & """ border=""0"" ALLT=""SAW-Bild"" height=""100"">"
elseif wath = "Text" then
response.write strVariabel
end if

END SUB


</code>
Jag hoppas att detta kan hjälpa dig.
[REDIGERAT]
Jag kom på det nu att här får du bara fram en post.


Svara

Sv: Problem: Fixar inte en kod i ASP som tar fram fyra unika poster via slump fu

Postades av 2008-01-18 11:20:09 - Martin Adrian

Vet inte exakt hur man gör det i access men principen är att du lägger till ett beräknat fält som innehåller rnd och sen sorterar på detta.

ungefär:

SELECT TOP 4 field1, RND() As RandomField
FROM tabell
ORDER BY RandomField


Svara

FIXAT: en kod i ASP som tar fram fyra unika poster via slump

Postades av 2008-01-19 11:45:56 - Kristian Larsson

Efter en massa knep och knåp fick jag ihop en kod som fungerar. Den tar fram 4 unika poster via slump och den är kanske inte den bästa rent programeringstekniskt (går säkert att göra bättre och jag är nybörjare) men den fungerar.

Förklaring:
TABELL1 innehåller bara en post som anger antalet poster i TABELL2
TABELL2 har ett ID fält som är räknare...

<%
Dim PiQ, RnR(3), SnR(3)

SQL = "SELECT * from TABELL1"
rs.open SQL, MinCon
PiQ = rs("ANTAL")
rs.Close

Randomize
RnR(0) = Int(((([PiQ]+1)*Rnd())+1)-1)
WHILE RnR(0) = 0
Randomize
RnR(0) = Int(((([PiQ]+1)*Rnd())+1)-1)
WEND

Randomize
RnR(1) = Int(((([PiQ]+1)*Rnd())+1)-1)
WHILE RnR(1) = RnR(0) OR RnR(1) = 0
Randomize
RnR(1) = Int(((([PiQ]+1)*Rnd())+1)-1)
WEND

Randomize
RnR(2) = Int(((([PiQ]+1)*Rnd())+1)-1)
WHILE RnR(2) = RnR(1) OR RnR(2) = RnR(0) OR RnR(2) = 0
Randomize
RnR(2) = Int(((([PiQ]+1)*Rnd())+1)-1)
WEND

Randomize
RnR(3) = Int(((([PiQ]+1)*Rnd())+1)-1)
WHILE RnR(3) = RnR(0) OR RnR(3) = RnR(1) OR RnR(3) = RnR(2) OR RnR(3) = 0
Randomize
RnR(3) = Int(((([PiQ]+1)*Rnd())+1)-1)
WEND

'Sen öppnar jag databasen varje gång jag vill ha fram uppgifterna som ska användas

SQL = "SELECT * from TABELL1 WHERE ID = " & RnR(0) & ""
rs.open SQL, MinCon
RnR(0) = rs("TEXT")
SnR(0) = rs("FILNAMN_PÅ_BILD")
rs.Close

SQL = "SELECT * from TABELL1 WHERE ID = " & RnR(1) & ""
rs.open SQL, MinCon
RnR(1) = rs("TEXT")
SnR(1) = rs("FILNAMN_PÅ_BILD")
rs.Close

SQL = "SELECT * from TABELL1 WHERE ID = " & RnR(2) & ""
rs.open SQL, MinCon
RnR(1) = rs("TEXT")
SnR(1) = rs("FILNAMN_PÅ_BILD")
rs.Close

SQL = "SELECT * from TABELL1 WHERE ID = " & RnR(3) & ""
rs.open SQL, MinCon
RnR(1) = rs("TEXT")
SnR(1) = rs("FILNAMN_PÅ_BILD")
rs.Close

%>
______________________________

Sen är det bara att använda variablerna... Exempel:

<tr>

<td>
<%=SnR(0)%>">
<img src="<%=RnR(0)%>">
</td>

<td>
<%=SnR(1)%>">
<img src="<%=RnR(2)%>">
</td>

</tr>

och så vidare... :-)


Svara

Sv: Problem: Fixar inte en kod i ASP som tar fram fyra unika poster via slump fu

Postades av 2008-01-19 15:37:22 - Anna-Karin Söderberg

strSQL = "SELECT TOP 2 ArtNo, katID, item, price, bildnamn, thumbnail, Descr, Lager, Antal FROM Produkter ORDER BY RND(ArtNo) ASC;" Så har jag i en SQL sats jag använder. Den fungerar för mig, använder den i en del shopar jag har.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 154
27 952
271 704
740
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies