14. maj 2003 - 17:24
Der er
23 kommentarer og 1 løsning
Debet - Kredit = Sum
Hej, Jeg har et lille problem med at minuse to felter fra en Access database. Felterne hedder: Debet og Kredit og mit spm. er hvordan laver jeg et script/funktion der lægger alle poster sammen i feltet Debet og Kredit og derefter minuser de to felter. NB: Der er altid en tom felt altså når der stå noget i Debet så er Kredit tom og modsat. Nogen der kan hjælpe mig? På forhånd tak!
Annonceindlæg fra Sprint365
Du kan lave en SQL som gør det: SQL = "SELECT (sum(debit) - sum(kredit)) as diffdekr FROM tabel" Set rs = Conn.Execute(SQL) Response.write "Differense mellem debit og kredit er : " & rs("diffdekr")
Du kan også gør det for hver enketl kolonne så skal du bare fjerne sum.
>> eagleeye mange tak! :) så har jeg en lille spm. til, jeg har en felt der hedder Beløb og den stå i Access db som Data Type: Number og Format: Currency Så når jeg kalder den frem på den her måde Response.Write RS("Belob") få jeg den her fejl meddelse: ADODB.Recordset error '800a0cc1' Item cannot be found in the collection corresponding to the requested name or ordinal. På forhånd tak ! :)
Det er fordi belob ikke er i recordsetet enten fordi kolonne hedder beløb med ø eller for fordi din SQL sætning ikke hendter den kolonne: "SELECT id, navn FROM xxx" Så vil den fejl komme hvis man bruger rs("belob"), da belob ikke står mellem SELECT og FROM.
Men hvis jeg laver den om i Access til Data Type: Text så virker den fint
Ok det virker meget mærkeligt, det ved jeg faktisk ikke så. Det har jeg ikke set før.
Kan kolonne være tom, det kan den vist ikke når det er currentcy.
Jeg fik uploadet databasen igen og nu virker det :) (mærkeligt!) Men så har jeg en anden problem og det er når jeg vil tilføje nye data så få jeg den her fejl meddelse: Microsoft JET Database Engine error '80040e07' Data type mismatch in criteria expression. Men hvis jeg laver om på Data Typen til Data Type: Text Så virker det fint...?! :(
ud fra hvad jeg kender til summen af debit og summen af kredit gerne være den samme, eller har man bogført forkert.
:/ skummel skrive fejl. Ud fra hvad jeg kender til regnskab så skal summen af debit og summen af kredit gerne være den samme, eller har man bogført forkert.
Ja hvis alle posteringer i samme tabel skulle det vil give 0. Hvilken typer er de to kolonner?
Data Type: Number og Format: Currency
>> cdm kiwiw Ja, det er rigtigt nok :) Men den her script bruges til et andet formål ;)
ultra << fint nok. Jeg ville bare lige spille kloge Åge :-P
>> cdm kiwie Det er helt ok :)
Hvis du ligger tal ind i en tekst kolonne med SQL så skal du havde ' omkrign: INSERT INTO xxx (belob) VALUES('223.45')
Men kolonen er ikke text type. Kolonen er Data Type: Number og Format: Currency Hvis jeg laver kolonen om til TEXT så virker den fint.
Er det når du udskriver du får den fejl?
Nej, nå jeg vil tilføje nye data så få jeg den her fejl: Microsoft JET Database Engine error '80040e07' Data type mismatch in criteria expression.
Ok, hvordan ser den SQL så ud?
Sådan her: Connection.Execute( "INSERT INTO Accounts(AccountReceipts,AccountExpenditure) VALUES('" & Replace(Request.Form("AccountReceipts"),"'","''") & "','" & Replace(Request.Form("AccountExpenditure"),"'","''") & "')")
Når det er data type fejl så prøv at fjerne ' omnkring, da der normalt ikke skal ping ' omkring ved tal felter.: Connection.Execute( "INSERT INTO Accounts(AccountReceipts,AccountExpenditure) VALUES(" & Replace(Request.Form("AccountReceipts"),"'","") & "," & Replace(Request.Form("AccountExpenditure"),"'","") & ")")
Så få jeg den her fejl: Microsoft JET Database Engine error '80040e14' Syntax error in INSERT INTO statement
>> eagleeye mange tak for hjælpen!
Kurser inden for grundlæggende programmering