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


Slumpa RS

Postades av 2006-10-28 14:32:07 - Uffe Bengtsson, i forum asp - allmänt, Tråden har 6 Kommentarer och lästs av 695 personer

Hallo, jag undrar hur det går till om man vill slumpa fram en post ur denna kodrad
<code>
<%
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source = " & Server.MapPath("MobilNr.xls") & ";" & _
"Extended Properties=""Excel 8.0;HDR=Yes;"";"
FilePath = Server.MapPath("MobilNr")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strConn
Set RS = Conn.Execute("SELECT MobilNr FROM [MobilNr$]")
Do Until RS.EOF
Response.Write RS("MobilNr")
RS.MoveNext
Loop
Set RS = Nothing
Conn.Close
Set Conn = Nothing
%>
</code>


Svara

Sv: Slumpa RS

Postades av 2006-10-28 21:58:29 - Stefan Brännström

Testa

If Not RS.EOF Then
  Randomize
  RS.Move Int(Rnd*RS.RecordCount)+1
  Response.Write RS("MobilNr")
End If

Funkar inte RecordCount så kan du först läsa in antalet poster med ex "SELECT Count(MobilNr) AS Antal FROM [MobilNr$]"


Svara

Sv:Slumpa RS

Postades av 2006-10-28 22:58:05 - Andreas Hillqvist

RecordCount är beroende av cursor. För att det skall funka bör man ha antingen en cursor location lokal eller statisk cursor, har jag för mig.
Annars kan man läsa samtliga id till en array. sedan slumpa fram ett ID och hämta posten. Detta innebär ju två databas anrop.


Svara

Sv: Slumpa RS

Postades av 2006-11-02 17:14:49 - Uffe Bengtsson

Tackar för hjälpen, det blev denne varianten.

<code>
<%
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source = " & Server.MapPath("MobilNr.xls") & ";" & _
"Extended Properties=""Excel 8.0;HDR=Yes;"";"
FilePath = Server.MapPath("MobilNr")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strConn
Set RS = Conn.Execute("SELECT Count(MobilID) AS MobilID FROM [MobilNr$]")

Do Until RS.EOF
Randomize
i = Int(Rnd * RS("MobilID") + 1)
MobilID = i
RS.MoveNext
Loop

Set sRS = Conn.Execute("SELECT * FROM [MobilNr$] Where MobilID =" & MobilID )

Response.Write sRS("MobilID") & vbCRLF
Response.Write sRS("Namn") & vbCRLF
Response.Write sRS("MobilNr")

Set RS = Nothing
Set sRS = Nothing
Conn.Close
Set Conn = Nothing
%>
</code>

Tackar för hjälpen


Svara

Sv:Slumpa RS

Postades av 2006-11-02 20:03:56 - Stefan Brännström

hmmm... varför loopen?
...och vad händer om du tar bort en rad från Excel-listan och det är just detta MobilID som slumpas fram?

<%
  strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                 "Data Source = " & Server.MapPath("MobilNr.xls") & ";" & _
                 "Extended Properties=""Excel 8.0;HDR=Yes;"";"
  FilePath = Server.MapPath("MobilNr")
  Set Conn = Server.CreateObject("ADODB.Connection") 
  Conn.Open strConn 
  Set RS = Conn.Execute("SELECT Count(MobilID) AS MobilID FROM [MobilNr$]")
  Randomize
  i = Int(Rnd * RS("MobilID") + 1)
  Set sRS = Conn.Execute("SELECT * FROM [MobilNr$]")
  RS.Move i
  Response.Write sRS("MobilID") & vbCRLF
  Response.Write sRS("Namn") & vbCRLF
  Response.Write sRS("MobilNr")
  Set RS = Nothing
  Set sRS = Nothing 
  Conn.Close 
  Set Conn = Nothing 
%>


Svara

Sv: Slumpa RS

Postades av 2006-11-02 21:15:44 - Uffe Bengtsson

Testade din variant men där får jag bara fram post MobilID 1, kanske nån liten fnurra bara. Tackar ändå för engagemanget

MVH Uffe


Svara

Sv:Slumpa RS

Postades av 2006-11-02 21:31:54 - Andreas Hillqvist

Om det inte rör sig om så många poster i excel-filen så kanske detta vara en enklare och smidigare lösning:

<%@Language="VBScript" CODEPAGE="65001"%>
<!-- METADATA
	TYPE="TypeLib"
	NAME="Microsoft ActiveX Data Objects 2.6 Library"
	UUID="{00000206-0000-0010-8000-00AA006D2EA4}"
	VERSION="2.6" -->
<%Option Explicit%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
</head>
<body>
<%
Dim rs
Dim con

Dim strCon
Dim FilePath

	FilePath = Server.MapPath("MobilNr.xls")
	strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
	         "Extended Properties=""Excel 8.0;HDR=Yes;"";" & _
	         "Data Source = " & FilePath & ";" 

	Set con = Server.CreateObject("ADODB.Connection") 
	con.Open strCon

	Set rs = Server.CreateObject("ADODB.Recordset") 
	rs.Open "SELECT *" + vbCrLf + _
	        "FROM [MobilNr$]", con, adOpenStatic, adLockReadOnly 	
	If rs.EOF Then
		Respons.Write "<h3>Inga poster!</h3>"
	Else
		Randomize
		rs.Move int(rs.RecordCount * rnd), adBookmarkFirst

		Response.Write rs("MobilID") & vbCRLF
		Response.Write rs("Namn") & vbCRLF
		Response.Write rs("MobilNr") & vbCRLF
	End If	      
	rs.Close
	Con.Close 
%></body>
</html>


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 170
27 953
271 705
709
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