Avatar billede fredeb Nybegynder
04. september 2006 - 17:44 Der er 11 kommentarer

Sammenlægge 2 eller flere poster til 1

Hvordan lægger men 2 eller flere felter fra 2 eller flere poster sammen til et felt i en post?
Avatar billede mugs Novice
04. september 2006 - 18:35 #1
Hvis du mener at addere (plusse)kan du i en forespørgsel benytte:

[felt1]+[felt2]+[felt3]

Hvis et eller flere felter kan indeholde en Nul-streng, skal du bruge funktionen Nz.

Hvis du mener at sammenstille 2 felter (Jens i det ene felt), og Andersen i et andet felt):

Udtryk1:[felt1]&" "&[felt2]

Så vil Udtryk1 indeholde Jens Andersen
Avatar billede mugs Novice
04. september 2006 - 18:36 #2
Hvis du vil opsummmere et antal poster afgør fremgangsmåden i hvilket objekt du vil gøre det.
Avatar billede terry Ekspert
04. september 2006 - 18:49 #3
It all depends on your table/fields. Is there any relationship between the records, and and if so, is there a maximum number of records which you want to see in one record.

If the number of records you want to put into one record is not fixed then fixed you woould need to build a query dynamically to add new fields.
Avatar billede terry Ekspert
04. september 2006 - 18:50 #4
is not fixed then fixed you woould need = is not fixed then you would need ...
Avatar billede fredeb Nybegynder
04. september 2006 - 19:28 #5
De 2 felter i kollonnen Bemærkninger skal slåes sammen til en, kollonnen ADD_LINE kan undlades.
Kollonnen Bemærkninger er af datatypen Long



Jobnummer    Bemærkninger                            ADD_LINE
1223119            SKAL SKIFTES:                                      20
1223119            Ventilen skal udskiftes.Tid ca 13 timer     10

Håber det kaster lidtmere lys over problemet
Avatar billede Slettet bruger
06. september 2006 - 10:35 #6
Mener du at jobnummer og bemærkninger skal stå i et og samme felt?~)

Så går du i egenskaber for den aktuelle formular trykker på de 3 prikker ved siden af rækkekilde. Så kan du lave en forespørgsel...

Du vælger din tabel og vælger de felter du skal bruge, herefter skriver du i et tomt felt:

NyBemærkning: [Jobnummer] & [Bemærkninger]

eller

NyBemærkning: [Jobnummer] & " " & [Bemærkninger]

alt efter om du vil have et mellemrum med eller ej!~)

ps. du kan selvfølgelig også hægte ADD_LINE på...
Avatar billede fredeb Nybegynder
06. september 2006 - 10:40 #7
Nej der hvor jobnummer er ens skal bemærkninger skrives i samme felt så der kun er 1 post med jobnummer 1223119 og 1 felt med begge bemærknings linier
Avatar billede Slettet bruger
06. september 2006 - 10:50 #8
Ja, det er unægteligt lidt mere tricky og kan det ikke gå hen og blive temmelig uoverskueligt... Hvis der nu er mange med samme jobnummer.

Hvordan bruger du det, for det smarteste kunne måske være at på din formular, der fjerner du bemærkning og har kun jobnummer. Så indsætter du en underformular med bemærkninger og jobnummer. Så hæfter du dem sammen med jobnummer og får dermed alle bemærkninger samlet!~)

eller hvordan skal det bruges...
Avatar billede fredeb Nybegynder
06. september 2006 - 11:38 #9
Jeg har selv løst problemet dog ikke på en særlig elegant måde
Jeg har delt problemet op i små bidder

1.
SELECT DISTINCT DSTM7I_PROD_R5ADDETAILS.ADD_CODE
FROM DS7IPKIK_R5EVENTS INNER JOIN DSTM7I_PROD_R5ADDETAILS ON DS7IPKIK_R5EVENTS.EVT_CODE = DSTM7I_PROD_R5ADDETAILS.ADD_CODE
WHERE (((DS7IPKIK_R5EVENTS.EVT_PROJECT)="00026") AND ((DS7IPKIK_R5EVENTS.EVT_ORG)="ENV"));

2.
SELECT Ny_text.ADD_CODE, "Linie : " & [ADD_LINE] & " " & [ADD_TEXT] AS Bemærkning
FROM Ny_text INNER JOIN DS7IPKIK_R5EVENTS ON Ny_text.ADD_CODE = DS7IPKIK_R5EVENTS.EVT_CODE
GROUP BY Ny_text.ADD_CODE, "Linie : " & [ADD_LINE] & " " & [ADD_TEXT], DS7IPKIK_R5EVENTS.EVT_PROJECT, DS7IPKIK_R5EVENTS.EVT_ORG
HAVING (((DS7IPKIK_R5EVENTS.EVT_PROJECT)="00026") AND ((DS7IPKIK_R5EVENTS.EVT_ORG)="ENV"));

3.
SELECT Kun_jobnummer.ADD_CODE, [Tekst+linienr].Bemærkning AS Linie_10
FROM Kun_jobnummer RIGHT JOIN [Tekst+linienr] ON Kun_jobnummer.ADD_CODE = [Tekst+linienr].ADD_CODE
GROUP BY Kun_jobnummer.ADD_CODE, [Tekst+linienr].Bemærkning
HAVING ((([Tekst+linienr].Bemærkning) Like "Linie : 1*"));

4.
SELECT Kun_jobnummer.ADD_CODE, [Tekst+linienr].Bemærkning AS Linie_20
FROM Kun_jobnummer RIGHT JOIN [Tekst+linienr] ON Kun_jobnummer.ADD_CODE = [Tekst+linienr].ADD_CODE
GROUP BY Kun_jobnummer.ADD_CODE, [Tekst+linienr].Bemærkning
HAVING ((([Tekst+linienr].Bemærkning) Like "Linie : 20*"));

5.
SELECT [Linie 10].ADD_CODE, [Linie_10] & " " & [Linie_20] & " " & [Linie_30] AS Bemærkning
FROM ([Linie 10] LEFT JOIN [Linie 20] ON [Linie 10].ADD_CODE=[Linie 20].ADD_CODE) LEFT JOIN [Linie 30] ON [Linie 10].ADD_CODE=[Linie 30].ADD_CODE;

Og det giver det ønskede resultat som så kan bruges i rapporten
Avatar billede Slettet bruger
06. september 2006 - 11:40 #10
Bare det virker!~)
Avatar billede Slettet bruger
06. september 2006 - 14:26 #11
Husk at lukke spm...
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