Visual Basic - problemas VB6 en W2003TS.

Life is soft - evento anual de software empresarial
 
Vista:

problemas VB6 en W2003TS.

Publicado por Nahuel (2 intervenciones) el 06/06/2006 10:07:19
Tengo el siguiente problema, he hecho una aplicacion en VB6.0 (sp6) q trabaja conectandose a una base de datos access 2003. Para conectarme utilizo el elemento ADO, o la conexion por oledb, dependiendo del formulario y su funcion.
Este programa lo he hecho en windows xp y funciona a la perfeccion, sin embargo cuando lo paso al windows 2003 terminal server (q es en el q tiene q correr) al cargar los elementos ADO, manda un error:
No me muestra los datos de la tabla en los campos q habia configurado, los deja vacios y...
cuando ejecuto algun comando q tenga accion con el ado (como por ejemplo, ado.recordset.refresh) me manda un error de sistema y se cierra el programa. El primer error decia q me faltaban las librerias, asi q me las baje, pero ahora me manda el error 91, variables de tipo object o with no definidas.
Antes q nada, tengo todos los formularios con el option explicit, asi q tengo todo definido.
Alguien sabe ayudarme??????
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:problemas VB6 en W2003TS.

Publicado por Orlando (31 intervenciones) el 06/06/2006 11:16:36
Yo tengo una aplicación en TS, he tenido problemas, digamos "curiosos", que he ido solventando y que asocio al propio funcionamiento del TS, que de algún modo se me escapan .He encontrado muy poca información al respecto. En tu caso, puede que donde tengas instalado el TS te falte todavia alguna librería (mira si tienes msado.xx , ó en casi que sí,, qué versión es respecto a la de tu pc.).¿Te está dando en todos los recordsets? . Haz un pequeño programa de varias líneas donde declares un solo recordset y despues lo crees conectado a una tabla. Si te sigue dando error, es que algo te está faltando en la máquina TS. .Por cierto tu aplicación es para multiusuario?, los usuarios se conectan a traves de TS, no?. Haz probado en otra máquina distinta que tenga TS?. Si quieres me mandas algo de código y yo lo podría probar en la maquina que tengo TS ( aunque en mi caso tengo W2000 TS). Tienes mi correo por si quieres ponerte en contacto. Sldos.
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

RE:problemas VB6 en W2003TS.

Publicado por Nahuel (62 intervenciones) el 06/06/2006 11:46:44
El msado no lo tengo, solo habia instalado las librerias del vb sp6 ( q en teoria tendrian q tener los comandos y objetos q me faltan).
Ademas el prog solo me falla cuando trabajo sobre los recordset del ADO, cuando uso los del oledb, me trabaja perfecto (o sea, puedo visualizar los datos de las tablas individuales y agregar registros a la tabla principal.
Todavia no probe q mas de un usuario se conectase a mi aplicacion al mismo tiempo, solo me conecte yo desde el escritorio remoto y al ver q me fallaba la aplicacion me puse a investigar x internet (q hasta ahora consegui muuuuuy poca info y q realmente es irrelevante al problema q tengo).
Ahora estaba viendo lo de programas multiusuario, y vi q al abrir el recordset, lo abro de forma "lock optimistic" y ademas, para iniciar el prog, tienen q poner su nombre de usuario y contraseña pero eso dudo q tenga mucho q ver, ademas de eso, tengo q hacer algo mas para q sea multiusuario el programa?
Desde ya muchas gracias, me ayudaste mas de lo q pensas.
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

RE:problemas VB6 en W2003TS.

Publicado por orlando (31 intervenciones) el 06/06/2006 13:48:17
Disculpa mi ignorancia, hace tiempo q no refresco algunos conceptos. Entiendo que cuando hablas de recordset de ADO, es usando código para trabajar con el recordset directamente, y usar OLEDB es cuando pones controles adodc en el formulario y operar con estos,no?. Yo trabajo casi siempre con código directo (ya me acostumbré). Estoy seguro que yo pasé por ese problema que tu tienes, pero hace casi 2 años, y no recuerdo bien que motivo era, pero tiene pinta de que algo falta en la máquina TS. Seguiré pensando a ver si me viene alguna idea o cómo lo solucioné .
Respecto a multiusuario eso requiere que hagas uso de un mecanismo de bloqueo para los posibles accesos simultáneos. Si un usuario sólo consulta o imprime la información, no ha de haber bloqueos (salvo casos excepcionales). En una alta, baja ó modificación, tienes que preguntar antes si ese registro está bloqueado previamente, para ello has de tener almacenado esto de alguna forma: ya sea en una tabla de bloqueos o en un fichero .txt. Esta es la idea:

Acceso A/B/M registro:
1º) 'En un alta no se bloquea, solo debes preguntar si existen los datos antes de insertar.

2º) 'En Baja ó Modificación
Bloquear registro
....puedo? NO (Volver arriba. Ver si pasa un tiempo avisar al usuario del asunto).
SI...registro bloqueado.->.modifico ó doy de baja.
3º)Desbloqueo registro.

..ojo!, intenta que aunque salga por error, debes intentar desbloquearlo de todas maneras.

Lo del "Lock Optimistic" es correcto.

Aprovecho y te hago la pregunta que recién puse en el foro: sabes (en modo diseño) cómo puedo a un control datagrid indicarle una tabla subyacente, para definir sus columnas, formatos,cabebera,colores,etc..
Sldos
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

RE:problemas VB6 en W2003TS.

Publicado por Nahuel (62 intervenciones) el 06/06/2006 21:38:29
No trabaje nunca con el datagrid (hace solo 9 meses q vengo usando visual, soy muy novato) pero conozco gente q sabe hacerlo, les preguntare a ver q me dicen.
Y lo del ado es utilizando el control (similar al data), q es una barra con los botones para moverte x el recordset, el oledb es puramente a traves de codigo, no existe ningun control predefinido para usarlo. El ole es el q va bien en el TS, al ADO el q falla siempre q quiero tocar el recordset (de mas esta decir q no puedo cargar nada en el recordset, por cierto, estoy usando el motor Microsoft Jet.OLEDB.4.0 para usar el objeto ADO).
Lamento no poder ayudarte con lo del datagrid.
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

RE:problemas VB6 en W2003TS.

Publicado por orlando (31 intervenciones) el 07/06/2006 13:37:18
Gracias, ya arregle lo del datagrid en tiempo diseño, simplemente me habia liado con algunos conceptos. Respecto al recordset, yo uso código directo mediante oledb.
Si usas el Control DATA en algunos formularios, fijate en si es el que por defecto te pone en el cuadro de herramientas del visual que es un objeto DAO, o el que tienes es ADO DATA Control, que sólo aparece en el cuadro de herramientas si tu lo activas desde la ventana de "Componentes", ->en el menú de la opción "Proyecto". En caso de usar este último fijate que en la maquina TS tengas este archivo en la carpeta windows:

..\windows\system32\adodc.ocx.

Por cierto te da algún mensaje de error ó simplemente es que no te carga el recordset?.
sldos.
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