Oprettet ons. d. 25. august 2004 kl. 23:33:27

jpv
jpv (16.049 point. Point ude: 60)

Lægge tal sammen hvis der står noget i forvejen i db (ASP)

Jeg skal have undersøgt om der i min tabel(kundetotal) findes et kundeid i forvejen.
Hvis der gør skal den lægge tallet sammen i felt "total" sammen med variablen "pris" altså en "update"
hvis kundeid ikke findes skal den INSERT variablerne "pris" og "unikkunde" i tabellen.

Jeg har nu siddet nogle timer med skidtet, og er kørt fast.
Håber i kan hjælpe.

Skrevet ons. d. 25. august 2004 kl. 23:39:48| #1

tofte
tofte (31.917 point)
Hvis kundeidet ikke findes, skal variablen pris så skrives i feltet total for den kunde som netop er blevet oprettet?

Skrevet ons. d. 25. august 2004 kl. 23:41:56| #2

jpv
jpv (16.049 point)
ja det er rigtig

Skrevet ons. d. 25. august 2004 kl. 23:55:28| #3

tofte
tofte (31.917 point)
dim  pris, kundid
    kundeid = 24
    pris = 300

    Set Connection = Server.CreateObject("ADODB.Connection")
    Connection.Open dbstring
    connection.execute "UPDATE kundetotal SET total=total+"&pris&" WHERE kundeid ="&kundeid,recAff
    if recAff = 0 then
        connection.execute "Insert into kundetotal (kundeid,total) values ("&kundeid&","&pris&")"
    end if
    connection.close
    set connection = nothing

Skrevet ons. d. 25. august 2004 kl. 23:55:57| #4

tofte
tofte (31.917 point)
håber at det er det du skal bruge

Skrevet ons. d. 25. august 2004 kl. 23:56:15| #5

tofte
tofte (31.917 point)
jeg har bare sat kundeid og pris til et eller andet.

Skrevet tor. d. 26. august 2004 kl. 00:10:52| #6

jpv
jpv (16.049 point)
Jeg prøver lige, tak

Skrevet tor. d. 26. august 2004 kl. 00:18:06| #7

jpv
jpv (16.049 point)
Nu driller serveren, jeg vender tilbage i morgen

Skrevet tor. d. 26. august 2004 kl. 09:03:40| #8

jpv
jpv (16.049 point)
Nu ser min kode sådan ud:
********************
dim pris, kundeid
pris = 300
kundeid = 24
Set Connection = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & sti & ""
    Connection.Open DSN
    connection.execute "UPDATE kundetotal SET 'total'='total'+'"&pris&"' WHERE 'kundeid' ='"&kundeid ', recAff"
    if recAff = 0 then
        connection.execute "Insert into kundetotal (kundeid,total) values ("&kundeid&","&pris&")"
    end if
    connection.close
    set connection = nothing
*****************************
og jeg får følgende fejlmeddelse:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression ''kundeid' ='24'.
linje 30, som er:
connection.execute "UPDATE kundetotal SET 'total'='total'+'"&pris&"' WHERE 'kundeid' ='"&kundeid ', recAff"

Skrevet tor. d. 26. august 2004 kl. 12:03:04| #9

mm12010
mm12010 (65.121 point)
testet og virker:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
dim pris, kundeid
pris = 500
kundeid = 25
Set Connection = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
'DSN = DSN & "DBQ=" & Server.mappath("/exp/files/DB.mdb") & ""
DSN = DSN & "DBQ=" & sti & ""
    Connection.Open DSN
    Connection.execute "UPDATE kundetotal SET total=total+"&pris&" WHERE kundeid="&kundeid, recAff
    if recAff = 0 then
        Connection.execute "Insert into kundetotal (kundeid,total) values ("&kundeid&","&pris&")"
    end if
    Connection.close
    set Connection = nothing
%>

Skrevet tor. d. 26. august 2004 kl. 14:23:03| #10

tofte
tofte (31.917 point)
Du skal være opmærksom på, hvilke databasetyper kundeid og total er. Jeg vil nok foreslå at total er et tal. kundeid er op til dig. Husk kun at bruge ' ved teksttyper. Og aldrig nogen siden ' omkring feltnavne eks WHERE 'kundeid' ='"&..... ikke ' omkring kundeid, i det tilfælde hvor det angiver navnet på feltet i databasen.

Skrevet tor. d. 26. august 2004 kl. 22:16:49| #11

jpv
jpv (16.049 point)
Undskyld den lange ventetid men der skete noget uforudset.
Til mm12010 får jeg denne fejlmeddelse:
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
linjen er: Connection.execute "UPDATE kundetotal SET total=total+"&pris&" WHERE kundeid="&kundeid, recAff

Til tofte total er tal kundeid er text

Skrevet tor. d. 26. august 2004 kl. 22:18:52| #12

arne_v
arne_v (1.005.623 point)
Connection.execute "UPDATE kundetotal SET total=total+"&pris&" WHERE kundeid='"&kundeid&"'", recAff

Skrevet tor. d. 26. august 2004 kl. 22:24:59| #13

jpv
jpv (16.049 point)
Nu har jeg fået det til at virke, kan i alle 3 ikke give et svar.
Mange tak

Skrevet tor. d. 26. august 2004 kl. 23:12:31| #14

arne_v
arne_v (1.005.623 point)
svar

(men jeg synes at mit bidrag har været beskedent sammenlignet med de to andre)

Skrevet fre. d. 27. august 2004 kl. 07:19:00| #15

mm12010
mm12010 (65.121 point)
selv tak :o)

Skrevet fre. d. 27. august 2004 kl. 10:23:21| #16

jpv
jpv (16.049 point)
Mange tak for hjælpe til jer alle

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Sammenskrivning af 2 SQL linier

Oprettet den 11. februar 2012 kl. 14.44
lund_dk giver 30 point for svar | Giv et svar »

Udskrive mappens navn

Oprettet den 8. februar 2012 kl. 13.32
no_doubt giver 60 point for svar | Giv et svar »

Flere tæller/counter SQL og ASP!

Oprettet den 7. februar 2012 kl. 20.09
denny giver 30 point for svar | Giv et svar »

Seneste guides

Installer win 7
Den gode bruger


   




Tips & Tricks fra PC World

Teaser billede

Her er fem sjove danske websider du skal kende

Trænger dine lattermuskler til en omgang fitness på dansk? Vi viser vej til fem websider fyldt med humor og vanvittig satire.


Anmeldelser fra PC World

Teaser billede

Test: Denne super-tablet er iPads hårdeste konkurrent

Eee Pad Transformer Prime er frygtindgydende med sin quadcore processor og evne til at trylle sig om til bærbar. Apple bør kigge i bagspejlet, for Asus' tablet-pc kommer buldrende - og gør det...


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Nu kan du snart hente Windows 8

Den nye offentlige betaversion af Windows 8 er klar i denne måned.


Nyheder fra Computerworld

Teaser billede

Måske snart slut med Androids helt store problem

Android-platformen har længe været plaget af et særligt problem. Men måske er problemet nu ved at være elimineret.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger