Access - Abrir form1 (Indep) con recordset basado en una lista txt de otro form2

 
Vista:
sin imagen de perfil

Abrir form1 (Indep) con recordset basado en una lista txt de otro form2

Publicado por David (4 intervenciones) el 09/09/2015 00:30:31
Buenos días,

Soy nuevo en el mundo de Access y en este foro, por fuerza mayor me toca desarrollar una aplicación para mi trabajo diario.

Estoy tratando de unir ejemplos de aplicaciones que maestros del access comparten. Simulador datos adjuntos con un buscador por tecleo de los autores (Sveinbjorn/Neckkito).

Puntualmente, tengo una TDatos (ID-autonumerable, COD, DOC, DESC)
luego un FBuscador compuesto por un txtBuscar donde ingreso valores de COD, DOC o DESC y los resultados son mostrado en una lstBusqueda asi:

Origen de fila:
SELECT [TDatos].[ID] AS Expr1, [COD] & " " & [DOC] & " " & [DESC] AS NombreCompleto FROM TDatos ORDER BY [COD] & " " & [DOC] & " " & [DESC];

Luego tengo un cmdVer que al presionar , previa selección de un valor en lstBusqueda - cierra Fbuscador y abre FDatos

FDatos esta compuesto por casillas de texto independientes, que por motivos del ejercicio de donde lo tome al cargar ejecuta este código:

Private Sub Form_Load()
Set rsDatos = CurrentDb.OpenRecordset("SELECT * FROM TDatos ORDER BY ID", dbOpenDynaset)

CargaDatos ' (carga en los casilleros los datos del recordset)

End Sub

Luego la manipulación de datos es realizada todo medio de operaciones con el recordset.

Hora mis preguntas, partiendo de que puse ingreso por contraseña con privilegios puedo tener en la base de datos simultáneamente un usuario Admin modificando u ingresando registros (mediantes el FDatos) o 2 usuarios mas con permiso de solo lectura y búsqueda de registros (mediante el FDatos Enmascarado los botones de nuevo y editar)
Mi BD estará en una red y los usuarios accederán por accesos directos.

Antes de consultar mire incontables ejemplos de búsquedas y todos utilizan un FDatos dependiente de TDatos, pero también leí que el manejo de los datos por recordset es mejor para BD donde operan varias personas.

¿debo emplear un FDatos Independiente? en el caso de que sea si la respuesta de que forma puedo pasar el registro encontrado en FBusqueda al FDatos para que al cargar lo muestre y me permita (leerlo o editarlo negus la mascara)

Espero estar pidiendo algo lógico para no malgastar su tiempo y desde ya muchas gracias al que revise mi situación y me de una ayuda, lo mio es la Electromecánica no sistemas pero gracias a la buena pre dispocicion de programadores como ustedes, sin conocimientos pude hacer funcionar algo.

Saludos David.
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
sin imagen de perfil

Abrir form1 (Indep) con recordset basado en una lista txt de otro form2

Publicado por Enrique Heliodoro (1664 intervenciones) el 09/09/2015 00:55:14
Creo que has complicado lo que en esencia es sencillo y (sinceramente) no te creas todo lo que leas (esto incluido) tómalo como un método que solo tu en tu aplicación podrás valorar como bueno regular o malo (o mas eficaz o menos eficaz), pero anteponiendo que 'algo que esta hecho para lo que esta hecho' suele ser la mejor opción para hacerlo bien y eficaz (el resto son adaptaciones a entornos concretos o problemáticos) y Access y su entorno 'esta pensado y diseñado ' para ser eficaz, sencillo y barato en recursos.

Dicho lo anterior, no veo que se pretende con el origen del cuadro de lista (supongo que eso será 'lstBusqueda') ni con 'cargar a mano' el contenido de una tabla en un formulario (que por mucho recordset que se crease no deja de ser en esencia 'la tabla').

Ese tipo de entorno tiene su aplicación si se utiliza para validar por conjuntos las modificaciones (que tropezaran de todas formas con las modificaciones de otro usuario concurrente, sea antes o después esto es: al actualizar si se actualizase y si no se actualiza... solo se perdió el tiempo).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Abrir form1 (Indep) con recordset basado en una lista txt de otro form2

Publicado por David (4 intervenciones) el 09/09/2015 01:04:16
Hola muchas gracias por tu respuesta,
Con la lista se pretende a medida que se ingresa texto ir mostrando los resultados (tengo muchos registros) y no hace falta tipear el valor exacto en la búsqueda luego se selecciona el correspondiente.

Para mi aplicación recomiendas que ¿Fdatos sea dependiente de la Tdatos? Esos consejos son los que busco ya que no tengo la practica y los conocimientos necesarios.
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
sin imagen de perfil

Abrir form1 (Indep) con recordset basado en una lista txt de otro form2

Publicado por Enrique Heliodoro (1664 intervenciones) el 09/09/2015 09:20:26
No se si 'hablamos un mismo idioma' (a lo que a términos y objetos de Access se refiere) porque no se ajusta la funcionalidad de lo que indicas a los objetos a quien se lo aplicas.

En Access existen dos objetos que básicamente se les trata (internamente) del mismo modo pero 'funcionan' de forma diferente, uno son los 'Cuadros de Lista' y el otro los 'Cuadros Combinados' (popularmente conocidos como 'Combos').

Uno (los C. de Lista) presentan siempre un subconjunto de su contenido tanto en filas como columnas (a gusto del diseñador) y el otro en estado inactivo solo el cruce de una línea con una columna, al volverse activo 'se expande' y muestra mas contenido.

Es a este al único que le funciona un simil de búsqueda (me refiero al COMBO) esto es que al ir 'tecleando' se efectúe una selección por aproximación, pero .... no veo que se utilice el resultado de lo en el seleccionado para nada (o al menos no en el origen de datos de 'FDatos' ) lo que me hace pensar que la información aportada es incorrecta, esta sesgada o la aplicación a este respecto es 'un desatino' que no se resuelve con buena voluntad, sino con un poco mas de teoría (que correctamente aplicada se convierte en eficiencia).

A este nivel mi consejo es dejarse de buscar 'una quinta esencia' que solo funcionara como funciono la flauta en la conocida fabula y utilizar los recursos naturales de Access o (con gran dolor de corazón/bolsillo) acudir a una academia o contratar a un experto si la urgencia es grande.

No te lo tomes a mal, pero es como si alguien te pregunta en tu trabajo si para pulir un engranaje utiliza un chorro de arena (porque lo vio en YouTube y o quiere emular con el bombín de la bicicleta y arena de la playa) o utiliza el método clásico de la lija, ya que esta creando un motor a reacción (del cual solo tiene unas ligeras ideas).
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
sin imagen de perfil

Abrir form1 (Indep) con recordset basado en una lista txt de otro form2

Publicado por David (4 intervenciones) el 09/09/2015 12:55:49
Bueno muchas gracias por tu consejo,

En el ejemplo mencionado como mencionas falta información , emplea un cuadro combinado y en el botón para abrir el FDatos aplica un filtro para la selección que permite abrir el FDatos filtrado.

Pero bueno no profundizare mas sobre la consulta ya que no voy a recibir la ayuda que pretendía.

Sobre el tema profesional entiendo muy bien a donde apuntas, te aclaro que no soy dueño, soy empleado y ya presente presupuestos de programadores por un trabajo bien realizado como corresponde a lo que mi empresa negó ese recurso por eso como dije forzudamente me puso a ver si podía conseguir un pequeño ejemplo o BD que me ayude a administrar un control de piezas de un producto. Luego yo al ver los ejemplos de generador de códigos, acceso con permisos, etc. se los fui agregando y aprendiendo algo al hacerlo por eso estoy muy agradecido de personas que brindan esa información, no estoy haciendo nada con beneficio de lucro sino tratando de simplificarme el trabajo diario ya que tengo una gran cantidad de piezas y suelo utilizar excel a diario y se me hacia engorroso.

Nuevamente gracias por tomarte el tiempo y dar tu opinión veré de que forma resuelvo mi problema.

Saludos, David.
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
sin imagen de perfil

Abrir form1 (Indep) con recordset basado en una lista txt de otro form2

Publicado por Enrique Heliodoro (1664 intervenciones) el 09/09/2015 15:48:58
Access provee de facilidades para ello, esta la de crear un formulario (basado en esa tabla) y añadir un CUADRO COMBINADO (combo), el asistente que Access incorpora permite entre otras opciones el 'sincronizar' el formulario con el registro seleccionado en el combo (en la practica y dejándose guiar: poco mas de dos simples click).

Para la opción de 'cargar datos en un formulario independiente', aparte de la 'problemática' de llenar los controles de ese formulario con los valores, estaría la problemática de guardar las modificaciones efectuadas en el origen de datos (los problemas de la independencia) a los que se sumarian como propina el tratamiento de esos datos (en principio 'todos simple texto' aun dándoles formato), porque los controles independientes (esto es sin un origen de datos conocido que pueda utilizar como guía para tratarlos) serán un simil a teclear esos valores en un TXT.

Generalmente cuando se necesita manipular subconjuntos de datos y desear que estos no afecten a sus orígenes mientras no se les de el pláceme correspondiente, suele aplicarse el método de copiar a una tabla temporal (o varias si fuera el caso) ese subconjunto, manipularlo y tras recibir el adecuado OK. actualizar (añadiendo/modificando) los orígenes en base a los datos temporales (método muy utilizado en aplicaciones de contabilidad para evitar 'desaguisados').

En fin, reitero mi consejo (aplicarse con la teoría que es la base del éxito) y espero que ese empresario (aparte de aumentarte la jornada y bajarte el sueldo porque el quiere ganar mas) no te exija que te accidentes para que cobres tu sueldo del seguro y trabajes bajo mano (lo que se dice en negro) que algunos empresarios si no se van de vacaciones con la querida a Acapulco (pobrecitos ellos), no son felices.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Abrir form1 (Indep) con recordset basado en una lista txt de otro form2

Publicado por David (4 intervenciones) el 09/09/2015 16:24:37
Ahora como lo explicas entiendo la diferencia entre ambos, no me asusto la manipulación de datos de rs= debido a que lo entendí bien del formulario que baje (dicho formulario al cargar usa una consulta y carga el ultimo valor d ela tabla) y de me muevo por lo registros y edito o cargo uno nuevo. mi consulta puntual es como puedo abrir ese formulario en el registro preciso que selecciono desde otro formulario.

Adjunto los 2 formularios ya que por mi falta de conocimientos no se explicarme.

En cuanto a los empresarios son iguales en todas partes del mundo, lamentablemente es así por eso no busco ni su reconocimiento ni un fin de lucro solo simplificar mi trabajo diario para que sea mas ameno, intente oponerme a realizarlo hasta que me proveean un software y quede mal visto, si te preocupas por lo que haces sos uno mas si no te preocupas sos el peor :(

También te describo mi tarea a lo mejor recuerdas un ejemplo en la web que pueda tomar y adaptar, tengo un listado de piezas de gabinetes, cada una con su plano, (no uso mas excel y opte por access) ya que uso autocad electrical y me toco aprender a cargar la base de datos de dicho software y pensé que podía hacer algo como esa BD , me base en esto porque mismas piezas las utilizare en diferentes gabinetes (ensambles) y quería aparte de llevar un registro de ensambles que se actualice solo al modificar piezas poder acceder con un buscador y tener a mano los planos.

Bueno si chequeas el ejemplo entenderás mejor que mis palabras
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