Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Will ASP work to develop client interfaces on the internet

Status
Not open for further replies.

cmmrfrds

Programmer
Feb 13, 2000
4,690
US
I plan on developing a distributed entry system that will use Sql Server as the database and I want to use Access and ASP for the business logic and presentation. Will this work or are there performance problems? It will start out with about 20 users all at different locations.

Anybody with experience in this area, I would like to hear comments on this environment.

Thank you,
Jerry [sig][/sig]
 
I was planning on using Access to generate or create the ASP pages for the client to interact with the database. It would be the place to hold all the forms for the interface to the database, plus, I am familiar with VB code to write routines.

Jerry [sig][/sig]
 
You may want to look at Visual Interdev instead of Access as Interdev is designed to create web based applications including but not exclusive to ASP pages. With Interdev you would also have the option to use VBScript for your serverside (and your client side if users are on IE) coding.

I am not sure that Access will perform in the manner you wish to use it, I am not familiar with it having the capability to create ASP pages.

Well hope this gives you an option to explore. [sig]<p>Crystal<br><a href=mailto:crystals@genesis.sk.ca>crystals@genesis.sk.ca</a><br><a href= > </a><br>--------------------------------------------------<br>
Experience is one thing you can't get for nothing.<br>
-Oscar Wilde<br>
[/sig]
 
I don't understand clearly either what you are using Access for in this scenario.

Access is a database. Access is &quot;accessed&quot; (usually through ADO) from asp pages. It doesn't generate asp pages. (maybe that's possible but if it is, it's beyond my knowledge level).

If you mean you want to store HTML forms and templates in an Access database which your asp pages will retrieve and that your asp pages will then turn around and pull &quot;other data&quot; from an SQL Server database then it seems like the Access db would be a performance bottleneck.

How would you be distributing this app? [sig]<p>--Will Duty<br><a href=mailto:wduty@radicalfringe.com>wduty@radicalfringe.com</a><br><a href= > </a><br> [/sig]
 
Thank you for the response Will. I am in the discovery stage on how to develop a Web based interface for the system I am developing. The user would initiate the process by keying in a URL and all the processing would be on the server. I was planning on loading IIS, Sql Server, and whatever else was needed onto 1 PC that would be available to the internet. There is a trade off between the amount I need to learn and the performance of the application. Another option would be to develop the app in access and use Cytrix server but this may have problems in connection speeds.

I don't like tedious coding and would prefer generated Forms for the application, Although, validation and control will probably require VB code.

I am using Access 2000 and on the development screen is an object called &quot;Pages&quot;, and there is a wizazrd to generate ASP. What is the intent of this option?

I appreciate any advice or insight.
Jerry [sig][/sig]
 
Once people type in your URL how are they going to &quot;connect&quot; to your database?

I honestly don't know anything about the generate &quot;pages&quot; option in Access and didn't even know it existed. However, the way this kind of thing is usually done is that you have asp pages on your server which substitute for ordinary HTML pages. People go to these pages the same way they go to any other page (usually by going to one main page by typing in a URL and subsequently by a series of links within the site). In the asp pages you then have blocks of inline code which do all of your database accessing, HTML assembling, etc.

For example if you want to have a page that allows a user to view the contents of a particular table in your db you would create a page like this:

<html>
view contents of main table<br><br>
<%
set db = server.createObject(&quot;ADODB.Connection&quot;)
db.open &quot;databaseName&quot;
set record = db.execute(&quot;SELECT * FROM mainTable ORDER BY name desc&quot;)
do while NOT record.EOF
[tab]response.write(record(&quot;name&quot;)&&quot;<BR>&quot;)
[tab]record.movenext
loop
%>
</html>

You could just as easily set up a page that inserts something into the database. Suppose you have a HTML page with a form a user fills out then presses submit. You would target an asp page in the form action. In the target asp page you would then grab the user's form submission values and do an INSERT or UPDATE in a similar manner as in the above example:

<%
set db = server.createObject(&quot;ADODB.Connection&quot;)
db.open &quot;databaseName&quot;
db.execute(&quot;INSERT INTO mainTable (name,category) VALUES ('&quot;&request(&quot;name&quot;)&&quot;','&quot;&request(&quot;category&quot;)&&quot;' &quot;)
%>
</html>
database updated!
</html>

These are ultra simple and generic examples. But the point is that you don't need to generate anything from Access. Asp pages are just files, compiled on the fly by IIS. (although you could have stored procedures in Access though they are not as sophisticated as in SQL server where you have a file with potentially extensive procedures). Also since asp pages are just scripts compiled on the fly (like CGI/Perl, PHP etc.), it is much easier to make changes to the pages' functionality. So basically, you are creating your forms in HTML pages (through asp). You control database specifics by passing ID numbers and key variable values into links and form fields which other asp pages can receive in the event of user requests. Remember the web is stateless and primarily page-based.

If you need to do something really fancy that requires VB or C++ then there's always COM which is a process by which you to create executable components on the server which you can call from asp.

If you need transaction isolability and rollbacks, IIS usually comes with an additional feature called MTS (Microsoft Transaction Server) which allows you to define transaction status, etc.

It sounds like you are thinking of Access in the traditional application sense where people log into the database through an interface and you can have forms, modules, VB code etc. I'm not sure you can work this &quot;terminal&quot; approach over the web without some fancy custom tool. You could do something like this with java but I've worked with the java net classes and I wouldn't consider this a trivial approach.

I might be giving you bad advice here but this is what I know to work. If anyone knows more about this I stand corrected...
[sig]<p>--Will Duty<br><a href=mailto:wduty@radicalfringe.com>wduty@radicalfringe.com</a><br><a href= > </a><br> [/sig]
 
Thanks for all the information Will. I appreciate the time you took for the response and it gives me a good overview and confirms some of my thinking. I don't have Visual Basic or a C++ environment. Can I create the Components with Access?

Jerry [sig][/sig]
 
If you are looking for a simple way to connect to SQL Server then using access 2000 and and creating pages is a viable but limited solution.

The plus side is the reduced amount of coding required. Linked Table Manager can very quickly connect to SQL Server via OLE DB and allow you to use the tables as if the were part of access.

Secondly you can have the full functionality of Access 2000 on the web, for example graphs, OLAP cubes and pivot tables can be used with little if no coding.

The limitations to making the above work are the fact that in order to use the asp pages created in Access the client must have at least a copy of office 2000 standard to allow the pages produced to use the client side objects.

If this is a solution to a small problem then I would say go for it, however from experience these things soon have a habit of growing and even office 2000 standard is not that cheep if this is the only reason for having it.

Have you tried FrontPage 2000? This has a simple database connection wizard and if you are familiar with VB then COM objects using MTS is certainly possible.



 
What do you want your components to do? [sig]<p>--Will Duty<br><a href=mailto:wduty@radicalfringe.com>wduty@radicalfringe.com</a><br><a href= > </a><br> [/sig]
 
I like to black box functionality. For instance, in Access I usually have quite a number of Functions in my applications. I was anticipating the need to develop Functions.

Jerry [sig][/sig]
 
What kind of functionality?

If its just manipulation of data then it doesn't necessarily have to be in Access. For example you could:

1. write your functions in vbscript and just include them.

example:

page called nicefunction.inc
---------------------------------
&lt;%
Function theFunction(args,numBOOL)
[tab]'-- a bunch of code
End Function
%&gt;

some asp page:
---------------------------------
&lt;!--#INCLUDE FILE=&quot;nicefunction.inc&quot;--&gt;

&lt;%
somevariable = theFunction(var1,var2)

%&gt;


2. Another approach could be to write your functions in VB but do them as an ActiveX DLL project. Then you can register the resulting dll on your server with regsvr32. (There's more to it than just that but that's the basic idea). This is the &quot;COM object&quot; solution. I have a variety of COM objects that do stuff like validate email strings, create certain date formats, output really complicated table formats, do a bunch of database queries, etc.

This is more of a true black-box because once the dll is registered you can call it from any asp page anywhere on the server like this:

set niceObject = server.createObject(&quot;NiceDll.niceClass&quot;)

Furthermore, with this solution, you could do things you can't do with vbscript. [sig]<p>--Will Duty<br><a href=mailto:wduty@radicalfringe.com>wduty@radicalfringe.com</a><br><a href= > </a><br> [/sig]
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top