Il programma e suddiviso in questi Form:

Form1: il quale è un MdiContainer,
nel Form1 ho applicto un menu di tipo "ToolStrip" che mi premettera di Swiccare tra i Form Contenuti

Dentro al Form1:
FormTelefonate: contiene un motore di ricerca e una ListView dove elenca le telefonate fatte.
FormImpostazioni: si settano tutte le impostazioni del programma, e si aggiungono anche degli Item che poi si ritrovano nel motore di ricerca del "FromTelefonate".
Altri-Form ................

Nel Progetto ho una Classe "DbManager" nella quale è contenuto tutto il codice per "INSERIMENTI, MODIFICHE, ELIMINAZIONI, POPOLAZIONE-ListView" insomma tutte le Query,
come fanno queste query a sapere cosa Popolare o dove prendere i dati da modificare ???
Gli passo io l'Istanza dello strumento da controllare, cioè:

Su "DbManager":
codice:
        public bool PopolaCamere(ListView obj)
        {
            if (m_oConn.State != ConnectionState.Open) return false;

            DataSet oDataSet = new DataSet();
            ListViewItem li;

            OleDbDataAdapter oDataAdapter = new OleDbDataAdapter("SELECT " +
                                                                            "camere.iID," +
                                                                            "camere.sCamera," +
                                                                            "tariffazioni.iID_Camera " +
                                                                            "FROM camere " +
                                                                            "LEFT JOIN tariffazioni ON (camere.iID = tariffazioni.iID_Camera) " +
                                                                            "GROUP BY camere.iID, camere.sCamera, tariffazioni.iID_Camera " +
                                                                            "ORDER BY camere.iID ASC;", m_oConn);

            try
            {
                oDataAdapter.Fill(oDataSet, "camere");
            }
            catch
            {
                return false;
            }

            DataTable oDataTable = oDataSet.Tables["camere"];

            obj.Items.Clear();

            foreach (DataRow oDataRow in oDataTable.Rows)
            {
                li = obj.Items.Add(oDataRow["iID"].ToString());
                li.SubItems.Add(oDataRow["sCamera"].ToString());

                if (oDataRow.IsNull("iID_Camera"))
                {
                    li.ForeColor = Color.Red;
                }
                else
                {
                    li.ForeColor = Color.Black;
                }
            }

            return true;
        }

la chiamata dal "FormImpostazioni":
codice:
DbManager oDbManager = new DbManager();

if (!oDbManager.PopolaCamere(lvCamere))
{
    MessageBox.Show("Si è verificato un errore durante il caricamento delle Camere.", "Errore!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
"lvCamere" è la "ListView" contenente un elenco di camere.