SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Bases de Datos => Mensaje iniciado por: luchoyame en Martes 4 de Octubre de 2005, 15:50

Título: Ayuda Urgente - Vb6 Y Access
Publicado por: luchoyame en Martes 4 de Octubre de 2005, 15:50
Tengo el siguiente problema y me gustaria saber si alguien puede ayudarme.
Desarrolle una aplicacion cliente servidor con una base de datos de access. Al imprimir un comprobante (por ejemplo el Nº 100) con CrystalReport no hay problema pero cuando el programa pregunta desea imprimir otro comprobante y la otra computadora tambien manda a imprimir se desordena la numeracion no sigue correlativamente.

¿Como puedo solucionarlo?
Lo que yo hago es un:
data1.recordset.movelast
Text1.text = val(data1.recordset("Numero"))

data1.recordset.addnew
     data1.recordset("Numero")=val(Numero)
data1.recordset.update
data1.refresh

pero la otra makina cuando imprimen las dos a la vez tambien sigue la misma intruccion entonces termino teniendo dos comprobantes con el mismo numero y ahi empiezan los problemas.

Este Numerito no puede ser una clave unica si o si tiene que tener un indice con duplicados.

Para aclararlo lo que quiero hacer es que las dos makinas presionen en imprimir a la misma vez pero que en la BBDD (Access) no se copien dos registros con el mismo numero sino que primero uno y luego el otro.
Título: Re: Ayuda Urgente - Vb6 Y Access
Publicado por: ciber_lep en Viernes 12 de Mayo de 2006, 22:39
Estas haciendo ke el numero se incremente antes de hacer el update? espero ke si pues de lo contrario estarias copiando el mismo numero. con lo demas talvez sea problema del servidor de base de datos que usas pues estas gestiones( Transacciones) las debe de realizar uno a uno.  revisa si puedes micrar a otro servidor de base de datos mas solida.
Título: Re: Ayuda Urgente - Vb6 Y Access
Publicado por: cufarinis en Miércoles 27 de Septiembre de 2006, 18:53
hola:

Quisas no te sea de ayuda mi comentario, pero ¿intentaste indexar la base de datos con "Sin duplicados"?

saludos
Título: Re: Ayuda Urgente - Vb6 Y Access
Publicado por: piyey en Domingo 15 de Octubre de 2006, 06:12
Puedes hacer el tipo de dato como AutoNumérico para que él incremente solo y no tengas que calcularlo vos mismo.
Título: Re: Ayuda Urgente - Vb6 Y Access
Publicado por: chantapalacios en Domingo 5 de Noviembre de 2006, 22:29
Cuando se va a insertar un nuevo registro a la base de datos, es conveniente leerla primero para evitar actuar sobre un registro que ya existe con una sentencia INSERT o aplicar UPDATE sobre uno inexistente, sobre todo si quieres trabajar con un sistema multi usuario.

Ejemplo
Private Sub Guardar
Set RecordsetArchivo = Base.OpenRecordset(SELECT * FROM Archivo WHERE Llave = 123)
If RecordsetArchivo.EOF Then
   Insert .......................  -> resto de la sentencia
else
   Update ...................... -> resto de la sentencia
end if
End Sub

 :comp: Este ejemplo te puede servir para lo que quieres resolver con el número que se repite :comp:
Título: Re: Ayuda Urgente - Vb6 Y Access
Publicado por: F_Tanori en Lunes 6 de Noviembre de 2006, 02:36
Cita de: "chantapalacios"
Cuando se va a insertar un nuevo registro a la base de datos, es conveniente leerla primero para evitar actuar sobre un registro que ya existe con una sentencia INSERT o aplicar UPDATE sobre uno inexistente, sobre todo si quieres trabajar con un sistema multi usuario.

Ejemplo
Private Sub Guardar
Set RecordsetArchivo = Base.OpenRecordset(SELECT * FROM Archivo WHERE Llave = 123)
If RecordsetArchivo.EOF Then
   Insert .......................  -> resto de la sentencia
else
   Update ...................... -> resto de la sentencia
end if
End Sub

 :comp: Este ejemplo te puede servir para lo que quieres resolver con el número que se repite :comp:
la pregunta es del
Octubre 04, 2005 06:50 am


a mi ver no creo que eso funcione mucho ...  :ph34r:



y tambien creo que debe de estar solucionado, pues yo creo que en un año ya encontro alguna respuesta que le sirviera :P, puesto que ya no volvio.... :whistling:


Saludos