Need Help with Form to File Script


I have to conduct a web survey next week and need the responses inputed into a MS Access database. The webserver is on a Windows NT machine with ASP components installed. I'm pretty familiar with HTML and slightly familiar with Perl scripts (using them, not coding) but am entirely new to ASP. Please help.


Who is Participating?
MasseyMConnect With a Mentor Commented:
Using Sybes marvelous example, I adapted it a little... You don't have to create a DSN at the control panel... You can do it dynamically...

Use this:

<!-- #include Virtual="/YourVirtualDir/TDSN.Asp" -->
Place this tag at the top of every page you want to access the database with (ie the UPDATE.ASP page)

---------------------------------- TDSN.ASP File ---------------
  Dim sDB, sPath, sDSN, sScriptDir

  sDB   = "survey.mdb"  ' Your database name

  sScriptDir = "/VirtualDirToDatabase" ' Virtual Directory to Database

  ' Set the virtual Directory
  sPath = Server.MapPath(sScriptDir) & "\"

  ' This is the resulting DSN string
  sDSN = "filedsn=" & sPath & "GoldenPlates.Dsn;DefaultDir=" & sPath & ";DBQ=" & sPath & sDB & ";"

Now, where Sybe said to use Conn.Open "DSN=Survey" use this instead...
Conn.Open sDSN

You can then access the database...

Please split the points between Sybe and I.
Supposing you have the HTML form for the survey and the Access database to store the result, both ready, it is quite easy to make the ASP.
My suggestion is that you post the HTML-form and the structure of the database. There are several people here visiting daily that can create the ASP for you and post it here.

irinaAuthor Commented:

The HTML form can be seen here:
The Access Database can be found here:

The access database has three fields -- fields 1 (question 1) and 2 (question 2) are number fields while field 3 (question 3) is for text responses (I've set the character length at 255, the max).  I've filled in the contents of the fields for one record -- the coding is as follows:
SA - 5
A - 4
U - 3
D - 2
SD - 1


Train for your Pen Testing Engineer Certification

Enroll today in this bundle of courses to gain experience in the logistics of pen testing, Linux fundamentals, vulnerability assessments, detecting live systems, and more! This series, valued at $3,000, is free for Premium members, Team Accounts, and Qualified Experts.

I could not download the database, so I made one myself.
I have got it working.

You can download the file from
irinaAuthor Commented:

I tried it -- it didn't work.  What specific ASP components does this require? I have to check with the sysadmin to make sure that we have them installed.


Sorry, I think it needs some explanation, which I forgot:

You have to make an ODBC-connection on the machine with the webserver.

I'll step through the code and explain it:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=survey"

This piece of code makes a connection to the database.
The name of the connection is "Conn" which is a pretty default name, but you can use any name you want.

The first line "creates" a connection object.

The second line gives the connection object a value. The value is related to the ODBC name of the database.
What I have done (and what you should do) is create an ODBC to the survey database. This can be done using Control Panel / OBDC32 / System DSN / Add

Select driver: MS Access /finish

Then give it a name (remember this name, I called it "survey", and that is what I use in the ASP-statement), and select the database.

strSQL = "INSERT INTO survey (question1, question2, comment ) values (" & Request.Form("question1") & "," & Request.Form("question2") & ",'" & REPLACE(Request.Form("comment"),"'","''") & "')"

Response.write strSQL

The strSQL is a variable that makes up the SQL statement for the database. If you are familiar witrh SQL then you should understand, if not, just believe me

Response.write strSQL is not important, in fact it only write the SQL statement to the browser, I put that in to check for any errors. Leave it out, because it is ugly.

Will send the strSQL to the database through the ODBC connection. In the database the SQL statement is carried out.

Probably the only thing you should do is create the ODBC

irinaAuthor Commented:
Sorry, I don't have access to the control panel.

Then let someone else do it for you, if you "have to" then it seems logical that someone should do for you what you are not allowed to do personally.

You can however make a connection without creating an ODBC, I'll have to find that out.

irinaAuthor Commented:
Sorry if I sounded brusque but we're in a bind -- basically, we have to get something done with very little help (and a whole lot of obstacles) from the Computing Center here.

Thanks for your effort.
Lets say you've got variables a,b,c,d

<form action="tricky.asp" method="post">
... I assume you know how to do a form

In tricky.asp (note: comments begin with a single quote):
' get the data from the form
' Open a text file and append the data to it
set filesys=CreateObject("Scripting.FileSystemObject")
' Note: you can call the file anything you want, however,
' you will need to find a directory where you can write a file
' and put the path of that directory as part of the filename
set f=filesys.OpenTextFile("output.txt",ForAppending,true)
f.WriteLine a0 & "," & b0 & "," & c0 & "," & d0
set f=nothing
set filesys=nothing
Thank you for sending us your data!
'======= end of tricky.asp don't include this line =====

When people are done entering the data, you can import the
data from the ascii file into the access database.  The
advantage to this is, you don't have to worry about ODBC or
any of that setup stuff...
irinaAuthor Commented:

I'd appreciate some more detailed information. Should the asp file be different from the HTML form, etc.?
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.