Avatar billede rusti Nybegynder
28. januar 2005 - 22:01 Der er 21 kommentarer og
1 løsning

Hvordan lægger man alle felter fra en database sammen

Hej

Er der nogen der ved hvordan man i Visual Basic 6.0 lægger alle poster i en kolonne fra en database sammen også selv om der bliver oprettet en ny post.
Avatar billede arne_v Ekspert
28. januar 2005 - 22:19 #1
Kan du ikke bruge SQL's sum funktion:

SELECT SUM(felt) FROM tabel

?
Avatar billede rusti Nybegynder
28. januar 2005 - 22:32 #2
den siger den ikke ved hvad SUM betyder
Avatar billede rusti Nybegynder
28. januar 2005 - 22:44 #3
det skal lige siges at det er en access database der bruges
Avatar billede arne_v Ekspert
28. januar 2005 - 22:51 #4
Access kender også SUM.

Må vi se nogle få linier kode ?
Avatar billede rusti Nybegynder
28. januar 2005 - 22:54 #5
jeg har kun skrevet det du skrev og ikke andet for jeg ved ikke hvad jeg ellers skal skrive
Avatar billede arne_v Ekspert
28. januar 2005 - 22:57 #6
Du skal jo have lavet en forbindelse til database inden du kan eksekvere
SQL sætninger ...
Avatar billede rusti Nybegynder
28. januar 2005 - 23:02 #7
jeg har prøvet at skrive SELECT SUM(Kilometer) FROM Indkørt hvor Kilometer er feltet i tabellen og indkørt er database navnet men når jeg vil gå videre til næste linie siger den compile error og så bliver hele teksten rød og sum bliver markeret med blåt.
Avatar billede rusti Nybegynder
28. januar 2005 - 23:04 #8
den bliver åbnet med det samme jeg kører programmet
Avatar billede rusti Nybegynder
28. januar 2005 - 23:14 #9
jeg har lavet en SQL sætning som åbner databasen og det virker fint for jeg kan sagtens gemme ned i databasen og hente det igen men det er jo også kun et felt
Avatar billede rusti Nybegynder
28. januar 2005 - 23:18 #10
dette er hvad jeg bruger til at åbne databaserne med

'Åbner databaserne
denAnsatte.conAnsatte.Open "Provider=Microsoft.Jet.OLEDB.4.0;;Persist Security Info=False;Data Source=" + App.Path + "\Oplysninger.mdb"
denIndkort.conIndkort.Open "Provider=Microsoft.Jet.OLEDB.4.0;;Persist Security Info=False;Data Source=" + App.Path + "\Indkørt.mdb"
'Åbner Tabellerne
denAnsatte.rscomAnsatte.Open "SELECT * FROM Oplysninger"
denAnsatte.rscomFirma.Open "SELECT * FROM Firma"
denIndkort.rscomIndkort.Open "SELECT * FROM Indkørt"
Avatar billede arne_v Ekspert
28. januar 2005 - 23:21 #11
ah - nu kom der noget kode

denIndkort.rscomIndkort.Open "SELECT SUM(Kilometer) FROM Indkørt"

måske
Avatar billede rusti Nybegynder
29. januar 2005 - 05:34 #12
Undskyld jeg havde glemt at sige at den skal vise resultatet i et tekstfelt der hedder txtKørtekilometer
Avatar billede arne_v Ekspert
29. januar 2005 - 10:14 #13
denIndkort.rscomIndkort.Open "SELECT SUM(Kilometer) AS sumkm FROM Indkørt"
txtKørtekilometer.Text = denIndkort.rscomIndkort("sumkm")

måske
Avatar billede rusti Nybegynder
29. januar 2005 - 12:45 #14
nej desværre det virker ikke
Avatar billede arne_v Ekspert
29. januar 2005 - 14:03 #15
Hvordan ser dig kode til at vise de andre oplysninger ud ?
Avatar billede rusti Nybegynder
30. januar 2005 - 04:20 #16
Dette bruger jeg til at vise oplysningerne på de brugere som er oprettet i databasen

Dim A As Integer
'Finder den ansatte som passer til det førernr der er blevet indtastet
A = Len(txtFørernr.Text)
If A <> 4 Then
MsgBox "Førernr skal være på 4 tal.", vbExclamation + vbOKOnly, "Førernr ikke indtastet Korekt"
txtFørernr.SetFocus
Exit Sub
End If

denAnsatte.rscomAnsatte.MoveFirst
denAnsatte.rscomAnsatte.Find "Førernr ='" + txtFørernr + "'", 0, adSearchForward
If Not (denAnsatte.rscomAnsatte.EOF) Then
txtNavn = denAnsatte.rscomAnsatte.Fields("Navn")
txtAdresse = denAnsatte.rscomAnsatte.Fields("Adresse")
txtPostnr = denAnsatte.rscomAnsatte.Fields("Postnr")
txtBy = denAnsatte.rscomAnsatte.Fields("By")
txtFradrag = denAnsatte.rscomAnsatte.Fields("Fradrag")
txtTrækprocent = denAnsatte.rscomAnsatte.Fields("Trækprocent")
chkDag = denAnsatte.rscomAnsatte.Fields("Dag") * -1
chkNat = denAnsatte.rscomAnsatte.Fields("Nat") * -1
chkAfløser = denAnsatte.rscomAnsatte.Fields("Afløser") * -1

Og dette virker fint
Avatar billede rusti Nybegynder
30. januar 2005 - 04:35 #17
det skal lige siges at feltet kilometer i databasen er sat til tal og ikke text
Avatar billede arne_v Ekspert
30. januar 2005 - 09:39 #18
denIndkort.rscomIndkort.Open "SELECT SUM(Kilometer) AS sumkm FROM Indkørt"
...
txtKørtekilometer.Text = denIndkort.rscomIndkort.Fields("sumkm")

vil jeg tror så
Avatar billede rusti Nybegynder
30. januar 2005 - 12:41 #19
nej det virker ikke. Den skriver handling er ikke tilladt, mens objektet er åbent, når jeg kører programmet
Avatar billede rusti Nybegynder
30. januar 2005 - 12:43 #20
når den laver denne debug fejl markere den denIndkort.rscomIndkort.Open "SELECT SUM(Kilometer) AS sumkm FROM Indkørt" med gult
Avatar billede rusti Nybegynder
30. januar 2005 - 13:05 #21
oki nu har jeg fået det til at virke den manglede bare sætningen denIndkort.rscomIndkort.Close som det første da databasen jo er open fra starten af.

P.S. Hvis du sender et svar skal du få pointene alligevel som tak for hjælpen for det du er kommet med for det hjalp mig rigtigt meget.
Avatar billede arne_v Ekspert
30. januar 2005 - 13:07 #22
ok
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