Avatar billede ahh Nybegynder
31. maj 2007 - 18:48 Der er 12 kommentarer og
1 løsning

Tilfældige poster

Jeg har en tabel som indeholde poster med et ID med Autonummerering.

Ud fra ID skal der vælges et bestemt antal tilfældige poster.

Jeg benytter følgen SQL

SELECT TOP 10 [Aflæsning forbruger].IDbruger, Rnd([IDbruger]) AS Udtryk1, [Aflæsning forbruger].Gade, [Aflæsning forbruger].Husnr, [Aflæsning forbruger].Bogstav, [Aflæsning forbruger].Parti, [Aflæsning forbruger].Målernr, [Aflæsning forbruger].År, [Aflæsning forbruger].[Aflæsning 2008], [Aflæsning forbruger].[Ny måler nr], [Aflæsning forbruger].Monteringsdato, [Aflæsning forbruger].[Aflæsnymåler 2008]
FROM [Aflæsning forbruger]
WHERE ((([Aflæsning forbruger].Parti) Between [Angiv Partinummer] And [Angiv Partinummer]))
ORDER BY Rnd([IDbruger]);


og får vist 10 poster hvilket passer. Dette kan jeg også se i en formular.

Jeg vil gerne kunne ændre tallet 10 uden at skulle rette tallet i SQL visningen kan det lade sige gøre eller bygger jeg det forkert op?

Jeg er ikke en "ørn" til dette.
Avatar billede terry Ekspert
31. maj 2007 - 19:36 #1
Here's an example of selecting random records

http://www.mvps.org/access/queries/qry0011.htm
Avatar billede soerenlyn Nybegynder
31. maj 2007 - 19:46 #2
Hvis jeg forstår det korrekt så vil det her måske virke:

------- kode -------
<%
strAntalPoster = 10
strSQL = "SELECT TOP " & strAntalPoster & " [Aflæsning forbruger].IDbruger, Rnd([IDbruger]) AS Udtryk1, [Aflæsning forbruger].Gade, [Aflæsning forbruger].Husnr, [Aflæsning forbruger].Bogstav, [Aflæsning forbruger].Parti, [Aflæsning forbruger].Målernr, [Aflæsning forbruger].År, [Aflæsning forbruger].[Aflæsning 2008], [Aflæsning forbruger].[Ny måler nr], [Aflæsning forbruger].Monteringsdato, [Aflæsning forbruger].[Aflæsnymåler 2008]
FROM [Aflæsning forbruger]
WHERE ((([Aflæsning forbruger].Parti) Between [Angiv Partinummer] And [Angiv Partinummer]))
ORDER BY Rnd([IDbruger])"
%>
Avatar billede terry Ekspert
31. maj 2007 - 19:51 #3
If you want to change your SQL to select a different number of records then I would suggest building your SQL dnamically.

Something like this
Dim sSQL As String

sSQL = "SELECT TOP " & InputBox("Enter number", , 10) & " * FROM YourTable ...."

CurrentDb.QueryDefs("qryRandRecords").SQL = sSQL
Avatar billede ahh Nybegynder
31. maj 2007 - 20:48 #4
soerenlyn
jeg har prøvet dit forslag og får beskeden

Det er en ugyldig SQL sætning "Delete", "Insert", "Procedure" , "Select" , eller "Update" var ventet.

Terry jeg er ved at prøve dit sidste forslag.
Avatar billede ahh Nybegynder
31. maj 2007 - 21:05 #5
terry

har prøvet

Dim sSQL As String

sSQL = "SELECT TOP " & InputBox("Enter number", , 10) & " * FROM [Aflæsning forbruger]"

CurrentDb.QueryDefs("qryRandRecords").SQL = sSQL

får det samme svar:
Det er en ugyldig SQL sætning "Delete", "Insert", "Procedure" , "Select" , eller "Update" var ventet.
Avatar billede terry Ekspert
31. maj 2007 - 21:13 #6
If you can send me your dB then maybe I can see the problem

ekspertenATsanthell.dk

AT = @
Avatar billede soerenlyn Nybegynder
31. maj 2007 - 21:35 #7
Hvilket sprog er det du programmerer i?
Avatar billede ahh Nybegynder
31. maj 2007 - 21:42 #8
soerenlyn

Bruger Access 2003

terry

har sendt et eksempel til dig
Avatar billede a1a1 Novice
31. maj 2007 - 22:42 #9
prøv med:

SELECT TOP 10 [Aflæsning forbruger].IDbruger, Rnd([IDbruger]) AS Udtryk1, [Aflæsning forbruger].Gade, [Aflæsning forbruger].Husnr, [Aflæsning forbruger].Bogstav, [Aflæsning forbruger].Parti, [Aflæsning forbruger].Målernr, [Aflæsning forbruger].År, [Aflæsning forbruger].[Aflæsning 2008], [Aflæsning forbruger].[Ny måler nr], [Aflæsning forbruger].Monteringsdato, [Aflæsning forbruger].[Aflæsnymåler 2008]
FROM [Aflæsning forbruger]
WHERE ((([Aflæsning forbruger].Parti) Between [Angiv Partinummer] And [Angiv Partinummer]))
ORDER BY NEWID();
Avatar billede ahh Nybegynder
01. juni 2007 - 22:52 #10
a1
har prøvet dit forslag men der er problem med NEWID()den er ikke defineret. Det er tallet 10 jeg vil ændre.

terry
er ved at se på fremsendte
Avatar billede ahh Nybegynder
11. juni 2007 - 19:55 #11
Hvis jeg vælger designvisning kan jeg rette (indtaste den ønskede værdi i menuen første værdi) men det er ikke det optimale så jeg prøver stadig.
Avatar billede terry Ekspert
12. juni 2007 - 09:32 #12
It shouldnt be necessary to go into design view. Have you placeda text box on the top of the form as I suggested in my mail?
Avatar billede terry Ekspert
23. juni 2007 - 17:56 #13
whats the status Allan?
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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