Hola Andres, Creo que la clave esta en el Catch que haces sin mostrar la excepcion, esto quiere decir que si estas teniendo una excepcion luego de insertar el primer registro, la ejecucion termina luego de insertarlo y nunca te enteras de la anomalia.
Te propongo otra version del codigo que mandaste donde aprovecho para sugerirte codigo un poco mas claro (en mi opinion). Atencion, no puedo escribir codigo VB.NET de memoria, asi que sepan disculpar. ' Es mejor crear el comando antes y reutilizarlo, ademas, ' es MUY recomendabe utilizar parametros. Dim agregar As New SqlCommand("INSERT INTO OrdenMantencion (OMEquipo, OMTipo, ...) VALUES ( @Equipo, @Tipo,... )") ' Es mucho mejor realizar la conexión una sola vez ' al principio y cerrarla al final (en el Finally). conn.Open() agregar.Connection = conn Try ' Aca tambien deberias usar parametros Dim da As New SqlDataAdapter("SELECT NombrePC FROM FichaEquipo WHERE Sala='" & Me.DDSalasala.SelectedValue.Trim & "'", conn) Dim dsOM As New DataSet() da.Fill(dsOM, "Equipos") Dim dt As DataTable dt = dsOM.Tables(0) 'AQUI DONDE PRETENDO INGRESARLOS EN LA OTRA TABLA! ' (confirmar sintaxis de For Each) For Each DataRow row in dt.Rows Dim equipo As String 'AQUI SELECCIONO EL DATO DE LA TABLA ANTERIOR PARA SER INGRESADO EN LA NUEVA TABLA equipo = row.Item("NombrePC") ' No me gusta mucho la siguiente linea de codigo, yo ' no accederia a elementos de la interfaz a usuario dentro ' de un proceso masivo como este. Me.ListBox1.Items.Add(equipo) agregar.Parameters["Equipo"] = equipo agregar.Parameters["Tipo"] = Me.DDNombreProgSala.SelectedValue.Trim agregar.ExecuteNonQuery() Next Finally conn.Dispose() End Try Algunos comentarios: - No utilice el Catch. Si no vas a hacer naad especifico en el catch lo mejor es no usarlo de manera que la excepcion llegue a niveles superiores. - Agregue el Finally donde debe cerrarle la conexión (con llamar a Dispose es suficiente). - Es aconsejable utilizar parametros para evitar ataques por SQLInjection, ademas de facilitar considerablemente el manejo de distintos tipos de datos. Carlos Peix > -----Original Message----- > From: puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] On > Behalf Of [EMAIL PROTECTED] > Sent: Martes, 16 de Octubre de 2007 05:40 p.m. > To: puntonet@mug.org.ar > Subject: [puntonet] Ingreso Masivo de Datos > > Hola amigos tengo un problema que me tiene realmente chato, > lo que necesito es traer datos desde una tabla y despues para > cada uno de estos datos debo ingresarlos en otra tabla con > otros datos. El codigo que tengo es el siguiente en teoria me > debería funcionar, pero el problema es que de los datos que > traigo de la primera tabla solo ingreso rl primer dato en la segunda. > > Bueno aqui esta el código ojala me entiendan y me den una > manito creo que el problema esta en el for pero eh probado de > varias formas y no me resulta. > > Try > > 'AQUI TRAIGO LOS DATOS DE LA TABLA > > Dim da As New SqlDataAdapter("SELECT NombrePC > FROM FichaEquipo WHERE Sala='" & > Me.DDSalasala.SelectedValue.Trim & "'", conn) > > Dim dsOM As New DataSet() > da.Fill(dsOM, "Equipos") > > Dim dt As DataTable > Dim dv As DataView > > dt = dsOM.Tables(0) > dv = dt.DefaultView > > Dim n1 As Integer = dt.Rows.Count > > Dim i As Integer > > 'AQUI DONDE PRETENDO INGRESARLOS EN LA OTRA TABLA! > > For i = 0 To (n1 - 1) > Dim equipo As String > > 'AQUI SELECCIONO EL DATO DE LA TABLA ANTERIOR PARA SER > INGRESADO EN LA NUEVA TABLA > > equipo = dt.Rows(i).Item("NombrePC") > Me.ListBox1.Items.Add(equipo) > > Dim agregar As New SqlCommand("INSERT INTO > OrdenMantencion (OMEquipo, OMTipo, OMSala, OMFecha, OMHora, > Mantencion, Registro, DEjecucion, DTermino, HInicio, > HTermino) VALUES ( '" & equipo & "','" & > Me.DDNombreProgSala.SelectedValue.Trim & "','" & > Me.DDSalasala.SelectedValue.Trim & "', '" & > Me.TxtFechaSala.Text.Trim & "', '" > & Me.TxtHoraSala.Text.Trim & "', '" & > Me.TxtmantencionSala.Text.Trim & "','" & > Me.TxtRegistroSala.Text.Trim & "','" & Me.TxtDESala.Text.Trim > & "','" & Me.TxtDTSala.Text.Trim & "','" & > Me.TxtHISala.Text.Trim & "','" & Me.TxtHTSala.Text.Trim & "' )") > > agregar.Connection = conn > conn.Open() > agregar.ExecuteNonQuery() > > Next > conn.Close() > conn.Dispose() > > Catch ex As Exception > > End Try > > Agradecer cualquier comentario o ayuda gracias de antemano! >