Visual Basic - Registros Duplicados al momento de Anexar - MYSQL

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Registros Duplicados al momento de Anexar - MYSQL

Publicado por Marco Arzapalo (5 intervenciones) el 13/07/2010 04:26:02
Buenas noches, espero que alguien me pueda ayudar. Mediante una consulta de "insert into..." he logrado consolidar registros de una tabla hacia otra tabla (tablas con caracteristicas iguales pero en base de datos difrentes - mysql); pero al momento de anexar los registros encuentra duplicados, los duplicados no se deben anexar; para solucionar esto quiero seleccionar el registro duplicado y almacenar en otra tabla, para tener datos historicos. No se por donde empezar, espero alguna sugerencia y si fuera posible una ayuda con codigo.
Otra Duda: en la consulta Insert to.. de que forma se podria evitar los registros duplicados.

Desde ya muchas gracias.

Saludos.


Dim RapliAnexar As String

RapliAnexar = "Insert into bd1.x(bd1.x.apepaterno, bd1.x.apematerno, bd1.x.Periodo, bd1.x.Mes)" _
& "Select bd2.x.apepaterno, bd2.x.apematerno, bd2.x.periodo, bd2.x.mes" _
& " from bd2.x"
db2.Execute RapliAnexar
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

RE:Registros Duplicados al momento de Anexar - MYS

Publicado por alfonso (67 intervenciones) el 13/07/2010 09:22:37
pon esto en un modulo

Global rs As ADODB.Recordset

Public Function dato_existe(ByVal X As String) As Boolean
Set rs = New ADODB.Recordset
rs.Open "select * from mitabla where registro = '" & X & "'", cnn, adOpenDynamic, adLockOptimistic
If rs.EOF = True Then
dato_existe = True
Else
dato_existe = False
End If
End Function

ahora en la funcion donde guardas los datos simplemente

haz la siguiente consulta

If dato_existe(registro.Text) = True Then
"""aqui generas el codigo que usas para guardar""""
else
msgbox "el dato ya existe"
"""y pones lo que quieras que el formulario haga
ejemplo que se cierre que se limpie etc etc""""
end if

ahora te recomiendo que utilizes un registro numerico para cada ingreso y en base a ese guardes y luego puedas consultar

pd: si usas numeros para identificar los registros el rango de errores al ingresar o consultar es de 0 ya que los apellidos se pueden repetir o pueden estar mal escritos

saludos espero te sirva si necesitas mas info consulta
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