Ok here is what I'm trying to do. I want to grab a random record from a specific table. This is how I am doing it now:
x = 0
Set rs = Conn.Execute("SELECT Count(*) as total FROM [user] WHERE active = '1'")
If rs.EOF <> True then
total = rs("total")
End if
Randomize timer
randnum1 = int(rnd * total)
If randnum1 = 0 then
randnum1 = 1
End if
rs.close
set rs = nothing
Set rs = Conn.Execute("SELECT * FROM [user] WHERE id = '" & randnum1 & "' ")
Now that would work fine, BUT the id is a autonumber int of 1.
Now look at this example. Let's say I have 50 records, so I have the ID values of 1 through 50. Now I delete record number 46. So now my count goes up to 49. So the random number will pull up ANY number between 1 and 49, so if it pulls up 46 then BAAAM record can not be found.
There has to be an easier/more efficient way of getting a random record. I don't plan on deleting any records, but I just don't feel this is the best way of doing this.
<% Dim oConn, oRS, randNum Randomize() randNum = (CInt(1000 * Rnd) + 1) * -1 Set oConn=Server.CreateObject("ADODB.Connection") Set oRS=Server.CreateObject("ADODB.recordset") oConn.Provider="Microsoft.Jet.OLEDB.4.0" oConn.Open Server.MapPath("temp.mdb")
oRS.Open "SELECT TOP 1 EMAIL_ADDRESS, r = Rnd(" & randNum & ") FROM TABLE1 ORDER BY r", oConn, adOpenStatic, adLockReadOnly
Response.Write oRS("EMAIL_ADDRESS")
oRS.close oConn.close Set oConn = nothing Set oRS = nothing %>
this gives the error: "No value given for one or more required parameters".
what i would really LOVE is for someone to fill in whatever required parameter im missing, but more important i would like to understand whats going on. there are people who go through life dumb and happy once something "works", but i need to understand how and why its working. even if this code did work, im confused with the SELECT statement (no, i dont have much SQL experience aside from basic queries). what is the "r = Rnd" line doing in the middle of the querie? how am i ordering by r?? also, i dont have an indexed, primary "ID" field in this databae. is that ok for this code to work?
I have an access database, and in a table is the field "names". There are over 100 different values in this field. I was wondering if it was possible to connect to the database and randomly select 1 of these names from the field and display it.
I have 30 numbers. I need to select randomly 10 out of the given 30. A number must not repeat ( eg. i can't have number 10 twice ). How can i do this??
I want to select 5 random records from my database..I tried to suft the net and foundout this sql
SELECT TOP (3) Question, Choice1, Choice2, Choice3, Choice4 FROM Question
But when i tried to execute,i t always gave me the most top 2 records. why?Is this sql statement woring?How can i select 5 random records from the database?
I want to create a record set for all the products in my database, i then want to randomly select some of them each time the page loads and display them, these have to change upon each refresh.
any ideas
my final problem i will post seperatly however, heres the score if any has any ideas.
ive created a product database of bikes, they have diferent sizes and colours. at the moment i am having to display each individual record. rather than having a single record and then on the detail page being able to have a dropdown menu or a choice of sizes there?
i have an access database with 5 records in and i need to show them in a random order every time the page is refreshed or reloaded. i've searched round and tryed no end of code but nothing seems to work.
i just need something really simple that selects a random feild from my DB. Sql = "SELECT * FROM tblmain ORDER BY RND()" - ive tryed this and it just shows the results in teh same order.
(the ID field will be the auto incrementing index)
there might be 10 records in the DB, there might be 10,000. i need to open the DB and randomly select a record (and then display the name, which i dont have a problem with)
how can i randomly select a record? im guessing id have to open a recordset and check the count to get the number of records, so lets say there were 100 records. i imagine i would have to generate a random number between 1 and 100....
I have been using this script which basically works fine, with on hitch. I populate a recordset from a database. Then, use the total number of records as a UBound.
I then want to display 9 random records. I get my 9 random images, but for some reason, if I do a sort by ID on the database, the lowest numbered ID file never comes up in the list. Here is my code: Code:
I'm trying to create a piece of code that randomly selects a record from a database (providing the record has not already been chosen for any of the previous 4 sections). Here is my code:
This is my problem. I am adding to a table called Case the details of a case.Now the primary key for that, is an ID which is generated automatically by the DB.
I also have two relational tables related to the Case table, so I need to add records there. For this I need the case_id just generated by the database when I added the case. What would be a good way to get that case_id?
I also need the case_id, because the interface to add info to the case table is spread across two tables, so when the user goes to the first page and "saves and continues" I want to store the case_id for the second interface page.If I select all the records from case, would I select the newest record first or would it be the last?
Say I have a field containig some text, for example: The quick brown fox jumped over the fence. How do I only show the first 4 words of the sentance, i.e: The quick brown fox...
I want to select a random record from a table within my Access database, however I am running into problems. When the page is executed, it always shows the same record. Code:
cmdTemp.CommandText = "Select * From users" cmdTemp.CommandType = 1 Set cmdTemp.ActiveConnection = DataConn
rstContacts.Open cmdTemp, , 1, 3
rstContacts.Move CLng(Request("Record"))
i only want this command to display from the users table the details of the user that has the username (from the database) equal to the username of the person who has just logged in from my login form (uname input box) this code at the moment displays the first record, i dont want that.
However, what I want to do is include a request.querystring("ID"), so that IF an ID is defined, eg ID=3, , it will display the relevant (not random) information. I've tried this every way I can think and get type mismatches, etc etc. It's probably really simple but I can't see it.
We have the need to have a random token (a 16 char alphanumeric field) to be used as the key for one of our SQL tables. I have created a random token generator, however after only 3 months in production, it appears that we had an instance where a token that already existed in the tables was created. There are 3810 records currently in the database so it isn't like there are billions of records there.
I contacted an old college buddy of mine who is a mathematician, and he claims, assuming that random really does mean random, that the chances of getting a duplicate token are 1 in 79.5 septillion (79,500,000,000,000,000,000,000,000).
So my conclusion is that this was either a complete freak of nature occurance, or my random generator isn't really all that random. Here is the code behind how I am generating this: Code:
I am trying to generate a random number. I am using randomize and then rnd to return a decimal number between 100 and 120. This will give me a longitude. I am doing something similar to generate a latitude.
I created this on a page which refreshs every minute. I put these points into a map and they are showing up in groups of straight lines. Since rnd is time based will refreshing every 60 seconds return similar numbers?
I have an insert record form that posts fine to a db which automatically creates an ID how could I get the next page to do a preview using the ID just created by the DB to go to the right record?
I have a .asp page which lists a date, then a bunch of record lines for data that falls within that date, then the next date and it's bunch of data record lines. e.g.
Ship Date: 04/06/04
Data xxxxxxxxxxxxxxxxxxxxx Data xxxxxxxxxxxxxxxxxxxxx Data xxxxxxxxxxxxxxxxxxxxx Data xxxxxxxxxxxxxxxxxxxxx
Ship Date: 11/07/04
Data xxxxxxxxxxxxxxxxxxxxx Data xxxxxxxxxxxxxxxxxxxxx Data xxxxxxxxxxxxxxxxxxxxx
What I want is:
Ship Date: 04/06/04
1: Data xxxxxxxxxxxxxxxxxxxxx 2: Data xxxxxxxxxxxxxxxxxxxxx 3: Data xxxxxxxxxxxxxxxxxxxxx 4: Data xxxxxxxxxxxxxxxxxxxxx
Ship Date: 11/07/04
1: Data xxxxxxxxxxxxxxxxxxxxx 2: Data xxxxxxxxxxxxxxxxxxxxx 3: Data xxxxxxxxxxxxxxxxxxxxx
How can I get these numbers printed againsts the records ?
I have written some code which should dynamically build a table which is then populated with questionas and possible answers. The format of the answers will vary ie they may be in the form of a radio button which will be rated from 1-5, checkbox or a selectbox.
The first problem I have is if I do not comment out <select></select> I get an error message saying the page can not be found. when I do take it out I get asp timeout. Code:
Agreed its not the best code, but he is finding that the same image could be repeated like three times in a run.
I have an include file which displays the image, and the random script is placed inside that include. So when he is going from page to page this is where the issue lies.
Can anyone help me out here, is it even possible to have a different image load each time, and not have them repeating.
I am using random number to be used as a unique identifir. Since random numbers are in decimals I am using going to convert it into an integer and since I need to append this Id into my URL, I am converting it into a string. SO my formula looks like this.
CStr(Int((Highest-Lowest+1)*Rnd+Lowest))
S0 now every time a new record is generated would this formula generate a unique number for unique identification in the table. I can't see how it can do it. Say A user is assigned a random number; then another user subscribes so how would the server determines that the random value assigned to next user is not already assigned to any other user.
In case if this can't work (a unique ID for every user) then I'll stick to this very same formula and after the random number is generated, I'll check this number with the table in the database and see whether it's been assigned already. If yes, I'll request another random value, if not then I'll go with it. Is this the right strategy?
I have done random image display with the help suggestion from this discussion form. now I want to provide link on each image. i.e. all the images display randomly, should have different link. is it possible? if yes, how?