Maken van zoekfunktie

Status
Niet open voor verdere reacties.

Rommyke

Gebruiker
Lid geworden
29 mrt 2007
Berichten
357
Hoi allemaal ,


Ben nu al een tijdje aan het zoeken en krijg het maar niet in orde .

Ik zou graag mijn zoekfunktie uitbreiden .

Ik heb een tabel met gegevens van personen (de afdeling en funktie waar ze werken en aan wie ze rapporteren)
Ik heb ook een tabel afdelingshoofd gemaakt en in deze tabel zet je wie een leidende functie uitoeffend.

Deze tabel heb ik gemaakt stel dat je 30 personen hebt die aan 1 persoon moeten rapporteren en die ene persoon veranderd van functie dan moest je dit 30X veranderen naar die 1 nieuwe persoon en nu niet meer met deze tabel .


Maar nu krijg ik het niet gereed om in mijn zoekfunctie de criteria rapporteerdAan er in mee op te nemen.
Het probleem zit zich meer omdat 1 persoon baas kan zijn over meerdere afdelingen .

Ik heb een bijlage proberen te maken die het allemaal een beetje duidelijker maakt .

Bedankt

Groeten Romain
 

Bijlagen

Aangezien deze methode van werken herhaaldelijk kan voorkomen, immers de functie kan weer door iemand anders worden overgenomen, is een andere werkwijze misschien raadzamer.
Maak gebruik van een tussentabel. Dit is wel weer redundant volgens de normalisering.
Deze nieuwe tabel koppelt de personen aan een functie/afdeling waaraan gerapporteerd moet worden. De functie/afdeling koppel je dan weer aan een bepaald persoon.

Als je meer uitleg nodig hebt, lees ik het wel.
 
Hoi Silkcom ,

De database op zijn eigen werkt hoe het hoort ....
Als ik in tabel afdelingshoofd een verandering doe , wordt deze aangepast in mijn tabel personeel .


Enkel de zoekcriteria (mijn SQL in minjn vba) krijg ik niet aangepast zodat ik op rapporteerdAan kan zoeken.

Heb al eens met een extra query geprobeerd

Met een query qryLeadingFunktion maar hier geraakte ik ook niet verder(zie bijlage)

Denk niet dat het zo eenvoudig gaat zijn

Groetjes
Romain
 

Bijlagen

Hoi Rommyke

Het is ff geleden maar ik hoop dat je hier toch nog wat aan hebt:
Ik heb de query die jij gebruikt voor het vullen van het overzicht geanaliseerd. De conclusie is dat je bij het bepalen van de naam van "Rapporteert aan" een getal terugkrijgt.
De query is iets aangepast zodat de naam uit de query QRYAfdelingshoofd wordt gehaald.


Nog een tip:
Gebruik nooit maar dan ook nooit autonummering als index indien je deze ook gebruikt als referentie naar een andere tabel.
Indien je de tabel gaat exporteren (ontladen) in verband met het maken van een backup en weer importeren (inladen) in verband met herstel van de database, zal het eerstvolgende vrije nummer automatisch worden bepaald. Ook is niet te zeggen of de gegevens wel weer in de juiste volgorde worden ingeladen.
Zelfs grote gerenommeerde bedrijven maken deze fout. Ik spreek uit ervaring want ik heb ze hierop attent moeten maken.
Beter is het om zelf een nummer toe te kennen. Iets meer werk maar het gaat dan nooit verkeerd.


Veel succes nog
 

Bijlagen

Laatst bewerkt:
Nog een tip:
Gebruik nooit maar dan ook nooit autonummering als index indien je deze ook gebruikt als referentie naar een andere tabel.
Indien je de tabel gaat exporteren (ontladen) in verband met het maken van een backup en weer importeren (inladen) in verband met herstel van de database, zal het eerstvolgende vrije nummer automatisch worden bepaald. Ook is niet te zeggen of de gegevens wel weer in de juiste volgorde worden ingeladen.
Zelfs grote gerenommeerde bedrijven maken deze fout. Ik spreek uit ervaring want ik heb ze hierop attent moeten maken.
Beter is het om zelf een nummer toe te kennen. Iets meer werk maar het gaat dan nooit verkeerd.

Silkcom ,

Bedankt voor de tip maar hoe bedoel je met autonummering nooit als index gebruiken ?

Groetjes
Romain
 
Stel je hebt een winkel met de volgende tabellen:
Categorie met idCat als index en omschrijving Oms.
Artikel met idArt als index en omschrijving Oms en idCat als categorie waartoe het artikel behoort (= foreign key).
De indices idCat en idArt zijn als autonummer gedefinieerd.
Je voert nu 3 categorieen in die idCat 1, 2 en 3 hebben (immers opvolgend door autonummering).
Je voert 3 artikelen in met de artikelen 1, 2 en 3 die alle behoren tot categorie 3, dus idCat in tabel Artikel = 3.
Categorie 1 wordt verwijderd.
Je gaat nu de tabellen veilig stellen (backup). Hierna ga je de tabellen leeg maken en daarna weer vullen.
Categie 1 in de tabel wordt nu gevuld met de gegevens van Categorie 2 uit de backup, immers door autonummering begint de nummering weer bij 1; categorie 2 in de tabel wordt gevuld met de gegevens van categorie 3 uit de backup.
De tabel Artikel wordt wel goed geladen, dus met de originele waarden (idCat =3).

Nu komt het:
Categorie 3 waarnaar de artikelen verwijzen bestaat niet meer!!! Gevolg is dat de tabel Artikel "corrupt" is.

Als je mazzel hebt, heeft de database-utility de mogelijkheid om de gegevens in hun originele staat weer te laden. (ben ff vergeten hoe dit ook alweer heet).

Ik hoop dat dit enige duidelijkheid verschaft.
 
Hoi Silkcom ,

Allemaal heel duidelijk .

Eerste keer dat ik hiervan hoor, dit wist ik niet
Bedankt voor de tip.

Dus ik veronderstel om in het vervolg een eigen autonummer te maken ?


Met vriendelijke groeten
Romain
 
Ja, je kunt een tabel definiëren en daarin per tabel een record vastleggen met de tabelnaam als index en een tellermet het laatst gebruikte uitgegeven volgnummer (= index van de tabel)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan