con un 6 form (Class). El form class tiene 5 combobox, (cboteacher, cbogroup, cbohour, cbosubject,cboclassroom) los cuales deben cargarsen con los datos del form periférico correspondiente ("Cboteacher" del form "class" es cargado con los datos del form "teacher", "Cbogroup" del form "class" es cargado con los datos del form "group"), los cargamos de esta manera:
con el método activated : [CODE]
Código:
y con el método load:Private Sub Frmclass_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated cargar_Teacher() cargar_hour() cargar_classroom() End sub
Código:
cada cbo es cargado de esta formaPrivate Sub Frmclass_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call mostrar() cargar_Teacher() bloquear() cargar_class() cargar_Teacher() cargar_Group() cargar_hour() cargar_classroom() Cargar_cbo() End Sub
Código:
Sub cargar_Teacher() Dim da As New OleDb.OleDbDataAdapter("Select *from Teacher", cn) Dim ds As New DataSet da.Fill(ds, "Teacher") cbokteacher.DataSource = ds.Tables("Teacher") cbokteacher.ValueMember = "IdTeacher" cbokteacher.DisplayMember = "naime" Dim displaymember As String = String.Empty displaymember = cbokteacher.SelectedValue.ToString() End Sub
los métodos descritos anteriormente funcionan muy bien, si agrego en el form "teacher" un nuevo profesor, digamos "John" y luego ingreso al form "class" y chequeo el "cboteacher" este despliega el nuevo profesor agregado, "john" perfectamente.
Pero tengo un problema. Primero explico algo: el from class, contiene un data grid, que muestra un horario, de esta forma:
cboteacher cbosubject
cbogroup cboclassroom
cbohour
Class Day Hour Teacher Group Subject Classroom
M1A Monday 6:30 Edward 9a Programming 9as
T1B Tuesday 7:30 Jack 9b Biology 9bs
De esta forma, "cboteacher" contiene a "Edward" y a "Jack", cbogroup contiene a "9a" y a "9b", ya que estos datos son los que contiene el form con el cual está conectados, no sé si me hice entender?
El problema es
Si ingreso a cualquiera de los form periféricos, digamos que entro a "teacher" y agrego un nuevo profesor que no aparece en el form class, digamos "carlos", cuando intento mostrar los datos de este nuevo profesor ("carlos") en el form "teacher" me aparece un error. Es decir, creo que el problema surge porque este nuevo profesor ("carlos") no aparece en el "datagrid" del form "class", ya que si ingreso al form "teacher" y busco los datos de "Edward" que sí aparece en el form "class" estos son mostrados sin ningún inconvenitente.
El método que estoy utilizando para mostrar datos en el form "teacher" es el siguiente:
Código:
como puedo solucionarlo??, lo que necesito es que el form "teacher" y cualquier otro de los form periféricos, me muestre los datos de cualquier registro cuando los busco desde el "form" sin importar si estos aparecen o no el datagrid, ("el cronograma") del form "class".Sub BUSCAR() 'Dim id As String = cboidteacher.ValueMember Dim cmd As New OleDb.OleDbCommand("select * from teacher where IdTeacher='" & cboidteacher.Text & "'", cn) 'Dim cmd As New OleDb.OleDbCommand("select * from teacher where IdTeacher='" & id & "'", cn) Dim dr As OleDb.OleDbDataReader cn.Open() dr = cmd.ExecuteReader If dr.Read Then txtname.Text = dr(1) txtlast.Text = dr(3) cbosubject.Text = dr(2) txttel.Text = dr(4) txtemail.Text = dr(5) txtsal.Text = dr(6) txtass.Text = dr(7) cboshift.Text = dr(8) Else MsgBox("error") End If cn.Close() End Sub
Alguna duda me informan.
Gracias de antemano.