Avatar billede moba Nybegynder
09. maj 2005 - 14:03 Der er 9 kommentarer og
1 løsning

sql mm

Hejsa
Jeg har en forespørgsel som viser x antal medarbejdere fra tabelmedarbejder. Jeg vil nu for hver record, tilføje data fra tabelxyz(ikke opdatere bare vise i forespørgsel). Det der er problemet er at der er 4 rækker med data i tabelxyz, og at jeg derfor i min forspørgsel får 4 rækker pr medarbejder. Det jeg ønsker er at jeg får en række pr medarbejder med de 4 rækker data fra tabelxyz vist som felt efter hinanden. Er det til at forstå? Ellers skal jeg illustrere det pædagogisk
NU:
nr  Navn        datafratabelxyz
1240 Jens Jessen Rød
1240 Jens Jessen Grøn
1240 Jens Jessen Gul
1240 Jens Jessen Blå
Ønsket løsning:
nr  Navn        exp1 exp2 exp3 exp4
1240 Jens Jessen Rød  Grøn Gul  Blå

Jeg ønsker altså data fra tabelxyz vist som felter, og ikke bare eet felt med sammensat data. 
Morten
Avatar billede terry Ekspert
09. maj 2005 - 14:24 #1
You need to make a sub select for each calculated column.
You can also use Dlookup

In a new coulm you would use
Rød:Dlookup("FieldName", "tabelxyz", "FieldName = 'Rød'")

and if we are using Danish regional settings
Rød:Dlookup("FieldName"; "tabelxyz"; "FieldName = 'Rød'")
Avatar billede terry Ekspert
09. maj 2005 - 14:26 #2
this is justan example. If your records in table tabelxyz are numbered with an ID field (1,2,3,4) then

fld1:Dlookup("FieldName", "tabelxyz", "FieldName = 1")
fld2:Dlookup("FieldName", "tabelxyz", "FieldName = 2")
.
.
Avatar billede moba Nybegynder
09. maj 2005 - 14:36 #3
Sorry jeg har vist ikke forklaret mig ordentligt.
De data der er i tabelxyz (de 4 rækker) kender jeg ikke indholdet af på forhånd, det er bare en tekststreng. Jeg kan altså ikke søge på noget, men skal have alle rækkerne vist som felter.
Hvordan laver jeg alternativt eet felt med alle rækkerne sammensat med , eller ;?
Avatar billede terry Ekspert
09. maj 2005 - 14:51 #4
Dont know any easy way to do this if you are saying that the number of rows can change in tabelxyz.
So I think you will have to go over to code. Make a function in a module which opens a recordset on the table. If you have an ADO recordset then you can use the GetString method to return ALL records into a string delimited by a character of your choice. Then you can call the function inthe query to return all columns as ONE string
Avatar billede terry Ekspert
09. maj 2005 - 14:53 #5
do you always have 4 columns or what?
Avatar billede moba Nybegynder
09. maj 2005 - 14:53 #6
Ok jeg forsøger mig med den sidste løsning
Morten
Avatar billede terry Ekspert
09. maj 2005 - 14:56 #7
Morten, are there always only 4 records in the table?
Avatar billede moba Nybegynder
09. maj 2005 - 15:01 #8
sorry, no, det er forskelligt.
Avatar billede terry Ekspert
09. maj 2005 - 15:05 #9
Ok, then the code method is what you will need to use I think
Avatar billede terry Ekspert
10. maj 2005 - 19:14 #10
thanks, hope you got something working
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