Avatar billede quarkb Nybegynder
16. august 2006 - 22:09 Der er 7 kommentarer og
1 løsning

Sammenlægning af flere tal felter i samme database

Database: Forbrug
Felter:
ID
Type
RefNr
Beloeb
Dato

Jeg vil gerne have lagt beløbet (Felt Beloeb) for alle de poster som har samme RefNr.

Hvordan gøres det nemmest?
Avatar billede lorentsnv Nybegynder
16. august 2006 - 22:11 #1
Hvis du laver SQL for at hente data, kan du prøve følgende:

Select RefNr, Sum(Beloeb)
From Forbrug
Group by RefNr

Så får du sum af beloeb på hvert RefNr
Avatar billede quarkb Nybegynder
16. august 2006 - 22:18 #2
Den må jeg lige have skåret ud i pap...
Her er min database åbning:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open Application( "DBPATH" )
   
sql = "SELECT * FROM [Forbrug]"
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql, conn, 3,3
Avatar billede quarkb Nybegynder
16. august 2006 - 22:31 #3
Rettelse:
Jeg vil gerne have sammenlagt beløbet (Felt Beloeb) for alle de poster som har samme RefNr, og indsat det i variablen Total
Avatar billede lorentsnv Nybegynder
16. august 2006 - 23:07 #4
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open Application( "DBPATH" )
   
sql = "SELECT RefNr, Sum(Beloeb) as Beloeb FROM [Forbrug] GROUP BY RefNr"
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql, conn, 3,3

Ovenstående giver en linie pr. RefNr, og sum af beløb som tilhører det enkelte ref.nr. Ovenstående SQL fungerer på en SQL Server, men jeg tror den vil fungere mod de fleste relationelle databaser.

Er det hvad du søger?
Avatar billede quarkb Nybegynder
17. august 2006 - 07:35 #5
Jeg bruger en access database.

Jeg ved ikke rigtigt om jeg har beskrevet min ønske helt rigtigt.

e.eks. på database indhold:
Post 1:
ID = 1
Type = Fuel
RefNr = FR01
Beloeb = 100
Dato = 12-08-2006

Post 2:
ID = 2
Type = Fuel
RefNr = FR01
Beloeb = 300
Dato = 15-08-2006

O.s.v.

Jeg vil gerne havde felterne Beloeb hvor RefNr er f.eks FR01 lagt sammen og indsat i variablen Total.
Avatar billede quarkb Nybegynder
17. august 2006 - 07:51 #6
Jeg har nu fået det til at virke med dit forslag, blot med lidt til retning.
sql = "SELECT Sum(Beloeb) as Beloeb FROM [Forbrug] WHERE RefNr LIKE '%" & REF & "%'"
Giver det ønsket resultat.

Tak for hjælpen, lav et svar og pointene er dine.

:o)
Avatar billede lorentsnv Nybegynder
17. august 2006 - 09:16 #7
God du fik det til at virke :-)

Er det en grund til at du bruger

WHERE RefNr LIKE '%" & REF & "%'
og ikke
WHERE RefNr = REF

(Jeg antager at REF er en variable som indeholder det RefNr du ønsker.
Hvis du kun kender en del af RefNr, eller du ønsker flere RefNr, som har en del af teksten til fælles, lagt sammen, så er din løsning den rigtige. Men hvis du kender det eksakte RefNr, vil det være hurtigere at bruge WHERE RefNr = REF, forudsat at du søger et unikt kendt RefNr.
Avatar billede quarkb Nybegynder
17. august 2006 - 21:38 #8
Jeg har rettet det til WHERE RefNr = REF

Igen 1.000 tak for din hjælp.
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
Kurser inden for grundlæggende programmering

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