Toon posts:

[Access] uitgebreide zoekfuntie

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

Verwijderd

Topicstarter
Ik ben bezig met een database in acces. Ik heb nu allemaal leerlingen toegevoegd in de database.

Nu wil ik graag een uitgebreide zoekfunctie maken waarbij ik op voornaam, achternaam, leerlingnummer, klas etc kan zoeken. Ik wil eigenlijk in een formulier een uitschuifbalk maken waar je kan kiezen waarop je wilt zoeken, en dan daaronder een tekstveld waar je het gene wat je wilt zoeken neer kunt zetten. (Bijvoorbeeld voor achternaam "Pietersma")

Ik ben bezig geweest met queries, maar kan het ook zonder queries ?

  • Masch
  • Registratie: Augustus 2002
  • Laatst online: 03-04 08:44
Je kunt d.m.v. VBA een dynamische query bouwen. Er zijn hier al wel meerdere topics over geweest. Zoek maar eens op mijn username en query ;)

(\__/) Ik wist totaal niet wat hier neer te zetten....
(='.'=) Dus het werd....
("")("") Een konijn!!


Verwijderd

Topicstarter
ik ben al druk aan het zoeken geweest... maar niet echt iets duidelijks gevonden. Maar ik moet wel met een query werken dus ?

Verwijderd

Verwijderd schreef op 17 februari 2004 @ 14:40:
ik ben al druk aan het zoeken geweest... maar niet echt iets duidelijks gevonden. Maar ik moet wel met een query werken dus ?
ja dat is wel het makkelijkst

  • Masch
  • Registratie: Augustus 2002
  • Laatst online: 03-04 08:44
In dit topic staat wel een goed voorbeeld;
[rml][ SQL] Rottige Where voorwaarde[/rml]

Succes ermee!

(\__/) Ik wist totaal niet wat hier neer te zetten....
(='.'=) Dus het werd....
("")("") Een konijn!!


Verwijderd

Topicstarter
ik zal die topic zo even lezen...

Kan het gene hieronder ook werken, waarbij ???achternaam??? staat voor de gezochte achternaam bijvoorbeeld "Pietersma"

Select * from TABEL Where Achternaam = '???achternaam???'

En als dit zou werken zou ik dus voor Klas, Achternaam, Collegegroep, Leerlingnummer etc. allemaal aparte queries moeten maken !?

[ Voor 28% gewijzigd door Verwijderd op 17-02-2004 14:53 ]


Verwijderd

Topicstarter
Nou laat ik het dan ander stellen, als ik nou alleen maar op klas wil zoeken.

Ik heb dus een formulier waarin ik alle velden heb die in de tabel staan, er zit ook een tekstvlak bij die nog functie heeft; dit moet dus de zoekfunctie worden voor de klassen.

Als je gezocht hebt op bijv klas "4A" komen in het forumlier alleen de gegevens van de mensen die in klas 4A zitten.

Is dit misschien makkelijker te doen ?

Verwijderd

Verwijderd schreef op 17 februari 2004 @ 14:47:
...
Select * from TABEL Where Achternaam = '???achternaam???'
Select * from TABEL Where Achternaam LIKE %achternaam%

zal beter werken denk ik als je ook op een gedeelte van een achternaam wilt zoeken

In ieder geval moet je deze query koppelen aan het zoekveld zodanig dat het SELECT statement wordt uitgevoerd en de inhoud van het zoekveld gebruikt wordt. Is niet zo moeilijk...

Verwijderd

Topicstarter
daar was ik ook achter, maar hoe kan ik dat er aan koppelen ?

Verwijderd

Topicstarter
Ik heb nu een querie gemaakt:

SELECT *
FROM [Database]
WHERE (((Database.Voornaam)="«Expr» Forms![Database Zoeken]![Zoeken]"));

Laatste deel heb ik maar even met wizard gedaan, maar dit werkt dus niet. Niemand een idee ?

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

NOFI, maar als je hier niet uitkomt, zelfs niet met de topics die Masch je aanraadt, dan denk ik dat het moeilijk voor je gaat worden om hier iets fatsoenlijks uit te krijgen. Misschien is het verstandiger om een goed Access boek te kopen en op die manier aan de slag te gaan.

Ontopic:
Heet je tabel echt database? Dat is niet alleen een naam die waarschijnlijk al in gebruik is (vandaar de blokhaken) maar ook nog eens lekker nietszeggend is. Die zou ik ff aanpassen.

Wat betreft je query: heb je al eens gekeken wat de tekst van je query is die je hierboven hebt gepost? En als je die query uit probeert te voeren, wat gebeurt er dan? <<expr>> wijst er natuurlijk al een beetje op dat er iets niet helemaal top is, en waarschijnlijk zoekt deze query op de tekst "«Expr» Forms![Database Zoeken]![Zoeken]" vanwege de quotes en het missen van concattenatie karakters.

My personal website


  • Boss
  • Registratie: September 1999
  • Laatst online: 17:47

Boss

+1 Overgewaardeerd

dat <<expr>> moet eruit.

Ik weet niet hoe veel je afweet van Access, maar ik maak in mijn databases nog wel eens de volgende zoek-methode:
2 dropdown-boxes naast elkaar. In de eerste (cboZoekVeld) staan de 'zoekvelden' onder elkaar waarop de gebruiker moet kunnen zoeken: voornaam, achternaam, woonplaats
Met een after-update event op die dropdownlist laat ik de rowsource van de tweede (cboZoekWaarde) aanpassen, zoiets als:
code:
1
2
3
4
5
6
7
8
9
Private Sub cboZoekVeld_AfterUpdate
Select Case cboZoekVeld
  Case 'voornaam'
    cboZoekWaarde.RowSource = "SELECT ID, Voornaam FROM ...."
  Case 'achternaam'
     etc.
End Select
cboZoekWaarde.Requery
End Sub


Zo kan je dus in die 2e dropdownbox steeds de inhoud veranderen. Let er wel op dat je daarvan de eerste (onzichtbare) kolom steeds het ID geeft. Dan kan je op de after-update van die box de zoekcode uitvoeren.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


Verwijderd

Topicstarter
De database heet echt database, maar ik ben nu ook nog maar wat aan het proberen.


Maar mij vraag is eigenlijk: Hoe zorg ik ervoor dat hij de in de zoekfunctie ingevulde waarde in het formulier dit invult in de query ? Dus als je zoekt naar "Piet" in de forumlier dat er in de query komt van:
Where Voornaam = "Piet"

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Dit kun je doen door de query die je had nog een klein beetje aan te passen (Boss: <<expr>> eruit halen!), maar wat misschien beter is om eens goed te kijken naar dit stukje in de FAQ. Het gaat over parametrized queries en legt je uit hoe je (door wat code te maken) een goede parametrized query opzet en deze kunt gebruiken. De voorbeelden zijn in C#, maar leesbaar en makkelijk te vertalen naar VB(A).

My personal website


Verwijderd

Topicstarter
@ Boss

Op deze manier wil ik het eigenlijk ook deon, ik zal het nu even proberen met de informatie die ik van jullie gekregen heb.

Als ik die expressie eruit haalt werkt het idd !!

[ Voor 17% gewijzigd door Verwijderd op 19-02-2004 09:52 ]


Verwijderd

Topicstarter
Ik denk dat ik toch maar over stap op een mysql database, ik vind dit namelijk niet echt lekker werken eigenlijk.

  • Masch
  • Registratie: Augustus 2002
  • Laatst online: 03-04 08:44
Ik denk dat je met deze (NOFI) onwelwillende manier van werken ook met mysql niet ver komt, want dat zal ongeveer hetzelfde werken.

Je moet je gewoon wat meer gaan verdiepen in access en programmeren in het algemeen en dan kom je er wel! Het is mij ook gelukt door (voornamelijk) zelfstudie.

(\__/) Ik wist totaal niet wat hier neer te zetten....
(='.'=) Dus het werd....
("")("") Een konijn!!


Verwijderd

Topicstarter
Maar ik heb toch meer verstand van php en mysql, gebruik dit nl ook zelf voor mijn eigen website. En naar mijn inzien kan je hier toch meer mee.

  • Boss
  • Registratie: September 1999
  • Laatst online: 17:47

Boss

+1 Overgewaardeerd

Wat zou je in mysql dan maken? Je hebt toch echt een front-end nodig, of mogen de gebruikers zelf hun sql statements invoeren :) ?

Of doe je php + mysql? Aardig, maar qua mogelijkheden niet te vergelijken met Access.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


Verwijderd

Topicstarter
haha, ja ik gebruik hier php bij. En ja het is natuurlijk heel anders dan een database met acces en totaal niet te vergelijken, maar het gene wat ik wil kan zowel met php/mysql als met acces.

En omdat ik me toch meer vind in het eerste gebruik ik liever dat, of raden jullie me dit niet aan om een of andere reden ?

[ Voor 10% gewijzigd door Verwijderd op 19-02-2004 12:37 ]


  • Boss
  • Registratie: September 1999
  • Laatst online: 17:47

Boss

+1 Overgewaardeerd

Als jij liever in php/mysql werkt moet je dat gewoon doen!
Bij zo'n keuze zou je eventueel nog wel kunnen denken aan wie het programma allemaal gaan gebruiken, of er nog aanpassingen gedaan moeten worden achteraf, of jij er dan nog bent, of er andere mensen zijn met kennis over de door jouw gebruikte programma's...
dat soort dingen!

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.

Pagina: 1