Jump to content
  • 0

Relaties tussen tabellen


KarelG

Question

Posted

Hallo, kan iemand mij helpen?

 

Wil het volgende bereiken in tabel "testfile" (met velden prijs1, prijs2, prijs3, artikel1, artikel2, artikel3 ). Bij het invullen van artikel1 moet automatisch de prijs verschijnen in veld prijs1 van het ingevoerde artikel.

 

De data voor het artikel komen uit een aparte tabel "artikels" met volgende velden (artikelcode, omschrijving, prijs).

 

Ik leg een relatie tussen de twee tabellen, waarbij artikel1 (tabel testfile) = artikelcode (tabel artikels) én waarbij ik een berekende waarde geef aan prijs1 (tabel a) --> If ( Artikel1 = artikels::artikel; artikels::prijs ; "" )

 

Tot zover werkt dit, maar als ik nu hetzelfde doe voor prijs2 en prijs 3 en telkens een relatie leg zoals hierboven beschreven, dan krijg ik in prijs2 en prijs3 telkens de waarde van prijs1...

 

Bv. In één record uit de testfile kan het zijn dat prijs1 moet overeenkomen met een bepaald artikel en prijs2 met een ander artikel.

 

Hoe kan je dit verhelpen? Dank

14 answers to this question

Recommended Posts

  • 0
Posted

Wat wil je precies bereiken met je tabel "testfile" aangezien de data die je op wilt vragen reeds beschikbaar is in de artikelen tabel? Een soort Top 3 maken van artikelen met bijbehorende prijzen?

  • 0
Posted

 

Ik leg een relatie tussen de twee tabellen, waarbij artikel1 (tabel testfile) = artikelcode (tabel artikels) én waarbij ik een berekende waarde geef aan prijs1 (tabel a) --> If ( Artikel1 = artikels::artikel; artikels::prijs ; "" )

 

 

Je probleem wordt veroorzaakt door je verkeerde relatie.

 

Je hebt artikel1 = artikelcode

 

Je hebt artikelcode = artikelcode nodig.

 

Dan een lookup doen gebaseerd op de relatie of een auto-enter trigger doen op artikelcode.

 

Maar ik cringe toch al bij artikel1, artikel2 etc.

Wijst op een mogelijke design flaw in je toepassing.

  • 0
Posted

Goede avond

 

Indien je binnen eenzelfde record blijft en daar twee prijzen wil zien verschijnen van twee verschillende artikels, dan kan je toch niet anders dan met artikel1=artikelcode te werken?

 

Concreet:

 

Voor Machine x gebruikte ik twee artikels om ze te herstellen.

Ik wil de artikelcode ingeven in artikel 1, dan moet in veld prijs 1 de prijs tevoorschijn komen. Tot zover lukt dit.

Als je nu echter in artikel 2 een andere artikelcode ingeeft, dan heb je toch een probleem (op basis van artikelcode=artikelcode)?

  • 0
Posted

 

Indien je binnen eenzelfde record blijft en daar twee prijzen wil zien verschijnen van twee verschillende artikels, dan kan je toch niet anders dan met artikel1=artikelcode te werken?

 

 

Jawel.

 

Je kunt dus n machines hebben die met n onderdelen hersteld kunnen worden.

 

Dat geeft een n-to-many situatie.

 

De artikels die je gebruikt voor herstelling van machines toon je in een portal.

De data komt van een line item table waar je een f-key hebt voor de herstelling en een f-key voor ieder artikel.

 

Die table komt netjes tusen de herstelling table en de te gebruiken onderdelen table.

  • 0
Posted

Zoals je het voorstelt, zitten uw herstellingen in een aparte tabel? Dit is echter niet het geval bij mij...

 

De reparatiefiche van een machine is gewoon een andere layout van de hoofdfiche. Ik steek mijn herstellingen dus niet in een aparte tabel.

Ik begrijp dat je het probleem kan oplossen met een andere tabel en een portal, maar dan moet ik nog een extra tabel bijmaken uitsluitend voor herstellingen?

 

Mvg

  • 0
Posted
.... maar dan moet ik nog een extra tabel bijmaken uitsluitend voor herstellingen?

 

 

Een herstelling zou een attribute van een machine kunnen zijn, maar op zich is het een entity.

 

Dus heb je een table Herstelling nodig.

 

Een herstelling heeft teveel attributes om zomaar ergens "aan te hangen".

Het heeft een datum, een machinenr., onderdelen, naam mechanieker, mogelijke waarborg van onderdelen of de ganse herstelling op zich, etc.

 

Het is dus beter om dit afzonderlijk te behandelen.

Maak een link op key-fields en je bent veilig.

  • 0
Posted

Ben nu even te werk gegaan zoals opgegeven. Elke herstelling heeft een nu uniek record. Ik leg een relatie tussen tabel herstelling en tabel parts obv artikelcode.

 

Als je twee parts nodig hebt om een machine te herstellen, dan moet je toch bv. het volgende doen in het record van de machine:

 

Herstellingsdatum1 - Partsnr1 (= bv. artikelcode BATTERIJ) - Prijs1 (=lookup van BATT in parts table)

Herstellingsdatum2 - Partsnr2 (= bv. artikelcode BOUT) - Prijs2 (= lookup van BATT in parts table)

 

Prijs in eerste veld wordt getoond (omdat partsnr1 = artikelcode)

Prijs in tweede veld wordt NIET getoond ( partsnr.2 kan niet zelfde veld zijn als erboven, want anders is het een kopie van Partsnr1 en dan staat er exact hetzelfde als erboven)

 

Eigenlijk wil ik bij het definieren van mijn relatie een "OR" vergelijking ingeven, maar dat kan blijkbaar niet? Bv. Partsnr1=Artikelcode AND/OR Partsnr2=Artikelcode AND/OR ...

 

Hoop dat dit nog wat duidelijk is, ik begin het hier helemaal te verliezen...

  • 0
Posted

Tot zover mijn poging om mijn herstellingen te automatiseren... Het loopt ergens fout bij de laatste stap. Ik krijg in de tabel herstelling telkens dezelfde foutmelding, die moet te wijten zijn aan de relatie tussen de tabellen herstelling en herstelling link? Kan iemand hier nog helpen?

 

Dank

TEST herstelling.fp7

  • 0
Posted

Nog even terugkomen op een file van een tijd terug...

 

In de file OnderhoudMachines wil ik in de partsrecord een veld toevoegen, actuele voorraad. Dit moet een weergave zijn van een startvoorraad min het gebruikte aantal van een bepaalde part.

 

Startvoorraad staat in partsrecord, gebruikte aantal in repairecord. Kan iemand me helpen met een bereking om het veld huidige voorraad te berekenen?

 

Dank

OnderhoudMachines.fmp12

  • 0
Posted

Hi Felix, bedankt, ben er echter nog niet uit. Heb dit proberen na te bouwen voor mijn persoonlijke toepassing.

 

Heb volgende tabellen: Parts, Repair, RepairLI

 

Het probleem in mijn tabel RepairLI, is dat als ik het veld "namePart_aet" wil triggeren obv de relatie met mijn Parts tabel (relatie obv partsnummer), er telkens wordt aangegeven dat de Parts tabel niet gerelateerd is...

 

Heb nochtans vanuit de Partstabel een relatie gelegd naar RepairLI obv partsnummer, en ook omgekeerd VAN RepairLI naar Parts is dit gebeurd obv partsnummer.

 

Hmmm... Iemand een idee?

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