Solved

Need Help with Form to File Script

Posted on 1998-09-14
11
256 Views
Last Modified: 2013-12-25
Hi,

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.

Thanks,

Priyo
0
Comment
Question by:irina
11 Comments
 
LVL 28

Expert Comment

by:sybe
Comment Utility
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.

0
 

Author Comment

by:irina
Comment Utility
Hi,

The HTML form can be seen here: http://members.tripod.com/~kdsa/survey.htm
The Access Database can be found here: http://members.tripod.com/~kdsa/survey.mdb

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

Thanks.

0
 
LVL 28

Expert Comment

by:sybe
Comment Utility
I could not download the database, so I made one myself.
I have got it working.

You can download the file from
ftp://195.240.30.16/EE/
0
 

Author Comment

by:irina
Comment Utility
Hi,

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.

Thanks,

Priyo
0
 
LVL 28

Expert Comment

by:sybe
Comment Utility
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:

(update.asp)
==============
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.

=============
Conn.Execute(strSQL)
=============
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
---------------------------------

0
Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

 

Author Comment

by:irina
Comment Utility
Sorry, I don't have access to the control panel.
0
 
LVL 28

Expert Comment

by:sybe
Comment Utility
??

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.


0
 

Author Comment

by:irina
Comment Utility
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.
0
 
LVL 1

Expert Comment

by:alweiner
Comment Utility
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
</form>

In tricky.asp (note: comments begin with a single quote):
<HTML>
<BODY>
<%
' get the data from the form
a0=request.form("a")
b0=request.form("b")
c0=request.form("c")
d0=request.form("d")
'
' 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
f.Close
set f=nothing
set filesys=nothing
%>
Thank you for sending us your data!
</body>
</html>
'======= 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...
0
 

Author Comment

by:irina
Comment Utility
hi,

I'd appreciate some more detailed information. Should the asp file be different from the HTML form, etc.?
0
 
LVL 10

Accepted Solution

by:
MasseyM earned 400 total points
Comment Utility
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.
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

The following is a collection of cases for strange behaviour when using advanced techniques in DOS batch files. You should have some basic experience in batch "programming", as I'm assuming some knowledge and not further explain the basics. For some…
Introduction:   Welcome to my first article ever. To begin with, the reason I write this article.  I participated in a question on Experts Exchange about the start command in Windows and there were some discussion about the usage. The discussio…
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now