Jump to content
  • 0

"Travahar's duizend en een vragen"-thread


Travahar

Question

Posted (edited)

Beste iedereen,

 

Bij deze gegroet!!! *schudt handen*

 

Ik probeer iest in FileMaker Pro7 te maken en het lukt me niet. Vandaar dat ik hoop dat er iemand op dit forum me kan helpen.

 

Het is pas vier dagen geleden dat ik FM7 heb geïnstalleerd en nog maar 36 uur sinds 'k de laatste les uit de tutorial heb gelezen dus graag simpele woordjes gebruiken ( :D bij voorkeur twee lettergrepen of minder ) en bovendien heb 'k ook nog eens een Engelstalige versie.

 

Bon, dit gezegd zijnde over naar mijn probleem.

Ik probeer een database te maken die mij een antwoord kan geven op volgende twee vragen:

Welke persoon heeft de sleutels van welk lokaal?

Door welke personen kan elk lokaal geopend worden?

 

Ik heb dus twee lay-outs in elkaar proberen te prutsen, beide in lijstvorm.

In de ene lay-out heb je de kolommen: naam, voornaam en lokalen waartoe deze persoon toegang heeft.

In de andere lay-out heb je een kolom met de verschillende lokalen en een kolom met de personen die hier toegang tot hebben.

 

Elke lay-out is een aparte tabel en 'k wou die dus relationeel (of hoe je related records ook noemt in 't Nederlands) maken zodat wanneer 'k aan een persoon de sleutel geef van een lokaal er automatisch in de lijst met de lokalen verschijnt dat deze persoon die sleutel heeft (en vice versa indien mogelijk)

 

Hopelijk vraag 'k hier niet te veel en kan er iemand mij helpen.

Bij voorbaat al bedankt

 

Cheers,

Travahar

Edited by Guest

13 answers to this question

Recommended Posts

  • 0
Posted

Allereerst, welkom bij de FileMaker-club :)

 

Laten we even in je voorbeeldje veronderstellen dat elk lokaal slechts 1 sleutel heeft, OK?

 

Dan moeten we ons een paar vragen stellen:

1. Kan een persoon 1 of meerdere sleutels hebben?

2. Kan een sleutel tot 1 of meerdere personen toebehoren?

 

Op vraag 1 kunnen we "ja" antwoorden, of vraag 2 "neen".

De relatie tussen personen en sleutels zal dus een "ONE-to-MANY" relatie zijn.

 

Hadden we op beide vragen "JA" geantwoord dan spraken we van een "MANY-to-MANY" relatie.

 

Dat is de theorie. Nu de praktijk.

 

We zullen dus 2 tabellen hebben:

 

Een tabel "PERSONEN".

Hier hou je de naam en de voornaam bij.

Databanken praten alleen een beetje moeilijk, met alleen deze velden. Ze vereisen eigenlijk een unieke soort identiteitsnummer, wat je in de boekjes zult terug vinden als "PRIMARY KEY".

 

Dus onze tabel personen zal 3 velden bevatten:

persoonid (Number, Auto Serial Enter, Unique)

naam

voornaam

 

waarvan de persoonid onze unieke identiteitsnummer of primary key is.

 

We hebben ook een tweede tabel nodig: "LOKALEN".

Ook hier gaan we een unieke identificatie bijhouden. We zullen dus volgende velden hebben:

 

lokaalid (Number, Auto Serial Enter, Unique)

lokaal

 

Nu zullen we moeten bijhouden wie van de personen de sleutel bezit van een bepaald lokaal. Dit zullen we doen in de Lokalen tabel.

Hier zullen we de "identiteitsnummer" van de persoon bijhouden. We zullen dit doen in een nieuw veld "persoonid". Dit heten we in het vakjargon de FOREIGN Key.

 

Dus de tabel "LOKALEN" bevat de volgende velden:

lokaalid (Number, Auto Serial Enter, Unique)

persoonid

lokaal

 

In FileMaker kun je nu een relatie leggen tussen persoonid van personen en persoonid van lokalen. Meer relaties heb je niet nodig.

 

Bij personen zullen we dus niet bijhouden in een apart veld welke sleutels hij heeft. Dit kunnen er immers meerdere zijn, en dit druist dan in tegen de regels van de theorie.

 

Om het wat concreter te maken upload ik hierbij een demootje.

 

Zoek ook even op het forum naar de termen: Data Normalisatie en behangpapierfase.

 

 

 

Koen

lokalenensleutels.fp7

  • 0
Posted (edited)

Bedankt murtje voor al je hulp, vooral met dat attachment erbij werd het me duidelijk wat ik verkeerd deed.

 

Onder het motto "al doende, leert men" heb ik wat zitten "spelen" met het bestand en wat rondgeneusd in de manier waarop je de dingen gedaan hebt. :D

 

Ik zal zeker Data Normalisatie en behangpapierfase opzoeken. Eens ik dat gedaan heb (wegens een combinatie van tijdgebrek en overvol agenda zal dat waarschijnlijk pas tegen morgen rond 4 uur in de morgen zijn :? ), zou ik die many-to-many relatie willen proberen (want zo had ik het oorspronkelijk in gedachten). Ik veronderstel dat ik in geval van moeilijkheden met mijn vragen hier terecht kan? icon7.gif

 

Cheers, en nog duizendmaal bedankt voor de hulp,

Travahar

Edited by Guest
  • 0
Posted

De behangpapier-thread vinden was geen probleem maar data normalisatie geeft meer dan 272 zoekresultaten (enkel in het FileMaker 7&8 forum). Welke thread(s) is/zijn nu van belang? (want ik ga ze niet alle 272 doorspitten)

  • 0
Posted

Argh, enkele verspilde uren later ben ik er nog steeds niet in geslaagd om een many-to-many variatie te maken op mijn probleem

 

Dan moeten we ons een paar vragen stellen:

1. Kan een persoon 1 of meerdere sleutels hebben?

2. Kan een sleutel tot 1 of meerdere personen toebehoren?

 

Op vraag 1 kunnen we "ja" antwoorden, of vraag 2 "neen".

De relatie tussen personen en sleutels zal dus een "ONE-to-MANY" relatie zijn.

 

Hadden we op beide vragen "JA" geantwoord dan spraken we van een "MANY-to-MANY" relatie.

 

Voelt er iemand zich geroepen een newbie te helpen? :)

  • 0
Posted

De MANY-to-MANY relatie kan knap lastig zijn in FileMaker.

 

Om een many-to-many relatie te maken heb je eigenlijk een bijkomende tussentabel nodig. Deze tabel zal alle combinaties bevatten.

 

In jouw voorbeeld:

An Wiskunde Lokaal

An Chemie Lokaal

Jan Wiskunde Lokaal

 

We zullen hier uiteraart ook werken met de sleutels, ipv de namen.

 

Je zal dus de volgende tabellen hebben:

 

Een tabel "PERSONEN".

persoonid (Number, Auto Serial Enter, Unique)

naam

voornaam

 

Een tabel "LOKALEN":

lokaalid (Number, Auto Serial Enter, Unique)

lokaal

 

En als laatste de tussentabel "LOKALENtoPERSONEN"

lokaalid

persoonid

 

Deze laatste tabel zouden we in jouw geval ook "TOEGANG" kunnen noemen.

 

In bijlage een voorbeeldje.

 

 

Koen

lokalenensleutels.fp7

  • 0
Posted

All right!! Nu lukt het dus wel :D daar was 'k in m'n eentje nooit opgekomen maar met jouw voorbeeld wordt 't me nu allemaal duidelijk. Ben er zelfs in geslaagd om een versie zonder ID nummers te maken (omdat "Room 1" niet echt een extra veld voor ID nodig heeft, me dunkt).

 

@murtje: Zou je eens een blik werpen naar mijn versie? Ik zit nog met 't probleempje dat nieuwe records aangemaakt in de ene tabel niet te voorschijn komen in alle andere tabellen (wat logisch is ... maar 'k vind niet direct een oplossing)

 

Dan nog een vraagje over het printen...

 

Als ik een lijst van alle kamers afdruk met daarop een Portal met verticale scrollbar, dan krijg ik waarschijnlijk alleen de zichtbare velden van mijn Portal op papier, niet?

Is het niet mogelijk om een Portal gewoon evenveel kolommen geven als het aantal records + 1 (zodat in de persoonslijsten elke Portal een andere lengte kan hebben)?

C_keys.fp7

  • 0
Posted

Hello, hello iedereen,

 

'k Zit met een vraagje ... momenteel zit 'k met een spreadsheet in Excel waarvan ik de drie laatste kolommen (die berekend worden adhv de rest van de spreadsheets).

Hoe kan ik deze drie kolommen naar een table in FMP brengen (zonder alles over te typen liefst)? En is het ook mogelijk om FMP automatisch dit Excel-bestand te laten raadplegen voor updates in die drie kolommen?

  • 0
Posted
Ben er zelfs in geslaagd om een versie zonder ID nummers te maken (omdat "Room 1" niet echt een extra veld voor ID nodig heeft, me dunkt).

 

Totdat iemand bedenkt dat er een nieuw kamernummersysteem moet komen, of dat "room" voortaan "chambre" moet heten...

 

Moraal: Gebruik ALTIJD ID-velden

 

Henk

  • 0
Posted

Staat genoteerd! :)

 

Moet dat iets chronologisch zijn dat FMP zelf ingeeft (en telkens 1 hoger is dan de vorige record)? Of mag 't eender wat zijn zolang 't maar uniek is?

 

 

Bij de weg, zit nog steeds vast met mijn probleem uit m'n vorige post.

  • 0
Posted

Hoe kan ik deze drie kolommen naar een table in FMP brengen (zonder alles over te typen liefst)?

 

Filemaker kan Excel-bestanden openen/importeren.

 

En is het ook mogelijk om FMP automatisch dit Excel-bestand te laten raadplegen voor updates in die drie kolommen?

 

Via ODBC wellicht.

Maar ik ben geen specialist in Excel.

  • 0
Posted
Via ODBC wellicht.

Maar ik ben geen specialist in Excel.

Dat gaan we dan eens trial-and-error'en :)

 

Bestaat er een functie die in veld 2 de huidige timestamp weergeeft wanneer veld1 gewijzigd wordt? (soortement van logboek)

 

Is er ergens een lijst op 't WWW met alle functies en een verklaring?

  • 0
Posted

[quote="

Hoe kan ik deze drie kolommen naar een table in FMP brengen (zonder alles over te typen liefst)? En is het ook mogelijk om FMP automatisch dit Excel-bestand te laten raadplegen voor updates in die drie kolommen?

 

In Excel kun je de (berekende) inhoud van de drie kolommen via "copy/paste special = value" in dezelfde kolommen, of - als je de berekende kolommen intact wilt laten - in drie nieuwe kolommen plakken.

Daarna kun je de inhoud in Filemaker importeren.

 

Na de eerste import kun je op een later tijdstip de gemuteerde excel sheet opnieuw importeren, waarbij je de import action op "update matching records in found set" en het vinkje bij "Ad remaining data as new record" moet aanzetten

 

Of dit ook volledig automatisch kan weet ik niet.

  • 0
Posted
In Excel kun je de (berekende) inhoud van de drie kolommen via "copy/paste special = value" in dezelfde kolommen, of - als je de berekende kolommen intact wilt laten - in drie nieuwe kolommen plakken.

Daarna kun je de inhoud in Filemaker importeren.

Da's niet nodig hoor: je kan kolommen met formules importeren.

Import met matching records is een goed idee voor de updates. Zorg er dan wel voor dat je in Excel een kolom hebt met waarden die niet veranderen (misschien heb je wel een ID kolom :wink: )

 

Zo'n import kan je perfect scripten in FileMaker. Als je dat FM import script wil starten vanuit Excel dan kan dat met een macro.

 

ODBC is ook mogelijk. Werkt vooral goed op PC. Op de Mac heb je niet automatisch de juiste drivers en dan ben je wel even zoet om dat aan de praat te krijgen.

 

Veel groeten,

Joris

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...