30. marts 2003 - 18:12
Der er
9 kommentarer
Gange 2 felter med hinanden og indføre resultatet i et 3. felt
Jeg har lavet en "Record Insertion Form" der sætter forskellige tekster og værdier i en Access database - det virker fint.
Der bl.a. et felt "enheder", et felt "enhedspris" og et felt "pris" - hvordan får jeg automatisk indsat værdien af "enheder" * "enhedspris" i feltet "pris" når jeg tilføjer?
/hans
30. marts 2003 - 19:20
#3
Sådan ser siden ud!!!
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/CN_Vareradd.asp" -->
<%
' *** 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_CN_Vareradd_STRING
MM_editTable = "varer"
MM_editRedirectUrl = "add_varer.asp"
MM_fieldsStr = "varenavn|value|varebeskrivelse|value|enheder|value|enhedspris|value|pris|value|kategori|value|Foto|value|Foto_ll|value|sorter|value|kolli|value|pr_stk|value|antal|value"
MM_columnsStr = "varenavn|',none,''|varebeskrivelse|',none,''|enheder|',none,''|enhedspris|',none,''|pris|',none,''|kategori|none,none,NULL|Foto|',none,''|Foto_ll|',none,''|sorter|',none,''|kolli|',none,''|pr_stk|',none,''|antal|',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 RS_Vareadd
Dim RS_Vareadd_numRows
Set RS_Vareadd = Server.CreateObject("ADODB.Recordset")
RS_Vareadd.ActiveConnection = MM_CN_Vareradd_STRING
RS_Vareadd.Source = "SELECT * FROM varer"
RS_Vareadd.CursorType = 0
RS_Vareadd.CursorLocation = 2
RS_Vareadd.LockType = 1
RS_Vareadd.Open()
RS_Vareadd_numRows = 0
%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form method="post" action="<%=MM_editAction%>" name="form1">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">Varenavn:</td>
<td> <input type="text" name="varenavn" value="" size="32"> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Varebeskrivelse:</td>
<td> <input type="text" name="varebeskrivelse" value="" size="32"> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Enheder:</td>
<td> <input type="text" name="enheder" value="" size="32"> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Enhedspris:</td>
<td> <input type="text" name="enhedspris" value="" size="32"> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Pris:</td>
<td> <input type="text" name="pris" value="" size="32"> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Kategori:</td>
<td> <input type="text" name="kategori" value="" size="32"> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Foto:</td>
<td> <input type="text" name="Foto" value="" size="32"> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Foto_ll:</td>
<td> <input type="text" name="Foto_ll" value="" size="32"> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Sorter:</td>
<td> <input type="text" name="sorter" value="" size="32"> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Kolli:</td>
<td> <input type="text" name="kolli" value="" size="32"> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Pr_stk:</td>
<td> <input type="text" name="pr_stk" value="" size="32"> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Antal:</td>
<td> <input type="text" name="antal" value="" size="32"> </td>
</tr>
<tr valign="baseline">
<td nowrap align="right"> </td>
<td> <input type="submit" value="Insert Record"> </td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1">
</form>
<p> </p>
</body>
</html>
<%
RS_Vareadd.Close()
Set RS_Vareadd = Nothing
%>
30. marts 2003 - 20:20
#6
Det er lidt svært at gennemskue hvad du laver med din querystring o.s.v. men du skal nok oprette Pris som en variabel, "fiske" enheder og enhedspris ud af Querystring og sætte Pris = Enheder * Enhedspris inden du fyrer din execute af. Jeg kan bare ikke lige se hvor det skal gøres.