Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Dos usuarios en red trabajar con la misma tabla

Estas en el tema de Dos usuarios en red trabajar con la misma tabla en el foro de Bases de Datos General en Foros del Web. Hola, espero me puedan ayudar, tengo diseñado una aplicación de facturación y control de stock en access 2010, mi problema es el siguiente: cuando pongo ...
  #1 (permalink)  
Antiguo 28/07/2014, 12:01
 
Fecha de Ingreso: febrero-2011
Mensajes: 6
Antigüedad: 13 años, 2 meses
Puntos: 0
Sonrisa Dos usuarios en red trabajar con la misma tabla

Hola, espero me puedan ayudar, tengo diseñado una aplicación de facturación y control de stock en access 2010, mi problema es el siguiente: cuando pongo a aplicación a correr en red, por desir hacer una factura en la PC1 y al mismo tiempo hacer tan bien factura en la PC2, mas haya que al hacer una actualización en la PC2 me da el numero de factura correlativo siguiente al que tiene la PC1, al registrar la factura en la PC1 me registra las dos la de la PC1 y la de la PC2 por mas que no se emitió la orden de registrar en la PC2, también me altera el stock ya que descarga mal la salida de producto, en definitiva no me permite que se trabaje en la misma tabla en las dos maquinas al mismo tiempo ¿que tengo que hacer? escuche por ahy algo de bloquear el registro al momento de entrar al formulario que es eso y como se hace??????, por otro lados les comento que no trabajo con código de visual no lo manejo, lo hago con consultas y macros.
Espero haberme dado a entender, por cierto ya dividí la BD las tablas por un lado y el resto por el otro vincule las tablas pero es lo mismo. espero sus respuestas. Gracias
  #2 (permalink)  
Antiguo 28/07/2014, 19:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Dos usuarios en red trabajar con la misma tabla

Transacciones.
Cuando hay concurrencia, es la forma de trabajar esos casos.
Pero el mejor consejo sería que te olvides de Access y uses un verdadero DBMS, y no esa cosa.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/07/2014, 15:03
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Dos usuarios en red trabajar con la misma tabla

No se sí Access tiene transacciones, pero usar access en ese tipo de aplicaciones (fuera de la ofimática personal) siempre es un dolor de cabeza.

Secudno la opinión de dejar de usar Access y usar un gestor de bases de datos profesional.

Saludos
__________________
Grupo Telegram Docker en Español
  #4 (permalink)  
Antiguo 30/07/2014, 17:40
Avatar de AtilioNaler  
Fecha de Ingreso: junio-2014
Ubicación: Montevideo
Mensajes: 69
Antigüedad: 9 años, 10 meses
Puntos: 9
Respuesta: Dos usuarios en red trabajar con la misma tabla

Seguramente me arrepentiré por las eventuales consecuencias de mi respuesta (¿?).

1) robertogallardo6 sinceramente y con todo respeto, me ha costado mucho entender qué necesitas porque tu redacción es muy, muy, muy confusa. Trata de hacerlo nuevamente en forma más resumida, más concisa y, en lo posible, pide ayuda con la ortografía.

2) Y aunque creo que la finalidad de este foro es tratar de ayudar a quien pregunta, me permitiré por única vez comentar las respuestas de los dos compañeros que me anteceden. Si repasan lo que robertogallardo6 intentó expresar, verán que lo único que dijo con claridad es que no maneja lenguaje Visual Basic, entonces recomendarle que use un gestor de base de datos profesional es (aunque esa no haya sido la intención) como tomarle el pelo.

Me disculpo de antemano si se me malinterpreta, estoy tratando de ser constructivo.
__________________
Leer atenta y detenidamente los mensajes permite una mejor comprensión.
  #5 (permalink)  
Antiguo 31/07/2014, 06:27
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Dos usuarios en red trabajar con la misma tabla

Estimado @AtilioNaler: La pregunta de @robertogallardo6 apunta a un problema de concurrencia de usuarios a la misma base, y para solucionar eso sólo tiene un camino. Por eso le hemos respondido que debe usar transacciones.
Ahora bien, ni es tan complejo para gente poco experimentada, ni tampoco tan dificil de aprender. Pero por sobre todas las cosa es la única solución práctica para implementar para ese tipo de problemas, y es también la que llevaría menor esfuerzo.
Cualquier otro camino no cumplirá con lo que desee, o lo hará muchísimo mas complicado.

Además, no es necesario caer en el DB2, o usar Oracle 12g para lograr manejar transacciones; el propio Access ofrece un rudimentario soporte de transacciones (ver en MSDN). A esto súmmale que todo lo que quiere lograr se puede hacer sin mayor complejidad usando PosgreSQL, MySQL e incluso Firebird. Todo DBMS de nivel profesional y ampliamente difundidos, así como gratuitos (al menos en sus versiones no empresariales); siendo la migracion algo provechoiso a largo plazo.

Nosotros le planteamos esa alternativa porque conocemos no sólo el rubro, sino por sobre todo conocemos las dificultades que está atravesando, y sabemos que no va a encotnrar buena solución si pretende seguir usando Access, donde la concurrencia no se administra bien.
Queda en él si quiere intentar la solución, para lo cual podemos ayudar. Pero con Access... Access tiene límites, y mientras más exija su proyecto, más va a necesitar cambiar a un verdadero DBMS.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 31/07/2014, 07:53
 
Fecha de Ingreso: febrero-2011
Mensajes: 6
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Dos usuarios en red trabajar con la misma tabla

Hola, te agradesco la explicacion y la entiendo que la erramienta que elegi no es la mejor, el tema es que es la que se usar, me refiero a que yo diceñe la aplicacion, no sera muy profecional pero me es funcional, (hasta ahora) que quiero hacerla funcionar en dos maquinas al mismo tiempo, en definitiva y a lo que voy no tendria problema de pasarme a alguno de esos que mencionaste (PosgreSQL, MySQL e incluso Firebird), pero te consulto mas haya que seguron son BD el tema de la greacion de formularios reportes y lo que para mi es la logica o la programacion (ya se no se molesten ya se que no es lo mismo que escrivir lkineas de codigo), funciona igual o similar a Access, si no es asi tene en cuanta que mi aplicacion la diseñe por rasones de trabajo endefinitiva para facturar y llevar stock de un negocito que tengo, ponerme a aprender algo nuevo implica tiempo que ahora no me seria redituable ocupar, espero se entienda mi cocepto se que hay cosas mejores el tema es como alguien dijo en alguna pelicula (adapto-supera) osea tengo que adaptarme y superar la situacion con lo que tengo o se en este caso... demas esta desirles que les agradesco su tiempo y buena volunta y soy todo oidos para mas sugerencias (disculpen los horrores)
  #7 (permalink)  
Antiguo 31/07/2014, 07:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Dos usuarios en red trabajar con la misma tabla

Por favor, ¿podrías usar puntos aparte, párrafos, etc.?
Resulta muy difícil entender lo que dices en una parrafada así...

Sin ofender. Nos ayudaría a ayudarte.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 31/07/2014, 08:19
 
Fecha de Ingreso: febrero-2011
Mensajes: 6
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Dos usuarios en red trabajar con la misma tabla

Hola AtilioNaler, tienes razón mi ortografía es pésima, disculpen pero la verdad y no se ofendan es algo a lo que no le presto mucha atención.
con respecto a lo de (lenguaje Visual Basic) tienes toda la razón eso quise explicar, con respecto a lo otro voy a tratar de explicarme mejor,
diseñe una aplicación de facturación y stock para me negocio, como no manejo Visual Basic, toda la lógica (si la quieren llamar así) lo hago a través de Macros y consultas, en pocas palabras, copio, pego, datos creo tablas para actualizar los datos borro pego lo nuevo y así es la forma que lo diseñe para poder llevar el stock que es la parte importante en lo que quiero,
por todo este manejo de datos entre tablas y tablas, es que cuando realizo una factura al finalizar la misma y pretender registrarla para que se actualice el stock por los artículos que se facturaron se genera el problema si lo hago en las dos maquina al mismo tiempo.....
de echo lo realiza todo me da números correlativos de factura y todo pero sien alguna de las maquinas se registra la factura, lo hace con las dos facturas osea registra las que se quiere registrar y la que se esta asiendo en la otra maquina.
se que sigue siendo largo pero no se como explicarlo en menos palabras, gracias

Cita:
Editado: Agregando saltos de parrafo para que sea más entendible.

Última edición por gnzsoloyo; 31/07/2014 a las 08:34 Razón: Legibilidad.
  #9 (permalink)  
Antiguo 31/07/2014, 08:40
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Dos usuarios en red trabajar con la misma tabla

Por favro, trata de escribir las cosas como para que el resto de los mortales lo pueda leer...

Cita:
cuando realizo una factura al finalizar la misma y pretender registrarla para que se actualice el stock por los artículos que se facturaron se genera el problema si lo hago en las dos maquina al mismo tiempo.....
de echo lo realiza todo me da números correlativos de factura y todo pero sien alguna de las maquinas se registra la factura, lo hace con las dos facturas osea registra las que se quiere registrar y la que se esta asiendo en la otra maquina
Da la impresión de que lo que te sucede es que tienes el mismo numero de factura en ambas gestiones, cosa que es incorrecta, o bien no estás diferenciando el detalle de una de las dos facturas respecto a la otra.
Ese tema va un poco más allá de lo que pueda requerir transacciones (que serían muy importantes en tu caso): Es de diseño de las relaciones entre entidades de la base de datos.

Lo central: que se registren dos facturas desde equipos diferentes no debería tener importancia, en tanto los datos de identidad de una factura (su numero, por caso) sean correctos, y en la registración del detalle de la misma y las formas de pago, se use exactaemente el mismo identificador de esa única fctura.
Si se produce un solapamiento de identidad de un detalle de factura (la listya de lo vendido) entre dos facturas, lo que tienes es mal diseñado el algoritmo de generacion del numero, y de la registración.

¿Podrías describir (en una lista numerada y ordenada, por favor) cómo es la secuencia de pasos en que tu sistema genera una facturta, y la registra?

Por favor, insisto en que escribas con parrafos claros.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 31/07/2014, 17:07
Avatar de AtilioNaler  
Fecha de Ingreso: junio-2014
Ubicación: Montevideo
Mensajes: 69
Antigüedad: 9 años, 10 meses
Puntos: 9
Respuesta: Dos usuarios en red trabajar con la misma tabla

Estimado gnzsoloyo esta sí es una respuesta brillante. Te felicito por la claridad y la concisión y porque, entre otras cosas, a través de tu último mensaje recién pude entender lo que le pasaba a robertogallardo6.

Hoy, gracias a ti, he aprendido unas cuantas cosas. Un abrazo desde Montevideo.
__________________
Leer atenta y detenidamente los mensajes permite una mejor comprensión.
  #11 (permalink)  
Antiguo 01/08/2014, 08:41
 
Fecha de Ingreso: febrero-2011
Mensajes: 6
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Dos usuarios en red trabajar con la misma tabla

Bien voy de nuevo a ver si esta ves lo hago mejor:

1. Abro el formulario de facturación, el mismo esta compuesto por un formulario principal y un subformulario en este ultimo estaría el detalle de la factura, osea 1, 3 o 10 productos que quiera facturas.

2. Realizo la factura de forma normal y al presionar una tecla (en este caso F3) me pregunta si seguro quiero registrar la factura.

(hasta aqui si hago esto en las dos PC al mismo tiempo esta todo bien, los numeros de facturas son correlativos, todo normal)

3. Al contestar que si quiero registrar la factura lo hace sin problema, (pero, me registra las dos facturas la de la PC donde confirme que si a la pregunta y la factura que esta en desarrollo en la otra PC; es como que, con confirmar en PC, la factura que se esta haciendo en la otra tan bien se registra) todo queda registrado y normal.

Tengo en claro, que el problema es porque, como les comente antes para registrar la factura y actualizar stock, copio, pego datos, creo tablas, actualizo, etc, y esto pasos se superponen con los dela otra PC (es lo que entiendo), vuelvo a caer en Uds., dejando de lado que si Access no es el adecuado, que puedo hacer?
  #12 (permalink)  
Antiguo 01/08/2014, 09:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Dos usuarios en red trabajar con la misma tabla

Cita:
2. Realizo la factura de forma normal y al presionar una tecla (en este caso F3) me pregunta si seguro quiero registrar la factura.
¿A qué le llamas "de forma normal "? ¿Qué pasos tiene?
Es tu sistema. Nosotros podemos tener facturaciones basadas en otra lógica, por lo que no sabemso qué pasos internos hace la tuya.
Cita:
2. Realizo la factura de forma normal y al presionar una tecla (en este caso F3) me pregunta si seguro quiero registrar la factura.
¿Y qué pasos, proceso y validaciones tiene esa "registración"?
Com odije antes, es tu proceso. Describe el algoritmo para que veamos por donde va.
Cita:
Tengo en claro, que el problema es porque, como les comente antes para registrar la factura y actualizar stock, copio, pego datos, creo tablas, actualizo, etc, y esto pasos se superponen con los dela otra PC
¿Copias? ¿Pegas? ¿Qué cosas? ¿Qué datos? ¿Haces alguna validación en ese proceso para verificar que se reserven stocks, usas algun tipo de flag que impida acciones inconsistentes? ¿Cómo lo verificas?
Es tu sistema, nosotros no conocemos las acciones itnernas que le diseñaste.
Describe el algorimo.

Ten en cuenta que cuando no puedes usar transacciones (que de todos modos Access, aunque limitado, te provee), siempre puedes manejar el problema con estados que se registren en alguna parte, para saber que ciertas cosas se deben verificar antes de ser guardadas.

Trata de describir los pasos.

Y por favor, muestranos cómo es la estructura de tus tablas. AL menos las involucradas en este tema.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 01/08/2014 a las 10:20
  #13 (permalink)  
Antiguo 31/10/2014, 14:43
 
Fecha de Ingreso: febrero-2011
Mensajes: 85
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: Dos usuarios en red trabajar con la misma tabla

Cita:
Iniciado por robertogallardo6 Ver Mensaje
3. Al contestar que si quiero registrar la factura lo hace sin problema, (pero, me registra las dos facturas la de la PC donde confirme que si a la pregunta y la factura que esta en desarrollo en la otra PC; es como que, con confirmar en PC, la factura que se esta haciendo en la otra tan bien se registra) todo queda registrado y normal.

Tengo en claro, que el problema es porque, como les comente antes para registrar la factura y actualizar stock, copio, pego datos, creo tablas, actualizo, etc, y esto pasos se superponen con los dela otra PC (es lo que entiendo), vuelvo a caer en Uds., dejando de lado que si Access no es el adecuado, que puedo hacer?
Buenas tardes

Un´poco tarde, pero estoy revisando los temas del foro, y desde mi muy particular punto de vista, creo que cuando genera los documentos desde diferentes equipos, estos apuntan a la misma tabla, por lo que cuando hace el guardado y la actualizacion, pues toma todo los registros.

Lo que deberia de hacer si apuntan a la misma tabla, es diferenciar cuales son los registros de cada equipo y cuando efectue su operaciones de gardado y actualizado tenga forma de saber cuales son de un equipo y cuales de otro.

Otra opcion seria crear tablas temporales para cada conexicon.

Saludois GRC

Etiquetas: access, red
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:56.