• Lunes 23 de Diciembre de 2024, 02:44

Autor Tema:  Ayuda Urgente - Vb6 Y Access  (Leído 3394 veces)

luchoyame

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Ayuda Urgente - Vb6 Y Access
« en: Martes 4 de Octubre de 2005, 15:50 »
0
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.

ciber_lep

  • Miembro MUY activo
  • ***
  • Mensajes: 301
    • Ver Perfil
Re: Ayuda Urgente - Vb6 Y Access
« Respuesta #1 en: Viernes 12 de Mayo de 2006, 22:39 »
0
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.
Programación en
PHP,javaScript,HTML,Java,C++,.NET.
Base de Datos,Servidores Linux.

cufarinis

  • Miembro activo
  • **
  • Mensajes: 25
    • Ver Perfil
Re: Ayuda Urgente - Vb6 Y Access
« Respuesta #2 en: Miércoles 27 de Septiembre de 2006, 18:53 »
0
hola:

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

saludos

piyey

  • Miembro MUY activo
  • ***
  • Mensajes: 101
  • Nacionalidad: ni
    • Ver Perfil
    • Piyeycorp® - La imaginación es el límite
Re: Ayuda Urgente - Vb6 Y Access
« Respuesta #3 en: Domingo 15 de Octubre de 2006, 06:12 »
0
Puedes hacer el tipo de dato como AutoNumérico para que él incremente solo y no tengas que calcularlo vos mismo.
Si no vives para servir...
no sirves para vivir.


No soy el dueño del mundo...
pero si el hijo del dueño.


Entre la linea que divide la realidad de la ilusión...
se encuentra la imaginación

IlusionLand - Piyey

chantapalacios

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Ayuda Urgente - Vb6 Y Access
« Respuesta #4 en: Domingo 5 de Noviembre de 2006, 22:29 »
0
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:

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Ayuda Urgente - Vb6 Y Access
« Respuesta #5 en: Lunes 6 de Noviembre de 2006, 02:36 »
0
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
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================