Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Comparar campos de tablas urgente

Estas en el tema de Comparar campos de tablas urgente en el foro de Visual Basic clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 30/01/2007, 08:06
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 18 años, 10 meses
Puntos: 0
Exclamación 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!
__________________
diegoz.com.ar
  #2 (permalink)  
Antiguo 30/01/2007, 08:33
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
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
  #3 (permalink)  
Antiguo 30/01/2007, 08:45
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 18 años, 10 meses
Puntos: 0
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!
__________________
diegoz.com.ar
  #4 (permalink)  
Antiguo 30/01/2007, 08:54
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
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.
  #5 (permalink)  
Antiguo 30/01/2007, 08:56
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: Comparar campos de tablas urgente

Algunos de los errores que me marcaste ya los tengo corregidos. Ya te envie el pm.

Muchas gracias!
__________________
diegoz.com.ar
  #6 (permalink)  
Antiguo 30/01/2007, 08:58
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: Comparar campos de tablas urgente

ok amigo no hay problema ;)
  #7 (permalink)  
Antiguo 30/01/2007, 09:01
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 18 años, 10 meses
Puntos: 0
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!
__________________
diegoz.com.ar

Última edición por Frehley; 30/01/2007 a las 09:25
  #8 (permalink)  
Antiguo 30/01/2007, 09:26
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 18 años, 10 meses
Puntos: 0
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)
__________________
diegoz.com.ar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:20.