Avatar billede sec Nybegynder
24. januar 2001 - 15:04 Der er 4 kommentarer og
1 løsning

Deling af post i 2 eller flere

Jeg har en tabel med et projektnavn, hvor jeg så kan tilknytte en eller flere personer til projektet. Når der f.eks er 3 personer tilknyttet et projekt, angiver jeg hver person i et kontrolelement.
Jeg har 6 kontrolementer til initialer for hver post.

Lad os nu sige jer kun har en post i databasen (access97), hvor der er 3 personer tilknyttet projektet.
MEN nu vil jeg gerne have lavet en ekstra forespørelse som indeholder 3 poster, hvor posterne naturligvis har samme projektnavn men med 3 forskellige initialer(personer).
Hvordan laver man det??
Jeg skal resultatet i en rapport

stig echroll@get2net.dk
Avatar billede kru Nybegynder
27. januar 2001 - 14:44 #1
Hvis du mener det jeg tror du mener kan det godt lade sig gøre, men det er besværligt og det er et lidt forkert spor at gå ud af.

Det er meget bedre hvis du laver om på dit tabeldesign, således at der kan tilknyttes vilkårlig mange personer til hvert projekt.
Alternativet er noget fnidder med at hive det hele ind i et modul og tæske rundt i data¨med alle mulige regler og undtagelser.

Her er hvad jeg synes du skal gøre:

TabelPersoner:

INITIALER * AA * BB * CC * DD * EE * FF *
*****************************************
ProjektID * 1  * 1  * 2  * 1  * 1  * 2


Tabel projekter:

ID    *      1          *          2
***********************************************
Navn  * Projekt xxxxxxx  *  Et andet projekt

, hvilket ved join i din fsp. giver output:

\"Projekt xxxxxxx\", \"AA\"
\"Projekt xxxxxxx\", \"BB\"
\"Projekt xxxxxxx\", \"DD\"
\"Projekt xxxxxxx\", \"EE\"

\"Et andet Projekt\", \"CC\"
\"Et andet Projekt\", \"FF\"

Brugen af relationer og indeks er essentiel i databasedesign. Den struktur du skitserer kan med fordel anvendes med en tabel i Word eller XL (Det er faktisk et tilbagevendende problem at man forsøger at omforme en database til at opføre sig som en af dem, dvs. du er langtfra den eneste ;o)). Word og XL har nemlig både søgning, sortering og mulighed for brug af formularer og det er meget lettere at lave \"alt på en linie\" løsninger med disse applikationer.

Brugen af databaser kommer først til sin berettigelse, når antallet af poster bliver for stort eller det af en eller anden grund bliver vigtigt at undgå dataredundans. Især i situationer hvor et vilkårligt antal af en slags (F.eks. personer), skal hænge sammen med én bestemt af en anden slags (F.eks. projekter).

Hvis du vil løse ovenstående skal du enten programmere det med recordsets i VBA, eller du skal lave en UNION-forespørgsel i SQL med (i dit tilfælde) 5 unions (Hvilket er noget rod) ala:

SELECT TB.Projekt, TB.INI1 AS init FROM TB WHERE TB.Projekt = \"Det relevante projekt\" UNION SELECT TB.Projekt, TB.INI2 AS init FROM TB WHERE TB.Projekt = \"Det relevante projekt\" UNION SELECT TB.Projekt, TB.INI3 AS init FROM TB WHERE TB.Projekt = \"Det relevante projekt\" UNION SELECT TB.Projekt, TB.INI4 AS init FROM TB WHERE TB.Projekt = \"Det relevante projekt\" UNION
SELECT TB.Projekt, TB.INI5 AS init FROM TB WHERE TB.Projekt = \"Det relevante projekt\" UNION
SELECT TB.Projekt, TB.INI6 AS init FROM TB WHERE TB.Projekt = \"Det relevante projekt\";

,og det er du selvfølgelig nød til at skrive direkte i SQL da fsp-designeren ikke understøtter UNION.

Hvis du har brug for hjælp til tabeldesignet så skriv igen eller mail en zip af din database.

Håber det hjælper, Jan ;o)))
Avatar billede sec Nybegynder
29. januar 2001 - 12:34 #2
Du har ret i, at listen jeg vil lave er en udløber fra Word.
Der er en person i nyhedsgruppen dk.edb.database.ms-access der har anbefalet at jeg laver en UNION.
Men jeg har været fastlåst i min tankegang. Selvfølgelig er det bare en EN TIL MANGE RELATION mellem tabellen Projekt og Mearbejder(Initialer).
Det var den sorte klap der gik ned.
Mange tak for oplystheden.

stig
Avatar billede sec Nybegynder
29. januar 2001 - 12:35 #3
hvordan tildeler man point til personer. jeg har 30 point ude og du har fortjent dem JAN.

stig
Avatar billede kru Nybegynder
30. januar 2001 - 08:06 #4
velbekomme Stig ;o)....

Ups! Var det en kommentar jeg havde sendt afsted?? Så får du et svar her.
Avatar billede kru Nybegynder
30. januar 2001 - 08:17 #5
Selvfølgelig får du akkurat det samme (eller \"modsatte\") problem, når du skal skrive listen ud, hvis den skal være pr´æcis magen til den fra Word. Især hvis det er et krav at udskriften er identisk med Wordlisten.

Men jeg er stadig enig med dig i at relationer er den bedste løsning.

Skulle det andet problem opstå kan du evt. overveje at tilføje et \"Projektmedarbejdernr\"-felt med et tal fra 1 til 6, så du kan få fordelt medarbejderne ud på kolonner igen.
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