Retroceder   Foros del Web > Temas generales de computación > Programación > Visual Basic

Respuesta
 
Herramientas Desplegado
Antiguo 30-ene-2007, 07:06   #1 (permalink)
Frehley está en el buen camino
 
Avatar de Frehley
 
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 321
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!
Frehley está desconectado   Responder Citando
Antiguo 30-ene-2007, 07:33   #2 (permalink)
tazzito ha deshabilitado el karma
 
Avatar de tazzito
 
Fecha de Ingreso: agosto-2006
Mensajes: 363
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
tazzito está desconectado   Responder Citando
Antiguo 30-ene-2007, 07:45   #3 (permalink)
Frehley está en el buen camino
 
Avatar de Frehley
 
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 321
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!
Frehley está desconectado   Responder Citando
Antiguo 30-ene-2007, 07:54   #4 (permalink)
tazzito ha deshabilitado el karma
 
Avatar de tazzito
 
Fecha de Ingreso: agosto-2006
Mensajes: 363
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.
tazzito está desconectado   Responder Citando
Antiguo 30-ene-2007, 07:56   #5 (permalink)
Frehley está en el buen camino
 
Avatar de Frehley
 
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 321
Re: Comparar campos de tablas urgente

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

Muchas gracias!
Frehley está desconectado   Responder Citando
Antiguo 30-ene-2007, 07:58   #6 (permalink)
tazzito ha deshabilitado el karma
 
Avatar de tazzito
 
Fecha de Ingreso: agosto-2006
Mensajes: 363
Re: Comparar campos de tablas urgente

ok amigo no hay problema ;)
tazzito está desconectado   Responder Citando
Antiguo 30-ene-2007, 08:01   #7 (permalink)
Frehley está en el buen camino
 
Avatar de Frehley
 
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 321
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!

Última edición por Frehley; 30-ene-2007 a las 08:25.
Frehley está desconectado   Responder Citando
Antiguo 30-ene-2007, 08:26   #8 (permalink)
Frehley está en el buen camino
 
Avatar de Frehley
 
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 321
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)
Frehley está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 15:13.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93