Avatar billede koonz Nybegynder
16. november 2006 - 20:04 Der er 16 kommentarer og
1 løsning

Problem med joins

Hej
Jeg arbejder med joins / relationer i denne database http://www.blackend.dk/061302_Elementlist.mdb

Probelmet opstår i min T_Signals tabel. Som jeg ser det, er jeg nødt til at linke hvert input (signal) til ElementID (I T_ELEMENTS) OG til TypeTemplateID (I T_TYEPTEMPLATES).

Det giver så følgende fejl "Ambiguous joins"

Jeg har svært ved at finde løsningen

Ulrik
Avatar billede mugs Novice
16. november 2006 - 20:08 #1
Prøver du at joine et alfanumerisk felt med et numerisk?
Avatar billede terry Ekspert
16. november 2006 - 20:12 #2
Can you try and explain what the table contain and how they are related?
Your RElationships Diagram isnt the same as your query????
Avatar billede terry Ekspert
16. november 2006 - 20:15 #3
Try this

SELECT T_TYPETEMPLATES.*, T_SIGNALS.*, T_ELEMENTS.*, T_TYPES.*
FROM T_TYPES RIGHT JOIN ((T_TYPETEMPLATES LEFT JOIN T_SIGNALS ON T_TYPETEMPLATES.TypeTemplateID = T_SIGNALS.TypetemplateID) LEFT JOIN T_ELEMENTS ON T_SIGNALS.ElementID = T_ELEMENTS.ElementID) ON T_TYPES.TypeID = T_TYPETEMPLATES.TypeID;
Avatar billede terry Ekspert
16. november 2006 - 20:16 #4
This i sa wild guess as we doont know anything about your table design
Avatar billede koonz Nybegynder
16. november 2006 - 21:25 #5
I'll try to expalin what i whant to do...

The table T_ELEMENTS holds my "elements" each element has a type (or template if you like). Each type has different numbers of signals.
In fact what i need, is to use qryTest - but to be able to put in data in the signal column based on an element and a type/template.

I'm not sure this is the correct way of building the DB - maybe i need an extra table to keep joins together....i'm not sure
I hope this helps you - kinda hard to explain in text ;)
Avatar billede Slettet bruger
16. november 2006 - 23:02 #6
Jeg syntes godt nok det er vanskeligt at finde ud af hvad du har lavet og hvad du ønsker at lave. Prøv at forklare på almindelig dansk, hvad du ønsker!~)

Hvad er elements, typer og signaler. Hvorfor har du ingen formularer, hvad skal databasen kunne gøre, osv...
Avatar billede koonz Nybegynder
17. november 2006 - 08:27 #7
Ja - jeg kan godt se det er vanskeligt - det er heller ikke en helt almindelig database. Jeg har ikke opbygget formularer fordi jeg vil have min database til at hænge rigtig sammen først - det er også muligt jeg laver min frontend i Delphi, c# eller lign.

Databasen skal bruges til at holde styr på "Automatik signaler" i et
ventilations system. Forstil dig at typerne kune være: Spjæld,
ventilator, temperaturføler.
Alt efter hvilken type der vælges, har typen et antal siganler.
Hvis det f.eks. er et spjæld kunne det have følgender signaler


Command Open, Output, A0.0
Position Open, Input, E1.0
Position closed, input E1.1


Hvis det var en ventilator kunne det se ud som følgende
Command start, Output A2.0
Running, Input E1.2


Min ide var så at skabe en "main" tabel, hvor jeg angiver mit "element
nummer" og "type"
Spjæld01, Type100, (diverse andre informationer)
På denne tabel hænger så en anden tabel hvori mine data findes
altså
A0.0
E1.0
E1.1


Type tabellen opbygges helt manuelt.

Det skal så være således at den valgte "type" er bestemmende for
hvilke data, jeg kan indtaste, og at "type teksterne" fremgår ved
indtastning at de 3 værdier.


Det er nok en smule kompleks - jeg håber du forstår meningen. Det der
især volder mig problemer er at lave min query/struktur således den
fremstår rigtigt. Hvis vi tager spjæld01 igen, var ideen at
opslaget/input kunne se ud som følgende.


Master tabel
Spjæld01, Type100
Detail tabel
Command Open, Output, A0.0
Position Open, Input, E1.0
Position closed, input E1.1

Bemærk "Command Open, Output," kommer jo fra type tabellen og skal således ikke indtastes - det er kun signalet "A0.0"

Det er meget kompleks at beskrive i tekst - jeg håber du fik fat i det meste.
Hvis muligt, kan du måske starte på en DB og sende mig den på blackend@blackend.dk og så kan vi arbejde ud fra den - hvis det giver en bedre reference end min DB.
Avatar billede Slettet bruger
17. november 2006 - 10:31 #8
Jeg har sendt et eksempel!~)
Avatar billede koonz Nybegynder
17. november 2006 - 12:06 #9
Hej spg
Det lugter lidt af det rigtige - dog kun lidt
Jeg kunne godt tænke mig at få alle 3 indtastningsfelter ved valg af f.eks. typen spjæld
Se evt. ovenstående beskrivelse af master/detail tabeller.

Jeg kan ikke lure hvor du har lavet relationerne ?
Avatar billede Slettet bruger
17. november 2006 - 12:25 #10
Relationerne ligger i formularen og i kombiboksene.. altså i de forespørgsler, som bliver brugt som kilde!~)

Hvis du vil have alle i detaildelen på en gang, så vil en hoved-/underformular opsætning være en god måde...

Jeg sender lige!~)
Avatar billede Slettet bruger
17. november 2006 - 13:01 #11
Det trækker lige lidt ud...
Avatar billede Slettet bruger
17. november 2006 - 13:43 #12
Jeg når vist ikke at se mere på det idag, sorry!~)
Avatar billede koonz Nybegynder
28. november 2006 - 09:19 #13
Hej spg
Jeg har selv været hængt lidt op på det seneste :(
har du haft tid at kigge på det ?
Avatar billede Slettet bruger
28. november 2006 - 11:36 #14
Hej, nej... det drillede lidt og så løb jeg tør for tid. Håber at jeg lige får kigget på det snarest muligt!~)
Avatar billede koonz Nybegynder
28. november 2006 - 12:14 #15
Oki - jeg venter med spænding :)
Avatar billede Slettet bruger
09. januar 2007 - 09:48 #16
Så blev der et øjeblik frit (og så var det ovre)....

Sendt!~)
Avatar billede Slettet bruger
09. januar 2007 - 09:49 #17
ps. der er hjælpetekster, hvis du holder cursor over de forskellige lister m.m.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester