dummabua Geschrieben 6. Mai 2003 Teilen Geschrieben 6. Mai 2003 Hi@all, also ich versuch etz mal mein problem so zu beschreiben, damit ihr des versteht. wir haben hier eine datenbank die zuerst auf einem alten system lief (ka welches). in dieser datenbank geht es darum, offene stellen hier im betrieb für geistig oder körperlich behinderte Menschen auszuschreiben, d.h. es gibt bei allen arbeitsplätzen hier bestimmte, festgelegte bedingungen wie z.B langes arbeiten im stehen (also sprich Tätigkeiten die in der stelle verrichtet werden müssen). das sind insgesamt 20 verschiedene bedingungen (lacke, stehend arbeiten, nachtschicht etc...). nun wurde die datenbank, in der ca. momentan ~ 2000 datensätze vorhanden sind in access exportiert. so weit so gut. nun sollte ich die daten so aufbereiten damit man formulare und berichte ausdrucken bzw mittels des formulars daten ergänzen oder ändern kann. das ging ja ganz schnell. nun aber: die datenbanken wurden nicht in eine sondern in 2 datenbanken exportiert. in der einen sind 2000 datensätze die durch einen autowert eindeutig identifiziert werden, und in der anderen sind 20000 datensätze drinnen. ok warum ist das so. der hintergrund ist der, das die mit den 20000 datensätzen nur die fortlaufende nummer und die zutreffenden jeweiligen einschränkungen enthält. ich mach mal ein beispiel Tabelle1: Spalte1------------------Spalte2-----------------------Spalte3----Spalte4-----Spalte5 (fortlaufende nr.)------(bezeichnung der stelle)---etc------------etc-----------etc 34-------------------------Türenmontage---------------xxx-----------xxx-----------xxx so in der ersten Tabelle sieht man einmal die bezeichnung der spalten in klammern und ein beispiel (34) so, diese stelle (34) hat auch solche anforderungen an den arbeiter und die stehen in der tabelle2 Tabelle2: Spalte1-------------------------------------Spalte2 (fortlaufende nummer wie oben)------zutreffende einschränkung 34--------------------------------------------01A 34--------------------------------------------02A 34--------------------------------------------07 34--------------------------------------------09 etc.... so mein problem is nun, das in der 2.ten Tabelle die daten untereinander stehen. beispiel 34 hat sagen wir mal 4 bedingungen (siehe tabelle 2) nun belegt dies aber 4 zeilen und ich will die daten in der form haben: Spalte1-------------------Spalte2------------Spalte3-----------------Spalte4------------etc..... fortlaufende nummer---01A-----------------02A----------------------07------------------09 also das die einschränkunken ned untereinander sondern nebeneinander stehen... wie kriege ich die daten aus tabelle 2 am besten in die von mir gewünschte form??? ich weiss des is alles verwirrend, wenn etwas noch unklar is, fragt einfach danke für jeden vorschlag cu db:D Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HolzOnkel Geschrieben 6. Mai 2003 Teilen Geschrieben 6. Mai 2003 ..also..ich hätte da schon eine Idee für einen Möglichkeit, das alles mit einem Select raus zu holen - dafür bin ich auf Arbeit berüchtigt... Also, ich bau das mal hier als Beispiel - ich hoffe, es wird dann klar. :floet: Der Select besteht aus einem Select auf eine Untermenge, welche durch einen Union erstellt wird und dann per Group by zusammen gefasst. Das Ganze geht nur, wenn Du eine fixe Anzahl von Feldern hast, die Du "in die Horizontale" kriegen willst. Sieht verworren aus, will ich nicht leugnen, aber es hilft... falls es unter Access funzt, was ich nicht garantieren kann. SELECT nummer, MAX(bed1) AS bed1, MAX(bed2) AS bed2, ... (usw)... FROM ( SELECT nummer, 1 AS bed1, 0 AS bed2, ... usw FROM tabelle WHERE feld='bed1' UNION SELECT nummer, 0 AS bed1, 1 AS bed2, ... usw FROM tabelle WHERE feld='bed2' UNION... ) GROUP BY nummer Der Innere Teil, der UNION, erstellt die Untermenge, auf die selektiert wird. Damit bekommst Du als Ergebnis etwas zurück, was (sortiert) ungefähr wir folgt aussehen dürfte: nummer|bed1|bed2|bed3 ------------------------------------------------------------------------------------------------- 34 | 1 | 0 | 0 34 | 0 | 0 | 1 38 | 0 | 0 | 1 43 | 0 | 1 | 0 43 | 0 | 0 | 1 ... ...und so weiter Wenn Du darauf dann den Äusseren Teil anwendest, müsste das Ergebnis dank Group by wie folgt lauten: nummer|bed1|bed2|bed3 ------------------------------------------------------------------------------------------------- 34 | 1 | 0 | 1 38 | 0 | 0 | 1 43 | 0 | 1 | 1 ... :mod: (Sorry, ich bekomme es hier nicht besser formatiert. An die Board-Admins: wie wäre es denn mal mit "table"-tags?) Ich hoffe, das ist klar genug, wenn nicht... fragen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 6. Mai 2003 Teilen Geschrieben 6. Mai 2003 |nummer|bed1|bed2|bed3| ----------------------- | 34 | 1 | 0 | 0 | | 34 | 0 | 0 | 1 | | 38 | 0 | 0 | 1 | | 43 | 0 | 1 | 0 | | 43 | 0 | 0 | 1 | Das ganze in nem Text Editor schreiben und in code Tags packen. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dummabua Geschrieben 7. Mai 2003 Autor Teilen Geschrieben 7. Mai 2003 ich werd das mal versuchen,... danke für die antwort Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HolzOnkel Geschrieben 7. Mai 2003 Teilen Geschrieben 7. Mai 2003 Original geschrieben von Jaraz |nummer|bed1|bed2|bed3| ----------------------- | 34 | 1 | 0 | 0 | | 34 | 0 | 0 | 1 | | 38 | 0 | 0 | 1 | | 43 | 0 | 1 | 0 | | 43 | 0 | 0 | 1 | Das ganze in nem Text Editor schreiben und in code Tags packen. Gruß Jaraz ..bin ich zublöd für... ...tja, wer lesen kann, ist klar im Vorteil... :mod: Mea Culpa! Gruss, der Onkel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dummabua Geschrieben 9. Mai 2003 Autor Teilen Geschrieben 9. Mai 2003 habs mit ner kreutztabellenabfrage gelöst, trotzdem danke @ holzonkel:D ~~zu~~ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.