Visual Basic - error en codigo

Life is soft - evento anual de software empresarial
 
Vista:

error en codigo

Publicado por Esperanza (4 intervenciones) el 05/11/2010 15:22:12
Ayuda p.f. tengo una aplicacion con vb6 y dao conectada a bd access, estoy comparando dos archivos access para validar si la etiqueta de uno es igual a la del otro, si es igual debo ignorar el registro y validar el siguiente, si es diferente debo agregar el registro de la tabla2 de la bd2 a la tabla1 de la bd1 he logrado conectarlos pero en la consulta me arroja null en el campo de la bd2 este es el codigo

Data1.RecordSource = "select * from [tabla1] order by [Etiqueta]"
Data1.Refresh
cantidad1 = Data1.Recordset.RecordCount
Data1.Recordset.MoveFirst

Data2.RecordSource = "select * from [tabla1] order by [Etiqueta]"
Data2.Refresh
cantidad2 = Data2.Recordset.RecordCount
Data2.Recordset.MoveFirst

For i = 1 To cantidad2
If cantidad1 = cantidad2 Then
'si entra aqui es porque los datos del campo son iguales
Else
If Data1.Recordset("Etiqueta") = Data2.Recordset("Etiqueta") Then
'Debo ignorar el registro porque ya existe, y brincar al siguiente registro
Else
'Debo agregar este registro a la bd1 porque no existe es articulo nuevo
'End If
End If

Next i
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:error en codigo

Publicado por FELIPE (41 intervenciones) el 05/11/2010 18:41:30
Hola,
Necesitas ordenar tus lineas de codigo

For i = 1 To cantidad2

For j = 1 To cantidad1
If Data1.Recordset("Etiqueta") <> Data2.Recordset("Etiqueta") Then
'SON DATOS NUEVOS. ingresar los datos a una tabla temporal
End If
Data1.Recordset.MoveFirst
Next j
Data2.Recordset.MoveNext
Next i

'INGRESA LOS DATOS NUEVOS A tabla1 de tu Base de datos

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:error en codigo

Publicado por Esperanza (4 intervenciones) el 06/11/2010 03:57:44
Gracias por tu apoyo Felipe, el problema es que las consultas no me estan funcionando,las dos bd tienen el campo exactamente igual, los mismos parametros de hecho la bd2 es una copia exacta de la bd1 excepto que a la 2 le agregue un numero de etiqueta diferente precisamente para probar que funcione pero cuando ejecuto en f8 y pongo el cursor en este renglon, la data2 si me muestra el valor de etiqueta pero el data1 me muestra el valor null y ya revise tooodo,bd objeto data,etc ya no se que mas buscar

If Data2.Recordset("Etiqueta") = Data1.Recordset("Etiqueta") Then
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:error en codigo

Publicado por FELIPE (41 intervenciones) el 06/11/2010 16:02:36
Enviame tu codigo fuente y para chequear tu problema
asi poder ayudarte mejor
[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:error en codigo

Publicado por Esperanza (4 intervenciones) el 06/11/2010 18:37:35
Muchas gracias por tu ayuda, ya te lo envie a ver que le encuentras.

saludos..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:error en codigo

Publicado por Javier (44 intervenciones) el 17/11/2010 23:23:15
Buenas , te paso una forma de comparar dos tablas y poblar la primera con los datos de la segunda.

'cargamos la tabla principal
Data2.RecordSource = "select * from tabla2 order by Etiqueta"
Data2.Refresh

' realizamos un bucle sobre la tabla principal registro a registro
Do While Not Data2.Recordset.EOF ' mientras no sea el fin de la tabla principal
Etiqueta2 = Data2.Recordset!Etiqueta ' guardamos el contenido a comparar
' filtramos la tabla temporal con el dato a comparar
Data1.RecordSource = "select * from tabla1 where etiqueta = '" & Etiqueta2 & "'"
Data1.Refresh

si no esiste lo añadimos
If Data1.Recordset.EOF Then
Data1.Recordset.AddNew
Data1.Recordset!Etiqueta = Etiqueta2
Data1.Recordset.Update
DoEvents
End If
Data2.Recordset.MoveNext
Loop
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar