I would recommend ASP's. They're easy to learn. I've just started playing with them myself a couple weeks ago - and have created a number of pages. Creating the query is the easy part. How are you going to control authentication. Will this be on a site that has sign in requirements? If so, you can use the login id as a cross reference to the customer number (or whatever identifies the cust) and build it into your query. Not addressing that issue, here is a sample piece of code on how to connect to an Access 2000 DB:
<html>
<head>
<script type="text/javascript">
function addwildcards()
{
y=document.myForm
searchstring=y.myInput.value
y.myInput.value="'%" + y.myInput.value + "%'"
}
function setFocus()
{
document.forms[0].myInput.focus()
}
function openTips()
{
window.open("searchtips.html", "searchTips","toolbar=yes,location=yes,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=no,copyhistory=yes,top=120, left=300, width=400,height=400"

}
</script>
</head>
<body>
<table border="1" width="100%" bgcolor="#fff5ee">
<tr>
<td colspan="3">
<form name="myForm" onsubmit="addwildcards()" action="vbsearch.asp" method="POST">
Search database for
<input type="text" name="myInput">
<input type="submit" value="Search">
<input type="button" value="Search Tips" onclick="openTips()">
</form>
</td>
</tr>
<tr>
<td bgcolor='#b0c4de'>
<a href="vb.asp?sort=application">Application</a>
</td>
<td bgcolor='#b0c4de'>
<a href="vb.asp?sort=topic">Topic</a>
</td>
<td bgcolor='#b0c4de'>
<a href="vb.asp?sort=nbr">Number</a>
</td>
</tr>
<%
dim conn,rs,sort
sort="nbr"
if Request.QueryString("sort"

<>"" then
sort=Request.QueryString("sort"

end if
set conn=Server.CreateObject("ADODB.Connection"

conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("tmrkb.mdb"

)
set rs=Server.CreateObject("ADODB.recordset"

rs.Open "SELECT Application,Topic,nbr FROM vb ORDER BY " & sort,conn
do until rs.EOF%>
<tr>
<form method="post" action="vbdet.asp">
<%for each x in rs.Fields
if x.name="nbr" then%>
<td><input type="submit" name="nbr" value="<%=x.value%>"></td>
<%else%>
<td><%Response.Write(x.value)%> </td>
<%end if
next
rs.MoveNext%>
</tr>
<%loop
rs.close
conn.close
%>
</table>
<!-- Set focus to myInput -->
<script language="javascript">setFocus()</script>
</body>
</html>
I have not included the code for the called pages. All you need to look at is the section with the connection section and the Record Set. The rest you can cut out.
I've also used this method to connect to our ERP via ODBC (a Progress DB). Cool stuff.
Tim Tim Ryan
PROGRESS Developer