Jump to content
  • 0

tabel automatisch aanvullen op basis van input andere tabel


Vitruvius

Question

Posted

Ik zou automatisch een tabel willen aanvullen met inventarisnummers. Deze nummers zijn uniek en zouden automatisch gecreerd moeten worden op basis van input uit andere tabellen.

 

Concreet:

 

een inventarisnummer bestaat uit een projectnummer, een spoornummer of losse vondst nummer, en het type vondst dat weergegeven wordt in een getal. de opsplitsing per type is nodig aangezien er verschillende bewaringsvoorwaarden zijn voor elk soort vondst. Keramiek en metaal worden nooit samen bewaard. Ook worden deze vondsten door verschillende personen verwerkt.

 

Tabel 1: Losse vondsten

- Losse vondstnummer (uniek, elke losse vondst is een record)

- Vondsttype (ceramiek, faunaresten, Glas, metaal, ...), deze worden omgezet in nummers, Ceramiek heeft 1, Faunaresten 2 enz.

- Inventarisnummer (= Projectnummer (komt van ergens anders) & LV & Losse vondstnummer & Vondsttypenummer)

-...

 

Elke losse vondst kan maar één type zijn, want normaal gezien 1 scherf, 1 stukje glas enz (evt in stukken gebroken bij de opgraving)

Dus 1 inventarisnummer per losse vondst

 

Tabel 2: sporen

- spoornummer (uniek, elk spoor is een record)

- Vondsten (zelfde als bij losse vondst al kunnen hier per spoor wel meerdere vondsttypes aangeduid worden (aankruisvakjes)

- Vondsttype (aankruisvakje)

 

Inventarisnummer is hier een probleem aangezien er meerdere vondsttypes, en dus inventarisnummers per spoor kunnen voorkomen.

 

Tabel 3: inventarisnummer (dent volledig automatisch aangevuld te worden)

- inventarisnummer (uniek)

- spoornummer of losse vondstnummer (afhankelijk van welke tabel)

- ... andere info gekoppeld aan dit inventarisnummer

 

De inventarisnummer zou dus automatisch (via een druk op een knop) moet bijkomen. het automatisch importeren van de losse vondsten is simpel aangezien er per losse vondst slecht één inventarisnummer mogelijk is.

Maar hoe zit dat met meerdere inventarisnummers per spoor?

 

Ergens heb ik het idee dat de knop het volgende moet doen

- verwijder alle records van tabel 3 (inventarisnummer)

- haal van elke record van de losse vondsten (tabel 1) het inventarisnummer op en maak voor elke inventarisnummer een nieuwe record aan in tabel 3

- bij de spoornummers (tabel 2) kijk je bij de eerste record of ceramiek staat aangevinkt, indien ja: neem de gegenereerde inventarisnummer en voeg in tabel 3 (inventarisnummers) een nieuwe record toe met die inventarisnummer, kijk dan of faunaresten staat aangevinkt in de eerste record enz. herhaal dit voor elke record.

 

De eerste twee krijg ik voor elkaar, maar dat derde niet

3 answers to this question

Recommended Posts

  • 0
Posted

Ondertussen wat zitten zoeken en vooral proberen, maar het is nog steeds trial and error

het aanmaken van de unieke inventarisnummer laat ik nu gebeuren in tabel 3 (wat logischer is)

 

maar het aanvullen van tabel 3 met vondsten uit tabel 2 lukt nog steeds niet.

 

het volgende script heb ik en zou logischerwijs moeten werken, maar het lukt niet. (hoe kan ik trouwens de code van een script kopiëren om hier plakken?)

 

verwijder alle records tabel 3 (dit lukt)

importeer records tabel 1 (via records importeren) (dit lukt)

 

maar dan ...

 


ga naar layout tabel 2
ga naar eerste record
loop
if tabel 2::vondsttype = "Ceramiek"
 variabele instellen [ $spoornummer; waarde: tabel 2::spoornummer]
 en dit ook voor datum, vlak en andere velden
 ga naar layout tabel 3
 veld instellen [Tabel 3:: spoornummer; $spoornummer]
 en dit ook voor datum enz.
 veld instellen [Table 3:: vondstype; "Ceramiek"]
 ga naar layout tabel 2
else
 ga naar layout tabel 2
 ga naar volgende record
end if
ga naar layout tabel 2
ga naar volgende record
end loop

en dan nieuwe loopjes voor metaal, glas enz.

achteraf een sortering van tabel 3

 

maar dit geeft niets

  • 0
Posted
Ondertussen wat zitten zoeken en vooral proberen, maar het is nog steeds trial and error

het aanmaken van de unieke inventarisnummer laat ik nu gebeuren in tabel 3 (wat logischer is)

 

maar het aanvullen van tabel 3 met vondsten uit tabel 2 lukt nog steeds niet.

 

het volgende script heb ik en zou logischerwijs moeten werken, maar het lukt niet. (hoe kan ik trouwens de code van een script kopiëren om hier plakken?)

 

verwijder alle records tabel 3 (dit lukt)

importeer records tabel 1 (via records importeren) (dit lukt)

 

maar dan ...

 


ga naar layout tabel 2
ga naar eerste record
loop
if tabel 2::vondsttype = "Ceramiek"
 variabele instellen [ $spoornummer; waarde: tabel 2::spoornummer]
 en dit ook voor datum, vlak en andere velden
 ga naar layout tabel 3
 veld instellen [Tabel 3:: spoornummer; $spoornummer]
 en dit ook voor datum enz.
 veld instellen [Table 3:: vondstype; "Ceramiek"]
 ga naar layout tabel 2
else
 ga naar layout tabel 2
 ga naar volgende record
end if
ga naar layout tabel 2
ga naar volgende record
end loop

en dan nieuwe loopjes voor metaal, glas enz.

achteraf een sortering van tabel 3

 

maar dit geeft niets

 

Ondanks de wat wazige omschrijving zal ik proberen een poging te wagen om je probleem op te lossen. :)

 

Eerst even een beschrijving hoe de situatie er op dit moment uit ziet:

 

Een Vondst wordt geïdentificeerd door een bepaald VondstType, hier staat een beschrijving in wat de vondst precies in houdt. Het is mogelijk dat er een Spoor wordt gevonden, een Spoor bevat 1 tot N Vondsten. Zowel een Spoor als een Vondst kunnen worden bijgehouden in een Inventaris. Dus een Inventaris bevat 0 tot N Sporen en 0 tot N Vondsten.

 

De manier zoals jij nu de tabellen wilt vullen is wel degelijk mogelijk, alleen het script zoals staat beschreven werkt inderdaad niet. Ik zou beginnen met je databasestructuur aan te passen aan de hand van bovenstaande beschrijving, (als deze klopt, anders zou je me hier even op moeten verbeteren) dan wordt het ook gemakkelijker om de verschillende entiteiten aan elkaar te koppelen. Daarna is het slechts een kwestie van de juiste ID's in de juiste (koppel)tabellen zetten en je hebt per Inventaris een duidelijk overzicht welke Sporen en/of Vondsten hierbij horen!

  • 0
Posted

Ondertussen heb ik de oplossing gevonden (voor het grootste deel komt dit doordat ik mijn problemen hier post en dat probleem dan goed wil situeren, vaak kom ik er dan achter dat ik verkeerd bezig ben)

 

de oplossing van het script is:

 

naar layout tabel 2 gaan (sporentabel)

daar een zoekopdracht uitvoeren of er ceramiek in werd gevonden

dan pas de loop starten om bepaalde gegevens van de ene tabel (tebel 2) naar de andere tabel (tabel 3) over te zetten en op enkele nog bewerkingen uitvoeren

einde loop

 

zoekopdracht voor elk type vondst herhalen

 

en het hele werkje herhalen voor tabel 1 (losse vondsten)

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