Jump to content
  • 0

Driehoeksverhouding?


Dr_Flash

Question

Posted

Ik kom er maar niet uit. Ik heb een app gebouwd die de afstand berekent tussen 2 plaatsen via de coördinaten. Dat werkt eindelijk. Maar nu wil ik dit geheel gaan koppelen aan een database met alleen maar plaatsnamen en coördinaten. De moeilijkheid is dat ik twee verschillende velden (plaats 1 en plaats 2) wil laten vergelijken met 1 veld uit de plaatsnamendatabase ("plaatsnaam"). Ik vrees dat ik hiervoor twee relaties moet aangaan :roll: vandaar de topictitel. Maar ik wil daarnaast de mogelijkheid open houden voor de gebruiker om zelf een locatie in te vullen waarvan hij de coördinaten weet, en die niet in de plaatsnamen-database voorkomt. (en uiteraard wil ik op die manier ook die plaatsnamen-database verder kunnen vullen). Ik heb in de app zelf telkens maar 1 record, en somehow snap ik gewoon niet hoe dat nou gaat met relaties :twisted:

 

Kan dat eigenlijk wel? Een relatie met een veld, waarbij je ook de mogelijkheid van handmatige invoer open houdt? Ergens zie ik het gewoon niet.......

9 answers to this question

Recommended Posts

  • 0
Posted (edited)

Ik ben helemaal niet zeker dat ik je goed begrijp. A shot in the dark dus. Hopelijk gilt er niemand:

Kan dat niet met een calculatieveld dat als tussenveld (key-veld) geldt tussen de twee databanken en dat ingevuld is, ofwel met wat je al had, ofwel met iets dat in een vrij veld in te vullen is?

Edited by Guest
  • 0
Posted

Dank voor je reactie AvD, ik had "wat" last van excess brain clutter, ik zal proberen het probleem nogmaals te verwoorden. Ik heb in de "engine", zeg maar het fp5-bestand waarin de feitelijke berekening geregeld is, twee invoervelden. Daar worden de plaatsnamen ingevuld. Wanneer de gebruiker op een knop "bereken afstand" klikt, moeten de ingevulde plaatsnamen opgezocht gaan worden in de plaatsnamen-db, en de bijbehorende coördinaten geretourneerd in de engine-app. Als de plaats niet gevonden is, dan moet de gebruiker de gelegenheid krijgen om handmatig coördinaten in te vullen.

 

Altijd handig, mijn eigen gedachten op een rijtje te zetten. Als ik er zo naar kijk, denk ik namelijk dat het helemaal niet moet met relaties :?: Hoe dan wel, dat is ook nog even niet duidelijk, maar ik denk dat ik met scripting en wat extra global fields al een eind verder kom.

 

Dank voor dit luisterend oor in elk geval :D

 

Niet dat het bij deze opgelost is, maar ik kan weer even verder :)

  • 0
Posted
Ik heb in de "engine", zeg maar het fp5-bestand waarin de feitelijke berekening geregeld is, twee invoervelden. Daar worden de plaatsnamen ingevuld. Wanneer de gebruiker op een knop "bereken afstand" klikt, moeten de ingevulde plaatsnamen opgezocht gaan worden in de plaatsnamen-db, en de bijbehorende coördinaten geretourneerd in de engine-app.

Daar heb je dus noch knop, noch script voor nodig: een simpele lookup volstaat toch. Het invullen van de plaatsnaam kan je zelfs via een conditional popup list die alle plaatsnamen toont vanuit de andere databank (en dat letter per letter: alle plaatsnamen voor A, alle voor B, alle voor C enz. tot en met Z)

 

Als de plaats niet gevonden is, dan moet de gebruiker de gelegenheid krijgen om handmatig coördinaten in te vullen.

 

En dat kan je dan doen in datzelfde veld waarin door de lookup niets gevonden werd. Of zie ik het te simpel?

 

HTH r HTH

  • 0
Posted

:oops: Het spijt me dat ik zo aan het handje genomen moet worden, maar het heeft wel zin allemaal. Ik heb nu die beide plaatsnamen in de invoervelden zo ver dat ze inderdaad uit de lijst plaatsnamen in de plaatsen-DB gekozen moeten worden. Bovendien blijft het mogelijk om handmatig plaatsen in te voeren. Ik heb 2 relaties aangemaakt, van Plaats 1 naar Plaatsnaam in de plaatsen-DB en van P{laats 2 naar Plaatsnaam in de plaatsen-DB, en op basis daarvan rollen die coördinaten er via de lookup inderdaad mooi uit :)

 

Wat ik alleen nog niet snap (en dat is wat dit projectje betreft nog ongeveer het laatste dat aan mijn geluk ontbreekt), is dat ik bij beide relaties heb aangegeven dat "creation of related records" toegestaan moet worden, maar als ik een nieuwe plaatsnaam met handmatige coördinaten invoer in de engine, wordt er toch NIET een nieuw record in de plaatsnamen-DB aangemaakt voor deze nieuwe plaats..... Ik kan me niet voorstellen dat die relaties twee kanten op gelegd moeten worden oid, omdat de engine-DB dus altijd maar 1 record heeft. Dus dat lijkt me weinig zinvol. Ergens zie ik iets toch niet helemaal :oops:

  • 0
Posted

Look up werkt iets anders dan relationeel.

Beiden gebruiken dezelde relatie definitie. Het is daarom verwarrend dat je kan aanvinken dat er automatisch nieuwe rec's worden aangemaakt, ook al ga je later via een look up werken.

Kies je voor een look up dan kopieer je alleen waarden in je app, indien de plaatsnamen matchen. Indien je relationeel gaat, krijg je de waarden (coordinaten) uit je plaatnamen database te zien in je applicatie, indien de match klopt Dus hier wordt niet gekopieerd of opgezocht, maar in feiten in de andere database gekeken.

Relationeel kan je ook nieuwe rec's aanmaken op afstand, dus vanuit je applicatie in de plaatsnamen database. Vroeger (tot FMP3) waren er alleen lookups en later is de relationele functionaliteit daaraan toegevoegd. Toch zijn look ups soms best handig, bijvoorbeeld als je ingevoerde gegevens juist niet automatisch wilt updaten.

In jouw geval zou ik de coordinaten velden van je applicatie layout weghalen en daar voor in de plaats de relationele velden van de plaatsnamen database plaatsen.

Je kan dan vanuit je applicatie de invoer van nieuwe gegevens bewerkstelligen.

Als je realationeel gaat werken zijn de coordinaten velden in feite velden van de plaatsnamen database. Kijk ook een bij je helpfunctie voor uitleg.

 

HTH

  • 0
Posted

Okee ik denk dat ik het begrijp :) Ik ga het proberen en houd de geïnteresseerden op de hoogte :)

 

Wat betekent dat "HTH" trouwens onder sommige posts van "oudgedienden"? Of zelfs "HTH r HTH" :?:

  • 0
Posted

Veel dank aan AvD en Arnoud! Beide heren ben ik een koel glas naar keuze verschuldigd, te verzilveren op de aanstaande confituursessie :)

 

Door het werken met relaties had ik in de engine ook ineens veel minder velden nodig :) nog slechts 13 ipv 25. We kunnen dus van een drastische optimalisatie spreken, plus dat de plaatsnamen-DB zich nu ook vanuit de engine laat vullen :) Ik kan met een gerust hart gaan slapen :)

  • 0
Posted
Wat betekent dat "HTH" trouwens onder sommige posts van "oudgedienden"? Of zelfs "HTH r HTH" :?:

 

HTH betekent "Hope this helps", te versterken met "r HTH": "really hope this helps" (dus als je er echt mee begaan bent :wink: )

 

HTH !

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...