Como utilizar el bucle Do...Loop |
Responder | Página <12 |
Autor | |
andressf
Habitual Unido: 12/Abril/2011 Localización: Argentina Estado: Sin conexión Puntos: 147 |
Opciones de entrada
Gracias(0)
|
Se lo quité y anduvo una vez, ahora no me copia ninguno. Dim rs As DAO.Recordset
Set rs = Forms!f_rev!F_Pedido_Revalida_Doc.Form.RecordsetClone MsgBox rs.RecordCount Do Until rs.EOF sqlInsert = "INSERT INTO T_Reval_Pedido_Docen (id_Rev_Ped_PRD,localidad_doc_PRD) VALUES(" & rs!temp_ID_Nro_Rev_Doce & ",'" & rs!localidad_doc & "')" DoCmd.RunSQL sqlInsert rs.MoveNext Loop rs.Close Set rs = Nothing |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: en línea Puntos: 14734 |
Opciones de entrada
Gracias(0)
|
Imagino que te encuentras en esta secuencia de hechos:
- abres el formulario - ejecutas el código para un registro: funciona - te mueves a otro registro - ejecutas el código: no funciona - sales del formulario - vuelves a entrar - ejecutas el código: funciona - te mueves a otro registro - ejecutas el código: no funciona Si ese es el escenario es porque el Recordset se queda al final de los registros y, al volver lanzar el código, la evaluación del rs.EOF es verdadero y no se ejecuta. Prueba poniendo un rs.MoveFirst antes de cerrar el recordset (línea rs.Close) |
|
andressf
Habitual Unido: 12/Abril/2011 Localización: Argentina Estado: Sin conexión Puntos: 147 |
Opciones de entrada
Gracias(0)
|
Hola, estuve complicado por eso no respondí. lo puse rs.MoveFirst y a veces me funciona y muchas no A veces tego 3 registros y me copia 2 otras simplemente no hace nada... Me está superando... Editado por andressf - 21/Octubre/2021 a las 15:06 |
|
andressf
Habitual Unido: 12/Abril/2011 Localización: Argentina Estado: Sin conexión Puntos: 147 |
Opciones de entrada
Gracias(0)
|
Creo haber encontrado el problema. Pasa lo siguiente, a ver si me explico Mientras en la tabla no haya datos me copia todos los registros, si en la tabla hay datos algunos me los copia y otros no. En esa tabla se ingresan datos de profesores que dictan los cursos, hay profesores que dictan dos mas cursos, ahi es cuando no me los copia ya que tienen el campo id_Rev_Ped_PRD pero los datos del profesor son los mismos. Como puedo solucionarlo?. Gracias. |
|
andressf
Habitual Unido: 12/Abril/2011 Localización: Argentina Estado: Sin conexión Puntos: 147 |
Opciones de entrada
Gracias(0)
|
Ufff ahora me tira... Se ha producido el error 3021 en tiempo de ejecución no hay ningun registro activo Si cierro todo y abro de nuevo a veces desaparece Si desaparece me tira este error! Se ha producido el error 3134 en tiempo de ejecución Error de sintaxis en la instrucción INSERT INTO Dim rs As dao.Recordset Set rs = Forms!f_rev!F_Pedido_Revalida_Doc.Form.RecordsetClone MsgBox rs.RecordCount Do Until rs.EOF sqlInsert = "INSERT INTO T_Reval_Pedido_Docen(id_Rev_Ped_PRD, id_curso_rev_PRD, id_docent_PRD, id_insti_doc_PRD, nomyape_doc_PRD, tipo_dni_doc_PRD, dni_docent_PRD, fech_nac_doc_PRD, edad_doc_PRD, carac_tel_doc_PRD, tel_cel_doc_PRD, localidad_doc_PRD, cod_post_doce_PRD, calle_doc_PRD, num_calle_doc_PRD, email_1_doc_PRD) Values (" & rs!temp_ID_Nro_Rev_Doce & "," & rs!id_curso_rev & "," & rs!id_docent & "," & rs!temp_id_insti_doc & ",'" & rs!nomyape_doc & "','" & rs!tipo_dni_doc & "'," & rs!dni_docent & "," & rs!fech_nac_doc & "," & rs!edad_doc & "," & rs!carac_tel_doc & "," & rs!tel_cel_doc & ",'" _ & rs!localidad_doc & "','" & rs!cod_post_doce & "','" & rs!calle_doc & "'," & rs!num_calle_doc & ",'" & rs!email_1_doc & "')" DoCmd.RunSQL sqlInsert rs.MoveNext Loop rs.MoveFirst rs.Close Set rs = Nothing |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: en línea Puntos: 14734 |
Opciones de entrada
Gracias(0)
|
Pon un punto de interrupción antes del DoCmd.RunSQL, examinas el valor que contiene sqlInsert en la ventana de inmediato. La copias y la pegas en una nueva consulta. Ahí tienes más posibilidades de detectar cual es el error.
Un saludo
|
|
Responder | Página <12 |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |