Avatar billede dtc Nybegynder
03. september 2002 - 16:15 Der er 5 kommentarer og
1 løsning

Hvordan kan man beregne felter i databaser og ASP?

Jeg er i gang med at lave et servicmodul for en kammerat - det fungerer på denne måde:

Kunden køber eks. 100 klip som han kan beytte sig af!

Kunden ringer ind og melder fejl
Man indtaster fejl mv. i en form og når opgaven er afsluttet - skriver man hvor mange klip man har brugt på opgaven - eks. 10 klip

Nu er mit spørgsmål:

Hvordan kan man via formen hvor man indtaster de 10 klip få den til at trække dem fra de oprindelige 100 klip som kunden købte og returnere restværdien i en nyt felt?????

Antal købte klip ligger i tabel USERS under feltet antalialt

Data fra indtastningsformular ligger i tabel SERVICE under feltet antalklip

Resultat dvs. antalialt - antalklip = enhedertilbage
Feltet enhedertilbage ligger i tabel USERS

Det skal lige nævnes at det kører såles at man i indtastningsformen vælger kundenr. så det er den korrekte kunde der får "regningen"
Avatar billede avlund Nybegynder
03. september 2002 - 16:24 #1
"UPDATE USERS set enhedertilbage = USERS.antalialt - SERVICE.antalklip WHERE kundenr = " & Request.Form("kundenr")
Avatar billede dtc Nybegynder
04. september 2002 - 08:57 #2
Undskyld jeg først svarer nu! Computerproblemer.......

Hvor skal jeg sætte koden ind?????

Min kode for siden ser således ud:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../Connections/Database.asp" -->
<%
' *** Restrict Access To Page: Grant or deny access to this page
MM_authorizedUsers=""
MM_authFailedURL="admin.asp"
MM_grantAccess=false
If Session("MM_Username") <> "" Then
  If (true Or CStr(Session("MM_UserAuthorization"))="") Or _
        (InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
    MM_grantAccess = true
  End If
End If
If Not MM_grantAccess Then
  MM_qsChar = "?"
  If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
  MM_referrer = Request.ServerVariables("URL")
  if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()
  MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
  Response.Redirect(MM_authFailedURL)
End If
%>
<%
' *** Edit Operations: declare variables

Dim MM_editAction
Dim MM_abortEdit
Dim MM_editQuery
Dim MM_editCmd

Dim MM_editConnection
Dim MM_editTable
Dim MM_editRedirectUrl
Dim MM_editColumn
Dim MM_recordId

Dim MM_fieldsStr
Dim MM_columnsStr
Dim MM_fields
Dim MM_columns
Dim MM_typeArray
Dim MM_formVal
Dim MM_delim
Dim MM_altVal
Dim MM_emptyVal
Dim MM_i

MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
  MM_editAction = MM_editAction & "?" & Request.QueryString
End If

' boolean to abort record edit
MM_abortEdit = false

' query string to execute
MM_editQuery = ""
%>
<%
' *** Insert Record: set variables

If (CStr(Request("MM_insert")) = "form1") Then

  MM_editConnection = MM_Database_STRING
  MM_editTable = "service"
  MM_editRedirectUrl = "adminserviceliste.asp"
  MM_fieldsStr  = "select|value|cpuid|value|modtaget|value|overskrift|value|fejlmeldning|value|servicebestilt|value|servicestart|value|serviceslut|value|tekniker|value|resultat|value|antalklip|value|skiftetdele|value"
  MM_columnsStr = "Username|',none,''|cpuid|',none,''|kaldmodtaget|',none,NULL|Overskrift|',none,''|fejlmelding|',none,''|servicebestilt|',none,''|servicestart|',none,NULL|serviceslut|',none,NULL|Tekniker|',none,''|resultat|',none,''|Antalklip|none,none,NULL|deleskitftet|',none,''"

  ' create the MM_fields and MM_columns arrays
  MM_fields = Split(MM_fieldsStr, "|")
  MM_columns = Split(MM_columnsStr, "|")
 
  ' set the form values
  For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
  Next

  ' append the query string to the redirect URL
  If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
    If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
      MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
    Else
      MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
    End If
  End If

End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it

Dim MM_tableValues
Dim MM_dbValues

If (CStr(Request("MM_insert")) <> "") Then

  ' create the sql insert statement
  MM_tableValues = ""
  MM_dbValues = ""
  For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_formVal = MM_fields(MM_i+1)
    MM_typeArray = Split(MM_columns(MM_i+1),",")
    MM_delim = MM_typeArray(0)
    If (MM_delim = "none") Then MM_delim = ""
    MM_altVal = MM_typeArray(1)
    If (MM_altVal = "none") Then MM_altVal = ""
    MM_emptyVal = MM_typeArray(2)
    If (MM_emptyVal = "none") Then MM_emptyVal = ""
    If (MM_formVal = "") Then
      MM_formVal = MM_emptyVal
    Else
      If (MM_altVal <> "") Then
        MM_formVal = MM_altVal
      ElseIf (MM_delim = "'") Then  ' escape quotes
        MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
      Else
        MM_formVal = MM_delim + MM_formVal + MM_delim
      End If
    End If
    If (MM_i <> LBound(MM_fields)) Then
      MM_tableValues = MM_tableValues & ","
      MM_dbValues = MM_dbValues & ","
    End If
    MM_tableValues = MM_tableValues & MM_columns(MM_i)
    MM_dbValues = MM_dbValues & MM_formVal
  Next
  MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

  If (Not MM_abortEdit) Then
    ' execute the insert
    Set MM_editCmd = Server.CreateObject("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    MM_editCmd.Execute
    MM_editCmd.ActiveConnection.Close

    If (MM_editRedirectUrl <> "") Then
      Response.Redirect(MM_editRedirectUrl)
    End If
  End If

End If
%>
<%
Dim Recordset1
Dim Recordset1_numRows

Set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_Database_STRING
Recordset1.Source = "SELECT * FROM service"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 1
Recordset1.Open()

Recordset1_numRows = 0
%>
<%
Set Recordset2 = Server.CreateObject("ADODB.Recordset")
Recordset2.ActiveConnection = MM_Database_STRING
Recordset2.Source = "SELECT * FROM users"
Recordset2.CursorType = 0
Recordset2.CursorLocation = 2
Recordset2.LockType = 1
Recordset2.Open()

Recordset2_numRows = 0
%>
<HTML><HEAD><TITLE>Servicemodul - Kontorgruppen A/S</TITLE>


<LINK href="web.css" type=text/css rel=stylesheet>
</HEAD>
<BODY bgColor=#ffffff>
<!-- hoved -->
<TABLE cellSpacing=0 cellPadding=0 width=754 align=center border=0>
<TBODY> <TR bgcolor="000000"> <TD colSpan=5><IMG height=4 alt=""
      src="tpix.gif" width=1
    border=0> </TD></TR> <TR vAlign=top bgColor=#999999
> <TD width=1><IMG height=77 alt=""
      src="tpix.gif" width=1
    border=0><BR></TD>
      <TD align=middle width=159 bgcolor="#999999"><IMG height=19 alt=""
      src="tpix.gif" width=1
      border=0><BR> <BR>
      </TD>
      <TD width=1><IMG height=77 alt=""
      src="tpix.gif" width=1
    border=0><BR></TD>
      <TD vAlign=bottom align=right width=572 bgcolor="#999999">&nbsp; </TD>
      <TD width=22 bgcolor="#999999"><IMG height=1 alt=""
      src="tpix.gif" width=20
      border=0><BR>
      </TD>
    </TR>
    <TR bgcolor="#000000">
      <TD colSpan=5><IMG height=4 alt=""
      src="tpix.gif" width=1
    border=0><BR>
      </TD>
    </TR></TBODY></TABLE><!-- hoved --><!-- afdeling --> <TABLE cellSpacing=0 cellPadding=0 width=754 align=center border=0>
<TBODY> <TR bgColor=#91a486> <TD width=1><IMG height=20 alt=""
      src="tpix.gif" width=1
    border=0><BR></TD>
      <TD class=section-header vAlign=top align=right bgcolor="#666666">Kontorgruppen
        A/S - Servicemodul<BR>
      </TD>
      <TD width=20 bgcolor="#666666"><IMG height=1 alt=""
      src="tpix.gif" width=20
      border=0><BR>
      </TD>
    </TR></TBODY></TABLE><!-- afdeling --><!-- menu & indhold -->
<TABLE cellSpacing=0 cellPadding=0 width=754 align=center border=0>
  <TBODY> <TR>
      <TD vAlign=top width=151 bgColor=000000><BR>
        <BR> <TABLE cellSpacing=0 cellPadding=0 width=130 align=center border=0>
<TBODY> <TR>
              <TD vAlign=top>
                <!--#include file="adminmenu.htm" -->
              </TD>
            </TR></TBODY></TABLE><BR>
      </TD>
      <TD vAlign=top width=603 bgColor=#CCCCCC HEIGHT="350">
<TABLE WIDTH="603" BORDER="0" CELLSPACING="0" CELLPADDING="0"><TR>
            <TD><IMG SRC="adminpicture.jpg" WIDTH="603" HEIGHT="100"></TD>
          </TR><TR><TD><BR>
              <table width="550" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000">
               
               
                <tr>
                  <td><form ACTION="<%=MM_editAction%>" METHOD="POST" name="form1">
                      <table width="540" border="0">
                        <tr>
                          <td colspan="4" bgcolor="#000000"><div align="center" class="section-header">[
                              Serviceopkald ]</div></td>
                        </tr>
                        <tr>
                          <td width="60">Username: </td>
                          <td height="35"> <select name="select">
                              <%
While (NOT Recordset2.EOF)
%>
                              <option value="<%=(Recordset2.Fields.Item("Username").Value)%>"><%=(Recordset2.Fields.Item("Username").Value)%></option>
                              <%
  Recordset2.MoveNext()
Wend
If (Recordset2.CursorType > 0) Then
  Recordset2.MoveFirst
Else
  Recordset2.Requery
End If
%>
                            </select></td>
                          <td width="60">Cpu-id:</td>
                          <td> <input name="cpuid" type="text" id="cpuid"> </td>
                        </tr>
                        <tr bgcolor="#999999">
                          <td height="1" colspan="4"> <div align="center">Problem</div></td>
                        </tr>
                        <tr>
                          <td>Servicekald modtaget:</td>
                          <td colspan="2"><input name="modtaget" type="text" id="Firmanavn2"></td>
                        </tr>
                        <tr>
                          <td>Overskrift:</td>
                          <td colspan="3"><input name="overskrift" type="text" id="overskrift"></td>
                        </tr>
                        <tr>
                          <td>Fejlmelding:</td>
                          <td colspan="3"><textarea name="fejlmeldning" cols="50" id="fejlmeldning"></textarea></td>
                        </tr>
                        <tr>
                          <td width="60">Service bestilt af:</td>
                          <td height="35" colspan="3"> <input name="servicebestilt" type="text" id="Firmanavn">
                          </td>
                        </tr>
                        <tr bgcolor="#999999">
                          <td colspan="4"> <div align="center">Gennemgang</div></td>
                        </tr>
                        <tr>
                          <td>Service p&aring;begyndt:</td>
                          <td colspan="3"><input name="servicestart" type="text" id="servicestart">
                            Indtastes s&aring;ledes: 01-05-2002</td>
                        </tr>
                        <tr>
                          <td>Service afsluttet:</td>
                          <td colspan="3"> <input name="serviceslut" type="text" id="serviceslut"></td>
                        </tr>
                        <tr>
                          <td>Tekniker int:</td>
                          <td colspan="3"> <input name="tekniker" type="text" id="tekniker">
                          </td>
                        </tr>
                        <tr>
                          <td height="1" colspan="4" bgcolor="#000000"></td>
                        </tr>
                        <tr>
                          <td>Resultat:</td>
                          <td colspan="3"> <textarea name="resultat" cols="50" id="resultat"></textarea></td>
                        </tr>
                        <tr>
                          <td>Antal klip:</td>
                          <td height="35" colspan="3"> <input name="antalklip" type="text" id="antalklip">
                          </td>
                        </tr>
                        <tr>
                          <td colspan="4" bgcolor="#999999"> <div align="center">Dele
                              skiftet</div></td>
                        </tr>
                        <tr>
                          <td>Der blev skiftet:</td>
                          <td colspan="3"><textarea name="skiftetdele" cols="50" id="textarea2"></textarea>
                          </td>
                        </tr>
                        <tr>
                          <td>&nbsp;</td>
                          <td>&nbsp;</td>
                          <td>&nbsp;</td>
                          <td>&nbsp;</td>
                        </tr>
                        <tr>
                          <td>&nbsp;</td>
                          <td colspan="3"> <input type="submit" name="Submit" value="Opret servicekald">
                            &nbsp;&nbsp; <input type="reset" name="Submit2" value="Slet data">
                          </td>
                        </tr>
                      </table>
                      <input type="hidden" name="MM_insert" value="form1">
                    </form>
Avatar billede avlund Nybegynder
04. september 2002 - 15:50 #3
Uha, du bruger DreamWeaver's auto-funktioner til din SQL. Det tør jeg ikke at rode for meget med, de er ret så kryptiske (og ikke særligt hensigtsmæssige).

Jeg går ud fra du bare kan lave den SQL-kommando jeg beskrev i en "update recordset"-dialog i programmet.
Avatar billede dtc Nybegynder
04. september 2002 - 16:00 #4
Hvor ville de sætte linien ind henne???
Avatar billede avlund Nybegynder
04. september 2002 - 16:31 #5
Godt spørgsmål. Det jeg ville gøre i dit sted var simpelthen at kalde en "update recordset" på det rigtige sted og skrive koden ind dér. Det "rigtige sted" vil jeg tro er lige efter din indsættelse af formularen.
Avatar billede dtc Nybegynder
06. september 2002 - 12:24 #6
Ingen hjælp
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