Discussion:
PROGRAMA VISUAL BASIC DE MONOUSUARIO A MULTIUSUARIO
(demasiado antiguo para responder)
Ironpony
2009-03-30 16:03:45 UTC
Permalink
Tengo un programa hecho en Visual Basic 6.0 contra bases de datos en
Access 97. El programa usa la BBDD para consultas con DAO y con
controles datacontrol para cargar DBCOMBO. En monousuario funciona
perfectamente pero cuando lo ejecuto en red, me dice que..

"El motor de base de datos Microsoft Jet no puede abrir el archivo \
\pc001\programa\bbdd.mdb". Está abierto en modo exclusivo por otro
usuario o bien necesita permiso para ver sus datos. "


La máquina servidor y cliente son Windows XP con SP2

Dentro del Access 97, voy a Herramientas - Opciones -- y en la
pestaña "Avanzadas" está elegido como "Modo predeterminado de
apertura" la opción de Compartido y en "Bloqueo predeterminado de
registros" está legido "sin bloquear"

Cuando arranca el programa y donde da el error es cuando ejecuta la
siguiente orden

datacontrol1.databasename=app.path & "\bbdd.mdb"


¿Como se puede cambiar el programa o como se debe de configurar el
programa visual basic y el programa access, para poder hacer el
programa multiusuario? ¿como se debe usar la propiedad databasaname en
el control data?
Saga
2009-03-30 17:43:45 UTC
Permalink
No tienes algun codigo que haga uso de opendatabase()?

Quizas la aplicacion este abriendo la base de datos en forma exclusiva.
Saludos, Saga


"Ironpony" <***@SPAMMEgmail.com> wrote in message news:0cd2c06e-4b0f-419f-946c-***@o36g2000yqh.googlegroups.com...
Tengo un programa hecho en Visual Basic 6.0 contra bases de datos en
Access 97. El programa usa la BBDD para consultas con DAO y con
controles datacontrol para cargar DBCOMBO. En monousuario funciona
perfectamente pero cuando lo ejecuto en red, me dice que..

"El motor de base de datos Microsoft Jet no puede abrir el archivo \
\pc001\programa\bbdd.mdb". Está abierto en modo exclusivo por otro
usuario o bien necesita permiso para ver sus datos. "


La máquina servidor y cliente son Windows XP con SP2

Dentro del Access 97, voy a Herramientas - Opciones -- y en la
pestaña "Avanzadas" está elegido como "Modo predeterminado de
apertura" la opción de Compartido y en "Bloqueo predeterminado de
registros" está legido "sin bloquear"

Cuando arranca el programa y donde da el error es cuando ejecuta la
siguiente orden

datacontrol1.databasename=app.path & "\bbdd.mdb"


¿Como se puede cambiar el programa o como se debe de configurar el
programa visual basic y el programa access, para poder hacer el
programa multiusuario? ¿como se debe usar la propiedad databasaname en
el control data?
Ironpony
2009-03-31 06:23:37 UTC
Permalink
¿Como podría abrir la bbdd de forma compartida para que accedieran 2
personas a la vez? ¿teneis algún ejemplo?
Post by Saga
No tienes algun codigo que haga uso de opendatabase()?
Quizas la aplicacion este abriendo la base de datos en forma exclusiva.
Saludos, Saga
Tengo un programa hecho en Visual Basic 6.0 contra bases de datos en
Access 97. El programa usa la BBDD para consultas con DAO y con
controles datacontrol para cargar DBCOMBO. En monousuario funciona
perfectamente pero cuando lo ejecuto en red, me dice que..
"El motor de base de datos Microsoft Jet no puede abrir el archivo \
\pc001\programa\bbdd.mdb". Está abierto en modo exclusivo por otro
usuario o bien necesita permiso para ver sus datos. "
 La máquina servidor y cliente son Windows XP con SP2
 Dentro del Access 97, voy a Herramientas - Opciones -- y en la
pestaña "Avanzadas" está elegido como "Modo predeterminado de
apertura" la opción de Compartido y en "Bloqueo predeterminado de
registros" está legido "sin bloquear"
 Cuando arranca el programa y donde da el error es cuando ejecuta la
siguiente orden
 datacontrol1.databasename=app.path & "\bbdd.mdb"
 ¿Como se puede cambiar el programa o como se debe de configurar el
programa visual basic y el programa access, para poder hacer el
programa multiusuario? ¿como se debe usar la propiedad databasaname en
el control data?
Ariel M.
2009-03-30 18:15:58 UTC
Permalink
Post by Ironpony
Tengo un programa hecho en Visual Basic 6.0 contra bases de datos en
Access 97. El programa usa la BBDD para consultas con DAO y con
controles datacontrol para cargar DBCOMBO. En monousuario funciona
perfectamente pero cuando lo ejecuto en red, me dice que..
"El motor de base de datos Microsoft Jet no puede abrir el archivo \
\pc001\programa\bbdd.mdb". Está abierto en modo exclusivo por otro
usuario o bien necesita permiso para ver sus datos. "
La máquina servidor y cliente son Windows XP con SP2
Dentro del Access 97, voy a Herramientas - Opciones -- y en la
pestaña "Avanzadas" está elegido como "Modo predeterminado de
apertura" la opción de Compartido y en "Bloqueo predeterminado de
registros" está legido "sin bloquear"
Cuando arranca el programa y donde da el error es cuando ejecuta la
siguiente orden
datacontrol1.databasename=app.path & "\bbdd.mdb"
¿Como se puede cambiar el programa o como se debe de configurar el
programa visual basic y el programa access, para poder hacer el
programa multiusuario? ¿como se debe usar la propiedad databasaname en
el control data?
Hola. Humildemente opino que convertir tu aplicación desarrollada para
un ambiente Monousuario a Multiusuario va mas allá de cambiar la forma
de apertura de la BBDD, ya que con esta sola medida no solucionas el
acceso simultáneo al mismo registro por parte de 2 ó mas usuarios (entre
otras cosas). Deberías hacer una revisión completa del código para
evitarte (seguros) dolores de cabeza en el futuro (cercano).
Saludos
Ariel
Ironpony
2009-03-31 07:45:16 UTC
Permalink
Te comento el codigo que tengo.
En las propiedades del datacontrol tengo seleccionadas

(nombre) datacontrol1
connect: access
defaulttype = 2-usejet
exclusive= false
readonly=false
recordsettype=2-snapshot


Luego en el programa como código

PRIVATE SUB Form_Load()
'** Abrimos la tabla de forma compatida
With datacontrol1
.Visible = False
.DatabaseName = App.Path & "\tabla.mdb"
.Exclusive = False
.ReadOnly = False
.DefaultType = dbUseJet
.RecordSource = ("SELECT * FROM EMPLEADOS")
End With
end sub

pues si ejecuto el programa desde otro sitio sigue fallando,
diciéndome que la bbdd está abierta en modo exclusivo por otro usuario
o bien necesita permiso para ver sus datos
Post by Ariel M.
Post by Ironpony
Tengo un programa hecho en Visual Basic 6.0 contra bases de datos en
Access 97. El programa usa la BBDD para consultas con DAO y con
controles datacontrol para cargar DBCOMBO. En monousuario funciona
perfectamente pero cuando lo ejecuto en red, me dice que..
"El motor de base de datos Microsoft Jet no puede abrir el archivo \
\pc001\programa\bbdd.mdb". Está abierto en modo exclusivo por otro
usuario o bien necesita permiso para ver sus datos. "
 La máquina servidor y cliente son Windows XP con SP2
 Dentro del Access 97, voy a Herramientas - Opciones -- y en la
pestaña "Avanzadas" está elegido como "Modo predeterminado de
apertura" la opción de Compartido y en "Bloqueo predeterminado de
registros" está legido "sin bloquear"
 Cuando arranca el programa y donde da el error es cuando ejecuta la
siguiente orden
 datacontrol1.databasename=app.path & "\bbdd.mdb"
 ¿Como se puede cambiar el programa o como se debe de configurar el
programa visual basic y el programa access, para poder hacer el
programa multiusuario? ¿como se debe usar la propiedad databasaname en
el control data?
Hola. Humildemente opino que convertir tu aplicación desarrollada para
un ambiente Monousuario a Multiusuario va mas allá de cambiar la forma
de apertura de la BBDD, ya que con esta sola medida no solucionas el
acceso simultáneo al mismo registro por parte de 2 ó mas usuarios (entre
otras cosas). Deberías hacer una revisión completa del código para
evitarte (seguros) dolores de cabeza en el futuro (cercano).
Saludos
Ariel- Ocultar texto de la cita -
- Mostrar texto de la cita -
Ariel M.
2009-03-31 14:05:11 UTC
Permalink
Post by Ironpony
Te comento el codigo que tengo.
En las propiedades del datacontrol tengo seleccionadas
(nombre) datacontrol1
connect: access
defaulttype = 2-usejet
exclusive= false
readonly=false
recordsettype=2-snapshot
Luego en el programa como código
PRIVATE SUB Form_Load()
'** Abrimos la tabla de forma compatida
With datacontrol1
.Visible = False
.DatabaseName = App.Path & "\tabla.mdb"
.Exclusive = False
.ReadOnly = False
.DefaultType = dbUseJet
.RecordSource = ("SELECT * FROM EMPLEADOS")
End With
end sub
pues si ejecuto el programa desde otro sitio sigue fallando,
diciéndome que la bbdd está abierta en modo exclusivo por otro usuario
o bien necesita permiso para ver sus datos
Hola. A mi modo de ver, el Datacontrol debería usarse SOLO cuando uno se
está iniciando en el uso de controles en VB, pero para desarrollos
profesionales no recomendaría su uso, ya que su comportamiento es en
ciertas acasiones un "misterio" para los desarrolladores. Yo recomiendo
reemplazar los datacontrol por líneas de código (sólido, eficiente y
depurable al 100%), pero es solo mi opinión. Suerte.
Saludos. Ariel
unknown
2009-03-31 20:17:41 UTC
Permalink
Estoy deacuerdo,

Para mi los datacontrol tienen tres usos bien definidos:

1.Argumento de ventas.
2.Impresionar a los futuros programadores para demostrarles que con un par
de click puedo acceder a la base de datos, a la corta se dan cuenta que no
les sirve para programar en serio.
3.Cuando necesitas hacer un browse de alguna tabla al vuelo para ver como
van las cosas mientras programas en serio.
--
Un Saludo, Víctor Koch
Post by Ariel M.
Post by Ironpony
Te comento el codigo que tengo.
En las propiedades del datacontrol tengo seleccionadas
(nombre) datacontrol1
connect: access
defaulttype = 2-usejet
exclusive= false
readonly=false
recordsettype=2-snapshot
Luego en el programa como código
PRIVATE SUB Form_Load()
'** Abrimos la tabla de forma compatida
With datacontrol1
.Visible = False
.DatabaseName = App.Path & "\tabla.mdb"
.Exclusive = False
.ReadOnly = False
.DefaultType = dbUseJet
.RecordSource = ("SELECT * FROM EMPLEADOS")
End With
end sub
pues si ejecuto el programa desde otro sitio sigue fallando,
diciéndome que la bbdd está abierta en modo exclusivo por otro usuario
o bien necesita permiso para ver sus datos
Hola. A mi modo de ver, el Datacontrol debería usarse SOLO cuando uno se
está iniciando en el uso de controles en VB, pero para desarrollos
profesionales no recomendaría su uso, ya que su comportamiento es en
ciertas acasiones un "misterio" para los desarrolladores. Yo recomiendo
reemplazar los datacontrol por líneas de código (sólido, eficiente y
depurable al 100%), pero es solo mi opinión. Suerte.
Saludos. Ariel
Saga
2009-03-31 20:53:51 UTC
Permalink
Una mas:

4. Darle a los autores de libros de acceso a base de datos material
para ocupar por lo menos 100 hojas del libro ;-)

Saga


"Victor Koch" <v i c t o r (arroba)correo(punto)waldbott(punto)com(punto)ar>
Post by unknown
Estoy deacuerdo,
1.Argumento de ventas.
2.Impresionar a los futuros programadores para demostrarles que con un par
de click puedo acceder a la base de datos, a la corta se dan cuenta que no
les sirve para programar en serio.
3.Cuando necesitas hacer un browse de alguna tabla al vuelo para ver como
van las cosas mientras programas en serio.
--
Un Saludo, Víctor Koch
Post by Ariel M.
Post by Ironpony
Te comento el codigo que tengo.
En las propiedades del datacontrol tengo seleccionadas
(nombre) datacontrol1
connect: access
defaulttype = 2-usejet
exclusive= false
readonly=false
recordsettype=2-snapshot
Luego en el programa como código
PRIVATE SUB Form_Load()
'** Abrimos la tabla de forma compatida
With datacontrol1
.Visible = False
.DatabaseName = App.Path & "\tabla.mdb"
.Exclusive = False
.ReadOnly = False
.DefaultType = dbUseJet
.RecordSource = ("SELECT * FROM EMPLEADOS")
End With
end sub
pues si ejecuto el programa desde otro sitio sigue fallando,
diciéndome que la bbdd está abierta en modo exclusivo por otro usuario
o bien necesita permiso para ver sus datos
Hola. A mi modo de ver, el Datacontrol debería usarse SOLO cuando uno se
está iniciando en el uso de controles en VB, pero para desarrollos
profesionales no recomendaría su uso, ya que su comportamiento es en
ciertas acasiones un "misterio" para los desarrolladores. Yo recomiendo
reemplazar los datacontrol por líneas de código (sólido, eficiente y
depurable al 100%), pero es solo mi opinión. Suerte.
Saludos. Ariel
Leonardo Azpurua
2009-04-01 05:54:18 UTC
Permalink
Post by Saga
4. Darle a los autores de libros de acceso a base de datos material
para ocupar por lo menos 100 hojas del libro ;-)
Y la quinta:

5. Darle argumentos a los defensores de VB.NET para decir que los mecanismos
de vinculación de datos de .NET (que sirven para todas las razones ya
citadas con excepción de esta) son mejores, y que la solución a TODOS
nuestros problemas (incluyendo hijos díscolos, esposas infieles, perros
hiperactivos, úlceras o tías moribundas) es pasarnos a VB.NET.

Me encantó este eslogan: ".NET: haciendo lo fácil trivial y lo difícil
imposible"


Salud!
Ivan
2009-04-02 21:10:36 UTC
Permalink
hola chicos,
Post by Leonardo Azpurua
Me encantó este eslogan: ".NET: haciendo lo fácil trivial y lo difícil
imposible"
pregunta tonta (y a lo mejor hasta duplicada por mi parte) =>

¿sabeis si hay por 'ahí' alguna versión Express [o similar] de VB6
(no NET :-S)? En su dia lei algo sobre una version 'gratuita' de VB4
[creo] pero por muchas vueltas que di no logre encontrarla.

en realidad es solo por 'picotear', pero no estaria mal echarla un
ojo.

un saludo
Ivan
Saga
2009-04-02 21:30:08 UTC
Permalink
Creo recordar que habia una version de VB6 de Aprendizaje, como
esta:

http://www.amazon.com/Microsoft-Visual-Basic-6-0-Learning/dp/B00002SFK8

Aunque necesitaras mucha suerte para localizar una. Aprte, creo que ahora
esta edcion se considera una pieza de coleccion, tomando en cuenta lo que
esos vendedores quieren por una copia :-S

Esta version nunca fue "gratis", pues venia incluida con algun libro que por
lo
eneral costaba entre $30 y $50USD. Hasta donde se, nunca hubo y no hay
version gratis de VB6.

Habia una de VB5, pero solo servia para crear controles, creo que se llamaba
VB5 Control Edition. Saludos, Saga


"Ivan" <***@teleline.es> wrote in message news:4c36b807-1f80-4c6e-bf3d-***@l22g2000vba.googlegroups.com...
hola chicos,
Post by Leonardo Azpurua
Me encantó este eslogan: ".NET: haciendo lo fácil trivial y lo difícil
imposible"
pregunta tonta (y a lo mejor hasta duplicada por mi parte) =>

¿sabeis si hay por 'ahí' alguna versión Express [o similar] de VB6
(no NET :-S)? En su dia lei algo sobre una version 'gratuita' de VB4
[creo] pero por muchas vueltas que di no logre encontrarla.

en realidad es solo por 'picotear', pero no estaria mal echarla un
ojo.

un saludo
Ivan
Leonardo Azpurua
2009-04-02 21:33:49 UTC
Permalink
"Ivan" <***@teleline.es> escribi� en el mensaje news:4c36b807-1f80-4c6e-bf3d-***@l22g2000vba.googlegroups.com...
hola chicos,
Post by Leonardo Azpurua
Me encantó este eslogan: ".NET: haciendo lo fácil trivial y lo difícil
imposible"
pregunta tonta (y a lo mejor hasta duplicada por mi parte) =>

¿sabeis si hay por 'ahí' alguna versión Express [o similar] de VB6
(no NET :-S)? En su dia lei algo sobre una version 'gratuita' de VB4
[creo] pero por muchas vueltas que di no logre encontrarla.

en realidad es solo por 'picotear', pero no estaria mal echarla un
ojo.
----------------------

Hola, Ivan:

No.

Nunca hubo versiones gratuitas de VB (al menos no de las versiones 5 y 6).
Siempre fue lo suficientemente bueno como para no tener que regalarlo.

Hasta no hace mucho era posible descargar "Visual Basic 5 Control Creation
Edition", una versión de VB5 especialmente diseñada para producir
componentes ActiveX que fueran alojados en Internet Explorer.


Salud!
Ivan
2009-04-02 22:00:28 UTC
Permalink
muchas gracias a los dos (Saga, te respondo tambien por aqui para no
inflar mas el hilo)
Post by Saga
Hasta donde se, nunca hubo y no hay
version gratis de VB6.
Post by Saga
------
Nunca hubo versiones gratuitas de VB (al menos no de las versiones 5 y 6).
Siempre fue lo suficientemente bueno como para no tener que regalarlo.
:-((( me temo que con mi actual poder adquisitivo me voy a quedar con
las [muchisimas] ganas de conocer VB6 directamente. Y (aunque ojala me
equivoque) tambien me temo que para cuando pudiera permitirme
comprarlo, ya lo hayan 'descatalogado' <parece que no les faltan
ganas>

en cualquier caso un 'solidario' "Larga vida a VB6" de un 'no usuario/
usuario frustrado' :-D

un saludo y gracias de nuevo
Ivan

PD: en cuanto al "Visual Basic 5 Control Creation" creo que es al que
me referia en el otro mensaje, y por muchos vinculos que segui no
consegui descargarlo. Debia estar en continua [y esquiva] mudanza ...
aunque tambien puede ser mi torpeza en estas lides
Post by Saga
hola chicos,
Post by Leonardo Azpurua
Me encantó este eslogan: ".NET: haciendo lo fácil trivial y lo difícil
imposible"
pregunta tonta (y a lo mejor hasta duplicada por mi parte) =>
 ¿sabeis si hay por 'ahí' alguna versión Express [o similar] de VB6
(no NET :-S)? En su dia lei algo sobre una version 'gratuita' de VB4
[creo] pero por muchas vueltas que di no logre encontrarla.
en realidad es solo por 'picotear', pero no estaria mal echarla un
ojo.
----------------------
No.
Nunca hubo versiones gratuitas de VB (al menos no de las versiones 5 y 6).
Siempre fue lo suficientemente bueno como para no tener que regalarlo.
Hasta no hace  mucho era posible descargar "Visual Basic 5 Control Creation
Edition", una versión de VB5 especialmente diseñada para producir
componentes ActiveX que fueran alojados en Internet Explorer.
Salud!
Leonardo Azpurua
2009-04-02 23:26:23 UTC
Permalink
"Ivan" <***@teleline.es> escribi� en el mensaje news:dd39b6b2-7e42-48be-92a2-***@z19g2000vbz.googlegroups.com...
muchas gracias a los dos (Saga, te respondo tambien por aqui para no
inflar mas el hilo)
Post by Saga
Hasta donde se, nunca hubo y no hay
version gratis de VB6.
Post by Saga
------
Nunca hubo versiones gratuitas de VB (al menos no de las versiones 5 y 6).
Siempre fue lo suficientemente bueno como para no tener que regalarlo.
:-((( me temo que con mi actual poder adquisitivo me voy a quedar con
las [muchisimas] ganas de conocer VB6 directamente. Y (aunque ojala me
equivoque) tambien me temo que para cuando pudiera permitirme
comprarlo, ya lo hayan 'descatalogado' <parece que no les faltan
ganas>
-------------------------------------

Hola, Ivan:

"Descatalogado" lo está desde 2001.

El soporte básico fue interrumpido en Marzo de 2005, y el soporte extendido
terminó en abril del año pasado.

Pero como aun no hay una herramienta tan capaz de hacer lo que uno espera de
ella como lo es VB6, va a seguir dando la guerra por muchísimos años más.

Siempre tendrás una oportunidad de ponerle la mano encima a alguno.


Salud!
Ivan
2009-04-02 23:58:32 UTC
Permalink
Post by Leonardo Azpurua
"Descatalogado" lo está desde 2001.
joder, creo que ando un pelin despistado :-) ... y eso que lei [casi]
todas las ristras de mensajes cuando quitaron el soporte extendido.
Pero, contra toda logica, pense que seguirian vendiendolo (como dicen
por aqui: la pela es la pela)

bueno, como tu dices, hay mas dias que judias ('habas', por si las
moscas), y seguramente acabare metiendole mano en algun momento. Entre
tanto seguire disfrutando de el a traves de vuestros dialogos

un saludo
Ivan

PD: solo porque acabo de recibirlo => al fin he empezado a meterle
mano a 'aquel' libro de N. Wirth, y aunque me lo tomare con calma,
creo que efectivamente puede echarme un cable para amueblar un poco mi
cabeza. Gracias de nuevo.

Continúe leyendo en narkive:
Loading...