[Access] Steeproef uit database

Pagina: 1
Acties:
  • 303 views sinds 30-01-2008
  • Reageer

  • Hollie
  • Registratie: Juni 2001
  • Laatst online: 22-06 21:32
Hoi,

Ik moet een enquête houden uit een database van ongeveer 2500 personen. Hoe kan ik met een query elke 10e persoon eruit filteren?
Hopelijk kan iemand mij hier helpen.

Apple en Joppiesaus all the way


  • Markieman
  • Registratie: December 2001
  • Laatst online: 28-08 15:14
Denk dat je dan toch aan VBA moet denken, ik ken zoiets niet met SQL

You do not fear them? - The Wraith? Naah. Now *clowns*, that's another story.


  • Hollie
  • Registratie: Juni 2001
  • Laatst online: 22-06 21:32
Markieman schreef op 31 maart 2004 @ 11:22:
Denk dat je dan toch aan VBA moet denken, ik ken zoiets niet met SQL
Het is dus niet mogelijk om in een gewone access database een a-selecte selectie te maken? Zou een slechte zaak zijn!
Ik heb de gegevens uit een excel sheetje. Zijn daar nog mogelijkheden in?

Apple en Joppiesaus all the way


  • Markieman
  • Registratie: December 2001
  • Laatst online: 28-08 15:14
Naar mijn weten is daar in zowel Excel als Access geen ingebouwde mogelijkheid voor. Je zal toch met VBA moeten gaan werken...

You do not fear them? - The Wraith? Naah. Now *clowns*, that's another story.


Verwijderd

Hebben deze personen geen ID? (autonummering ofzo) Dan kan je deze met een 0 op het einde laten filteren.

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Ondersteund Access het limit argument niet :?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Hollie
  • Registratie: Juni 2001
  • Laatst online: 22-06 21:32
Markieman schreef op 31 maart 2004 @ 12:02:
Naar mijn weten is daar in zowel Excel als Access geen ingebouwde mogelijkheid voor. Je zal toch met VBA moeten gaan werken...
Ik ben geen held in VBA (lees: nog nooit mee gewerkt)

Apple en Joppiesaus all the way


  • ATS
  • Registratie: September 2001
  • Laatst online: 12-02 13:46

ATS

Spider.007 schreef op 31 maart 2004 @ 12:08:
Ondersteund Access het limit argument niet :?
Da's niet echt a-select, wel? :?

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant


  • Hollie
  • Registratie: Juni 2001
  • Laatst online: 22-06 21:32
Verwijderd schreef op 31 maart 2004 @ 12:06:
Hebben deze personen geen ID? (autonummering ofzo) Dan kan je deze met een 0 op het einde laten filteren.
Ja ze hebben een autonummering (ID)

Hoe werkt zoiets met dat filteren? Zover gaat mijn kennis niet.

Apple en Joppiesaus all the way


  • Hollie
  • Registratie: Juni 2001
  • Laatst online: 22-06 21:32
ATS schreef op 31 maart 2004 @ 12:13:
[...]

Da's niet echt a-select, wel? :?
Dat is het zeker niet nee....

Apple en Joppiesaus all the way


  • ATS
  • Registratie: September 2001
  • Laatst online: 12-02 13:46

ATS

Hoe belangrijk is het dat het aantal personen exact 250 is? Als dat niet hoeft, dan zou je een Rnd() functie op kunnen nemen in een query in je WHERE statement.

Edit: misschien kan je ook een Rnd gebruiken om op te sorteren, en dan met een LIMIT een beperkt aantal personen trekken?

Edit2: En als dat in in één keer wil, dan wil het zeker in twee stappen:
1) Run een update query over je lijst met namen, en zet een veld op een random waarde.
2) Selecteer de TOP xxx van je lijst gesorteerd op die waarde.

[ Voor 58% gewijzigd door ATS op 31-03-2004 12:20 ]

My opinions may have changed, but not the fact that I am right. -- Ashleigh Brilliant


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

ATS schreef op 31 maart 2004 @ 12:13:
[...]

Da's niet echt a-select, wel? :?
Ik weet niet; ik heb geen verstand van Access :) Heeft de TS hier nog wat aan :?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Emmeau
  • Registratie: Mei 2003
  • Niet online

Emmeau

All your UNIX are belong to us

Hollie schreef op 31 maart 2004 @ 11:59:
[...]


Het is dus niet mogelijk om in een gewone access database een a-selecte selectie te maken? Zou een slechte zaak zijn!
Ik heb de gegevens uit een excel sheetje. Zijn daar nog mogelijkheden in?
A select is wat anders dan het 10e record. Bovendien is een record nummer totaal irrelevant voor een database, anders dan dat het een identificatie is van een bepaalde hoeveelheid gegroupeerde data.

Als je steekproeven wil doen, dan moet je niet klagen over het feit dat access geen a-selecte selecties aankan.

Je zult of zelf wat in elkaar moeten flansen, of naar een pakket als SPSS gaan, wat bedoelt is voor dit soort zaken.

If you choose to criticise you choose your enemies


  • Hollie
  • Registratie: Juni 2001
  • Laatst online: 22-06 21:32
ATS schreef op 31 maart 2004 @ 12:15:

Edit2: En als dat in in één keer wil, dan wil het zeker in twee stappen:
1) Run een update query over je lijst met namen, en zet een veld op een random waarde.
2) Selecteer de TOP xxx van je lijst gesorteerd op die waarde.
Klink grappig. Maar mijn kennis van Access is erg beperkt. Misschien kun je even aangeven hoe ik die update query uitvoer?

Apple en Joppiesaus all the way


  • Hollie
  • Registratie: Juni 2001
  • Laatst online: 22-06 21:32
Emmeau schreef op 31 maart 2004 @ 12:18:
[...]


A select is wat anders dan het 10e record. Bovendien is een record nummer totaal irrelevant voor een database, anders dan dat het een identificatie is van een bepaalde hoeveelheid gegroupeerde data.
Bij een a-selecte steekproef heeft iedereen in de populatie een even grote kans om gekozen te worden. Als ik elke 10e neem dan is bij iedereen die kans even groot.

Apple en Joppiesaus all the way


  • Dido
  • Registratie: Maart 2002
  • Laatst online: 12:46

Dido

heforshe

ATS schreef op 31 maart 2004 @ 12:15:
Hoe belangrijk is het dat het aantal personen exact 250 is? Als dat niet hoeft, dan zou je een Rnd() functie op kunnen nemen in een query in je WHERE statement.
Dat klinkt eigenlijk als de elegantste oplossing: je hoeft niets aan je data te veranderen.
De vraag is: pikt access het?

Even proberen wijst uit dat SELECT * FROM VRB WHERE (Rnd()>0.5); niet goed gaat omdat ie maar 1 keer een random nummer bepaalt :(
(een select rnd() from blaat geeft tig keer hetzelfde getal terug)

Dat is het inderdaad wellicht toch een beter idee om het via vba op te lossen...

Wat betekent mijn avatar?


  • Markieman
  • Registratie: December 2001
  • Laatst online: 28-08 15:14
Hollie schreef op 31 maart 2004 @ 12:44:
[...]


Bij een a-selecte steekproef heeft iedereen in de populatie een even grote kans om gekozen te worden. Als ik elke 10e neem dan is bij iedereen die kans even groot.
Dat is niet waar, de kansen zijn als volgt:

Elke 10e: 100% kans
Rest: 0% kans

Steekproef is door middel van random kiezen, dus eigenlijk handmatig aangezien de RND() functies ook niet echt random zijn (maar in dit geval denk ik wel random genoeg)

You do not fear them? - The Wraith? Naah. Now *clowns*, that's another story.


  • Zerveza
  • Registratie: Maart 2001
  • Laatst online: 17-12-2021

Zerveza

DoS porfavor

kun je Excel niet een kolom van 10 random cijfers in jou range laten maken (RND(x)). Die tabel importeer je naar Access en noem je "RAND" kolom met getallen noem je "nrs". Als je selecteert uit tabel X wordt het in SQL


select *
from X
where id in rand.nrs

[ Voor 33% gewijzigd door Zerveza op 31-03-2004 13:29 . Reden: beetje vieze oplossing ]


  • Hollie
  • Registratie: Juni 2001
  • Laatst online: 22-06 21:32
Markieman schreef op 31 maart 2004 @ 13:10:
[...]


Dat is niet waar, de kansen zijn als volgt:

Elke 10e: 100% kans
Rest: 0% kans

Steekproef is door middel van random kiezen, dus eigenlijk handmatig aangezien de RND() functies ook niet echt random zijn (maar in dit geval denk ik wel random genoeg)
Maar iedereen heeft een even grote kans om op die 10e plek te staan. En daar gaat het om!

Apple en Joppiesaus all the way


  • Emmeau
  • Registratie: Mei 2003
  • Niet online

Emmeau

All your UNIX are belong to us

Hollie schreef op 31 maart 2004 @ 13:29:
[...]
Maar iedereen heeft een even grote kans om op die 10e plek te staan. En daar gaat het om!
Dat hangt er maar vanaf. Als de data gesorteerd is op wat voor veld dan ook, dan is het al niet meer willekeurig.

If you choose to criticise you choose your enemies


  • Hollie
  • Registratie: Juni 2001
  • Laatst online: 22-06 21:32
Ik heb het opgelost (denk ik)

Ik heb in excel, aan de hand van deze formule: "=ASELECT()*(0-2462)+1", alle velden gekoppeld aan een random getal. Deze rij gekopieerd naar Access en daar aan dezelfde velden gekoppeld. Nu neem ik 1 t/m 250 van deze lijst.

Dit lijkt me A-select.

Bedankt voor alle hulp.

Edit: Shit... Excel pakt er ook dubbele getallen bij. Wordt dus geen rekening gehouden met getallen die er al op staan! Iemand daar een oplossing voor?

[ Voor 22% gewijzigd door Hollie op 31-03-2004 14:00 ]

Apple en Joppiesaus all the way


  • Markieman
  • Registratie: December 2001
  • Laatst online: 28-08 15:14
Hollie schreef op 31 maart 2004 @ 13:53:
Edit: Shit... Excel pakt er ook dubbele getallen bij. Wordt dus geen rekening gehouden met getallen die er al op staan! Iemand daar een oplossing voor?
Zolang ze random zijn, je daarop sorteert en dan de 1e 250 pakt maakt het niks uit.

You do not fear them? - The Wraith? Naah. Now *clowns*, that's another story.

Pagina: 1