Hulp met Access bij teksten naar regels

Status
Niet open voor verdere reacties.

siekie

Nieuwe gebruiker
Lid geworden
29 dec 2012
Berichten
1
Goedenavond,

Ik ben nieuwe op deze forum, maar ook in access. Na veel online zoeken loop ik nu wel vast in access 2016, vandaar mijn bericht.

Waar ik tegenaanloop is, ik heb een tabel "IFCPROPERTYSET_BYPROPERTIES" met 5 a 6 kolommen maar er zijn twee belangrijke kolommen "IfcRoot_nummer" en "HasAssociations". In de kolom "IfcRoot_nummer" staan verschillende regelnummers(bv.#169063, #169098 etc.) en bij "HasAssociations" staan de regels die gekoppeld zijn aan de "IfcRoot_nummer"(bv. voor #169063: #791,#792,#794,#169054,#169055 & voor #169098: #811,#5071,#104306,#168103,#168104,#168105,#168106) zo zijn er nog meer regels bij de ene keer krijg je bij "HasAssociations" een regel met 1 regelnummer en bij een andere regel krijg je een regel met 7 regelnr of 10 regelnr die verdeelt zijn met een komma, net als hierboven.
Waar ik tegen aan loop is dat ik een sql wil maken in een query om alle regels in de "HasAssociations" onder elkaar te krijgen met hun gekoppelde "IfcRoot_nummer" regel. voorbeeld:
#169063 --> #791
#169063 --> #792
#169063 --> #794
#169063 --> #169054
#169063 --> #16905591
#169098 --> #811
#169098 --> #5071
#169098 --> #104306
#169098 --> #168103
#169098 --> #168104
#169098 --> #168105
#169098 --> #168106

Zie ook IFCRELDEFINESBYPROPERTIES_Query hoe ik deze twee kolommen wil koppelen om zo een koppeling te kunnen maken met de tabel IFCPROPERTYSINGLEVALUE

Kan iemand mij helpen met het schrijven van deze sgl query?
zie wetransfer Download link
https://wetransfer.com/downloads/a5...65f06fb511248dcd441e231920181030211338/3a7cec

Groeten,
Siekie
 
Allereerst nog welkom bij HelpMij, al denk ik zelf dat iemand die al 6 jaar staat ingeschreven niet echt meer als 'nieuw lid' in de boeken staat :). Maar het is je debuut als vraagsteller, zullen we maar denken :). In dat kader wil ik je natuurlijk graag een positief antwoord geven, maar dat gaat er deze keer niet van komen vrees ik. Ik heb je tabellen bekeken, en er schort nogal wat aan vrees ik. Wat betreft je vraag (laten we daar mee beginnen): jouw probleem kun je niet oplossen met een query, omdat je in het veld [HasAssociations] geen unieke waarden opslaat. In een query is dat dodelijk als het gaat om de data vervolgens te scheiden. Dat had wellicht nog wel met een stevige truc mogelijk geweest als de data consistent was, maar dat is het ook niet. Consistent in dit geval is dan: van gelijke lengte, of van gelijke aantal tekenreeksen. Maar jij hebt er deze varianten al instaan: "#767,#768", "#168071" en "#800,#801,#104300,#169056,#169057". En dat zijn dan nog maar een paar varianten.

Hier is maar één oplossing voor: de data splitsen met een VBA procedure. En zorgen voor een definitieve oplossing voor je probleem (je bent toch bezig met een procedure): zorg voor een aparte tabel voor het veld [HasAssociations] die je koppelt aan de tabel [IFCPROPERTYSET_BYPROPERTIES] met een één-op-veel relatie. En dan komen we gelijk bij de andere problemen: je koppelt de tabellen op de verkeerde manier, en je gebruikt in je sleutelvelden (en ook andere velden trouwens) een # teken, wat in beginsel een gereserveerd teken is in Access (voor datumfilteringen). Het is erg onhandig om gereserveerde tekens te gebruiken als dat niet absoluut nodig is. Probeer dat zoveel mogelijk te vermijden.
Vraag is nu: hoe wil je verder?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan