![]() |
Comparar campos de tablas urgente Gente, a ver si pueden ayudarme con esto: Tengo la tabla TBL_Cursos y TBL_Informes_Cursos En TBL_Informes_Cursos tengo los campos CursoID y Fecha En Cursos temgp CursoID, num_cur y Inicia Necesito hacer una busqueda de cada CursoID que hallla en TBL_Cursos y fijarme si ese CursoID està tambien en TBL_Informes_Cursos. Si lo encuentra entonces que siga, si no lo encuentra entonces que haga un Insert Into TBL_Informes_Cursos de ese CursoID y la Fecha. Muchas gracias! |
Re: Comparar campos de tablas urgente imagino que lo que necesitas es una instruccion como esta, te explico un poco, hace un insert en cursoID por cada cursoID de la tabla cursos que en union a la tabla informes cursos tenga el campo cursoid de esta ultima en nullo (esto quiere decir que no esta), espero haberte ayudado. insert into TBL_Informes_Cursos(cursoID) select Distinct CursoID from TBL_Cursos as C Left Join TBL_Informes_Cursos as IC ON C.CursoID = IC.CursoID where IC.CursoID is Null |
Re: Comparar campos de tablas urgente Te agradesco la ayuda pero la verdad qu estoy un poco mas mareado que antes. Yo lo qe tengo hasta ahora es esto, pero todavia no funciona: Dim x As Boolean Dim strSQL1 As String Dim strSQL2 As String Dim rs1 As ADODB.Recordset Dim rs2 As ADODB.Recordset On Error GoTo noesta x = Conectar(cn, App.Path, "ADM Sin actualizar") strSQL1 = "Select * From TBL_Cursos" Set rs1 = cn.Execute(strSQL1) strSQL2 = "Select * From TBL_Informes_Cursos Where CursoID = " & rs1!CursoID For i = 0 To 120 Set rs2 = cn.Execute(strSQL2) If rs2!CursoID = rs1!CursoID Then rs1.MoveNext Next i MsgBox "listo" x = Desconectar(cn) Exit Sub noesta: If Err.Number = 3021 Then cn.Execute ("Insert Into TBL_informes_Cursos (CursoID, Fecha, SemanaID) Values (" & rs1!CursoID & ", " & rs1!Inicia & ", " & 0 & ")") rs1.MoveNext x = Conectar(cn, App.Path, "ADM Sin actualizar") es mi dll de coneccion Espero que me puedan audar >_< Muchas gracias! |
Re: Comparar campos de tablas urgente no entiendo mucho tu logica, veamos primero veo que asignas directamente a strSQL2 un valor, el cual no modificas en todo el codigo, segundo recorres desde 0 a 120 y no se por que, tercero, si no esta te caes vas a noesta: y si el numero de error es 3021 agregas un registro a tbl_informes_cursos pero no devuelves arriba el cursor por lo que imagno que con suerte te agrega uno en ese momento y finaliza el proceso... el codigo que yo te envie es una consulta que busca todos los cursosID que no esten de una tabla a otra y los inserta en la que no estan.... si tienes mas dudas por MP te deje mi mail para que me hagas las preguntas correspondientes. |
Re: Comparar campos de tablas urgente Algunos de los errores que me marcaste ya los tengo corregidos. Ya te envie el pm. Muchas gracias! |
Re: Comparar campos de tablas urgente ok amigo no hay problema ;) |
Re: Comparar campos de tablas urgente Estoy revisando y me parece que ya lo solucionè el unico problema s que aunque haga format la fecha me la pone mal =/, voy a verlo mas detenidamente cuando llegue a mi casa y aviso. Muchas gracias! |
Re: Comparar campos de tablas urgente Dim x As Boolean Dim strSQL1 As String Dim strSQL2 As String Dim rs1 As ADODB.Recordset Dim rs2 As ADODB.Recordset x = Conectar(cn, App.Path, "ADM Sin actualizar") strSQL1 = "Select * From TBL_Cursos" Set rs1 = cn.Execute(strSQL1) While Not rs1.EOF strSQL2 = "Select * From TBL_Informes_Cursos Where CursoID = " & rs1!CursoID Set rs2 = cn.Execute(strSQL2) If rs2.RecordCount <= 0 Then cn.Execute ("Insert Into TBL_informes_Cursos (CursoID, Fecha, SemanaID) Values (" & rs1!CursoID & ", " & format(rs1!Inicia,"dd/mm/yyyy") & ", " & 0 & ")") rs1.MoveNext Wend MsgBox "listo" x = Desconectar(cn) |
| La zona horaria es GMT -6. Ahora son las 20:51. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.