Avatar billede ogfed Nybegynder
05. august 2004 - 10:02 Der er 1 løsning

Excel beregninger opdateres ikke når det kaldes gennem ASP

Hej

Jeg sidder med et problem hvor brugeren skal indtaste x antal værdier på en asp side, værdierne ligges nu over i et excel ark, hvor de skal danne grundlag for videre beregning. Resultatet af beregningerne, lad os kalde den SUM, skal kun trækkes fra excel og vises til brugeren. På nuværende tidspunkt kan jeg trække godt smide værdierne ned i excel og trække værdierne ud igen, problemet er bare at SUM ikke opdateres til de brugerindtastede værdier, men stadig er baseret på gamle værdier. Hvordan får jeg opdateret excel arket gennem ASP?

Excel ark:

Navn  Tal
test  10
test2  15
Sum    25

Idéen er nu at smide 20 i stedet for 10, så skulle summen gerne blive 35, hvis jeg bagefter læser fra Excel er 10 rigtig nok opdateret til 20, men summen er stadig 25. Når jeg manuelt åbner excel op vises summen 35. Her regner jeg med at opdateringen sker i det øjeblik jeg åbner excel.

  <%@ LANGUAGE="VBSCRIPT" %>
      <%
   
        Set objConn = Server.CreateObject("ADODB.Connection")
        objConn.Open "OEF_excel"

        Set objRS = Server.CreateObject("ADODB.Recordset")
        objRS.ActiveConnection = objConn
        objRS.CursorType = 3                    'Static cursor.
        objRS.LockType = 2                      'Pessimistic Lock.
        objRS.Source = "SELECT * FROM TestData"
        objRS.Open
  %>
  <br>
  <%
      Response.Write("Original Data")

      Response.Write("<TABLE><TR>")
      For X = 0 To objRS.Fields.Count - 1
        Response.Write("<TD>" & objRS.Fields.Item(X).Name & "</TD>")
      Next
      Response.Write("</TR>")
      objRS.MoveFirst

      While Not objRS.EOF
        Response.Write("<TR>")
        For X = 0 To objRS.Fields.Count - 1
            Response.write("<TD>" & objRS.Fields.Item(X).Value)
        Next
        objRS.MoveNext
        Response.Write("</TR>")
      Wend
      Response.Write("</TABLE>")

      objRS.MoveFirst
      objRS.Fields(0).Value = "test"
      objRS.Fields(1).Value = 20
      objRS.Update

      Response.Write("<br>Data after the update")
      Response.Write("<TABLE><TR>")
      For X = 0 To objRS.Fields.Count - 1
        Response.Write("<TD>" & objRS.Fields.Item(X).Name & "</TD>")
      Next
      Response.Write("</TR>")
      objRS.MoveFirst

      While Not objRS.EOF
        Response.Write("<TR>")
        For X = 0 To objRS.Fields.Count - 1
            Response.write("<TD>" & objRS.Fields.Item(X).Value)
        Next
        objRS.MoveNext
        Response.Write("</TR>")
      Wend
      Response.Write("</TABLE>"

      objRS.Close
      Set objRS = Nothing

      objConn.Close
      Set objConn = Nothing
  %>

/ogfed
Avatar billede ogfed Nybegynder
17. august 2004 - 09:56 #1
Jeg lukker hermed
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