I come to this site all the time asking questions about how to do this and how to do that. Sometimes I get answered and sometimes I get ignored. I&#039;d really like it if I were answered all the time but some subjects are either too hard or not interesting enough for anyone to yield an answer. I do feel like I may be all take and no give myself so to right a wrong I&#039;m going to give a tip that I hope everyone enjoys using. Please feel free to comment or offer other ideas. Here goes:<BR><BR>I use this all the time as a catch all routine for handling drop boxes. I&#039;ve saved the code in my General tools section for quick access when I need it.<BR><BR>&#039;The call to the dropbox routine<BR>Call DDList(dropboxID, TableName, FieldName)<BR><BR>&#039;The subroutine for any dropbox<BR>Private Sub DDList(ByVal DrDoLst As DropDownList, ByVal TableName As String, ByVal FieldName As String)<BR> Dim DDL2Reader As System.Data.SqlClient.SqlDataReader<BR> Me.SqlCommand1.CommandText = "SELECT DISTINCT " & FieldName & " FROM " & TableName & " WHERE " & FieldName & " IS NOT NULL"<BR> DrDoLst.Items.Clear()<BR> SqlConnection1.Open()<BR> DDL2Reader = SqlCommand1.ExecuteReader()<BR> Do While DDL2Reader.Read()<BR> Dim NewItem As New ListItem()<BR> NewItem.Text = DDL2Reader(FieldName)<BR> NewItem.Value = DDL2Reader(FieldName)<BR> DrDoLst.Items.Add(NewItem)<BR> Loop<BR> DDL2Reader.Close()<BR> SqlConnection1.Close()<BR> End Sub<BR><BR>This routine requires you have a database connection called SqlConnection1 and Sqlcommand1(default names). You could change these to reflect the names of either or both but I find it quicker to use if you just drag and drop the objects as they are onto the application. Hope you enjoy this tip.