Helpful Information
 
 
Category: ASP
Sending all Request.Form data in one step?

I have some code that allows me to take all the Request.Form data from any form and send it in an email with just these two lines of code:

FOR EACH el IN Request.Form
msg.appendtext( el & ": " & Request.form(el) & vbcrlf )

Is is possible to do the same thing when entering form data into a database. All the filed names are the same as the form field names. This is the code I am using.



FOR EACH el IN Request.Form
msg.appendtext( el & ": " & Request.form(el) & vbcrlf )
objRs.AddNew
objrs(el) = request.form(el)
objRs.Update
objRs.Close
Set objRs = Nothing
objConn.Close
Set objConn = Nothing
NEXT
If not msg.Send("mail.domain.com" ) then
Response.write "<pre>" & msg.log & "</pre>"
Else
Response.write "Message sent succesfully!"
End if

You were right about what I was really trying to do. I am still having trouble with the code. I took the email code out of it just to make it easier to troubleshoot. Here is what I have now:



<%
Const adLockOptimistic = 3
Const adCmdTable = &H0002

Dim objConn, objRs
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = _
"DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & _
Server.MapPath("/fpdb/maillist.mdb")

objConn.Open
Set objRs = Server.CreateObject("ADODB.Recordset")
objRs.Open "tblTest", objconn, ,adLockOptimistic , adCmdTable
objRs.AddNew

FOR EACH el IN Request.Form
objrs.Fields(el) = Request.Form(el)
NEXT
objRs.Update
objRs.Close
Set objRs = Nothing
objConn.Close
Set objConn = Nothing
%>


All fields are text based and I am only trying this with four fields. This is the error:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.

/maillist/NewMail.asp, line 23










privacy (GDPR)