Avatar billede chakazulu Nybegynder
05. januar 2010 - 16:31 Der er 13 kommentarer og
1 løsning

ACCESS DB - SUM problem? i ASP

Jeg skal "calculate"/add/plus+  10 forskellige felter fra samme DB id_nr.

Eks.:

Tablenavn = tblbestillingsdata

FIELDNAME:
id_nr = 9987
navn = TESTNAVN
efternavn = TEST BLA BLA.
adr = GADENAVN TEST
bla. bla..

akat1stk = 319
bkat1stk = 415
akat1stk = 569
bkat1stk = 456

Osv.
Nu kommer spørgsmålet!

Hvordan ligger(+plus) jeg akat1stk + bkat1stk + ckat1stk + dkat1stk. sammen og <% response.write %> total = ?

Husk det er kun fra Et ID i DB.

Mvh Ian
Avatar billede michael_stim Ekspert
05. januar 2010 - 16:38 #1
SELECT id_nr, navn..., (akat1stk + bkat1stk + ckat1stk + dkat1stk) AS total FROM tblbestillingsdata;

<% response.write rs('total')%>
Avatar billede chakazulu Nybegynder
05. januar 2010 - 16:52 #2
Hej Michael. Tak for dit svar. :)   

Kan du se hvad der driller?



Code:



<html>

        <%    Set    Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("cykeldata.mdb")




    SQL = SELECT ID_no, akat1stk, bkat1stk, ckat1stk, dkat1stk AS total FROM tblbestillingsdata;
    Set RS = Conn.Execute(SQL)
    %>

                                                                                <% response.write RS(total)%>

</html>
Avatar billede michael_stim Ekspert
05. januar 2010 - 16:57 #3
Det der går galt, er at du ikke har gjort som jeg har skrevet ;o)
Avatar billede chakazulu Nybegynder
05. januar 2010 - 17:00 #4
Fejltype:
ADODB.Recordset (0x800A0CC1)
Elementet kan ikke findes i den samling, der svarer til det anmodede navn eller ordenstal.
tester.asp, line 27


Code:


        <%

Dim adoCon    
Dim rs       
Dim strSQL           


Set adoCon = Server.CreateObject("ADODB.Connection")


adoCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("cykeldata.mdb")

Set rs = Server.CreateObject("ADODB.Recordset")


strSQL = "SELECT ID_no, akat1stk, bkat1stk, ckat1stk, dkat1stk AS total FROM tblbestillingsdata;"


rs.Open strSQL, adoCon

   
   

%>

<html>
<% Response.Write rs(total)%>

</html>


Code slut:
Avatar billede michael_stim Ekspert
05. januar 2010 - 17:06 #5
strSQL = "SELECT ID_no, (akat1stk + bkat1stk + ckat1stk + dkat1stk) AS total FROM tblbestillingsdata;"
Avatar billede chakazulu Nybegynder
05. januar 2010 - 17:07 #6
Ok. nu skulle det være præcis, som du foreslog.

Får denne fejl:(

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i forespørgselsudtrykket "nyfornavn...".
/smedemarkcykler/tester.asp, line 19



                <%

Dim adoCon    
Dim rs       
Dim strSQL           


Set adoCon = Server.CreateObject("ADODB.Connection")


adoCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("cykeldata.mdb")

Set rs = Server.CreateObject("ADODB.Recordset")


strSQL = "SELECT ID_no, nyfornavn..., (akat1stk + bkat1stk + ckat1stk + dkat1stk) AS total FROM tblbestillingsdata;"


rs.Open strSQL, adoCon

   
   

%>

<html>
<% Response.Write rs(total)%>

</html>
Avatar billede michael_stim Ekspert
05. januar 2010 - 17:11 #7
Men du skal ikke have punktummerne med. Det er bare for at vise at du skal skrive de felter du vil have med.
Avatar billede chakazulu Nybegynder
05. januar 2010 - 17:25 #8
Fedt :)    Nu virker det næsten.

Jeg får bare desværre ingen værdi/value tilbage?

Er det mon fordi jeg ikke har kaldt et ID_nr?


        <%

Dim adoCon    
Dim rsg       
Dim strSQL           


Set adoCon = Server.CreateObject("ADODB.Connection")


adoCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("cykeldata.mdb")

Set rsg = Server.CreateObject("ADODB.Recordset")


strSQL = "SELECT ID_no, (akat1stk + bkat1stk + ckat1stk + dkat1stk) AS total FROM tblbestillingsdata;"

 
rsg.Open strSQL, adoCon
%>

<input type="text" name="total" value="<% Response.Write rsg("total")%>" size="10">
Avatar billede chakazulu Nybegynder
05. januar 2010 - 20:12 #9
Virker næsten.... scriptet ligger alle tallene sammen, men uden at +plusse?


<%

'Dimension variables
Dim adoCon            'Holds the Database Connection Object
Dim rsGuestbook            'Holds the recordset for the record to be updated
Dim strSQL            'Holds the SQL query for the database
Dim lngRecordNo            'Holds the record number to be updated

'Read in the record number to be updated
lngRecordNo = CLng(Request.QueryString("ID"))

'Create an ADO connection odject
Set adoCon = Server.CreateObject("ADODB.Connection")

'Set an active connection to the Connection object using a DSN-less connection
adoCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("cykeldata.mdb")

'Set an active connection to the Connection object using DSN connection
'adoCon.Open "DSN=guestbook"

'Create an ADO recordset object
Set rsGuestbook = Server.CreateObject("ADODB.Recordset")

'Initialise the strSQL variable with an SQL statement to query the database
strSQL = "SELECT ID_no,(akat1stk + bkat1stk + ckat1stk + dkat1stk) AS total FROM tblbestillingsdata WHERE ID_no=" & lngRecordNo

'Open the recordset with the SQL query
rsGuestbook.Open strSQL, adoCon
%>

<% Response.Write rsGuestbook("total")%>

Virker næsten.... scriptet ligger alle tallene sammen, men uden at +plusse?
Avatar billede pi-hus Nybegynder
06. januar 2010 - 12:53 #10
Øhm... svar...  :)
Avatar billede michael_stim Ekspert
06. januar 2010 - 15:35 #11
Du accepterer bare dit eget svar, jeg samler ikke på point.
Avatar billede chakazulu Nybegynder
06. januar 2010 - 16:31 #12
TAK Michael... Stor hjælp :)
Du er the man!
Avatar billede michael_stim Ekspert
06. januar 2010 - 17:53 #13
Det var jo meningen at du SELV skulle tage pointene. pi-hus>>Opret venligst et spørgsmål med uddelte point og link til dette. I dette kan du linke til det spørgsmål du opretter. Det er da utroligt dårlig stil at bare smide et svar i et tilfældigt spørgsmål.
Avatar billede michael_stim Ekspert
06. januar 2010 - 18:00 #14
OK, så nu hvorfor pi-hus svarede på dette. Undskyld påhoppet pi-hus. chakazulu>>En anden gang er det bedre at du deler pointene i det andet spørgsmål, for at undgå eventuelle misforståelser.
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