If you put the items in a database of somesort then it becomes very easy to:<br>1. Create a table to show the items<br>2. check to see if they are checked or not<br>3. to add them up if they are.<br>This would be done in a Loop for Next or Do Until:<br><br>Here is one I am using to do something similar: Now this requires your ISP to have Active Server Pages (.ASP)<br>-------------------------------------------------<br><%@ Language=VBScript %><br><br><%<br> Set Conn = server.CreateObject("ADODB.Connection"

<br> Conn.Open "driver=SQL Server;server=server.com;uid=UserID;pwd=password;database=databasename;"<br> Set RS1 = Conn.Execute("SELECT [STOCK_CODE], [Description], [SELLING_PRICE] FROM [Copy-PartMaster Lite]"

<br>%><br><br><br> <tr><br> <td width="10%" align="left"> </td><br> <td width="18%" align="left"> </td><br> <td width="52%" align="left"> </td><br> <td width="12%" align="right"> </td><br> </tr><br><br><%If Not RS1.EOF Then<br> Do<br> <tr><br> <td width="10%" align="left"><br> <p align="center"><input type="submit" value='Add <%=RS1("STOCK_CODE"

%>' name="addtopo"></td><br><td width="18%" align="left"><br> <p align="center"><%Response.Write RS1("STOCK_CODE"

%></td><br> <td width="52%" align="left"><br> <p align="center"><%Response.Write RS1("Description"

%></td><br> <td width="12%" align="right"><br> <p align="center"><%Response.Write RS1("SELLING_PRICE"

></td><br> </tr><br> RS1.Movenext<br> Loop Until RS1.EOF<br>End If%><br>----------------------------------------<br><br>this puts a Command button in the first row of the table.<br><br> <p>DougP<br><a href=mailto: dposton@universal1.com> dposton@universal1.com</a><br><a href= > </a><br> Ask me how Bar-codes can help you be more productive.