PREGUNTAS CONTESTADAS - Access

 Hay un total de 676 Preguntas.<<  >> 

    Pregunta:  54407 - SE PUEDE ROMPER UNA BASE EN ACCESS POR MAL FUNCIONAM. DE HUB
Autor:  alicia strevensky
Tengo una base de Access en un Servidor al que acceden 50 maquinas, hace 2 dias se rompió tirando como error al querer abrirla "No reconoce el formato", no pude reparla desde el Access tube que usar otro reparador, al día siguiente se me vuelve a romper. Estoy tratando de encontrar la causa pensando que alguna máquina tiene problemas con la placa de red y trasmite mal los datos. Encontré que un Hub que usan 5 máquinas está fallando, puede ser ese el motivo del error.
  Respuesta:  Enrique Miranda
Puede ser probable que eso suceda, una base de datos que se daña entre varios motivos, es que al accesarla varia gente una de ellas este metiendo datos y de repente se valla la luz, (que es la simulacion si se te va la señal de un hub), o tambien deberias de probar si no estan accesando directamente a las tablas mientras otros usuarios estan modificando el mismo registro, o tambien que la estrura mdb ya este dañada.. trata de exportar todas tus tablas a una base completamente nueva.. espero te sirva

    Pregunta:  54435 - BLOQUEAR TECLADO
Autor:  oscar busint
tengo una aplicacion que ejecuta macros que realizan consultas y graban el resultado en una tabla, NECESITO BLOQUEAR EL TECLADO MIENTRAS SE EJECUTA UNA MACRO, PARA QUE EL USUARIO NO PRECIONE LA TECLA ESC O ALT+F4 O CUALQUIERA QUE INTERRUMPA LA ACCION DE LA MACRO, POR FAVOR ES MUY IMPORTANTE, GRACIAS
  Respuesta:  uribanabreak break
mira esta api te bloque teclado y mouse

'BLOQUEA TECLADO Y MOUSE
Public Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long

la puedes declarar en un modulo de access y para imbocarla solo debes pasarle true o false

ojo esto bloquea absolutamente todos los perifericos asi que debes proigramar el tiempo para el reorno no hay manera de desbloquearlos a no ser reiniciando

    Pregunta:  54487 - ORDENAR POR LOS ULTIMOS 4 DIGITOS
Autor:  Alfonso Reyes
Que tal amigos.
Tengo en una base datos access una tabla de Productos
Necesito ordenar por codigo del producto que es de tipo caracter. de (9)
pero necesito que se ordene solo por los ultimos 4 caracteres.
Eje.
Select * from Productos Order By Productos.Codigo

Me han dicho que usando SUBSTRING(5,4)
o sea
Select * from Productos Order By SUBSTRING(Productos.Codigo, 5,4)

Pero no me funciona asi.
Les agradezco mucho si me pueden ayudar con este detalle.
Gracias y que Dios los Bendiga.
  Respuesta:  Nicolás Pailhé
Hola Alfonso.. una solución a lo que necesitas es la siguiente:

SELECT numeros.numeros, Right(LTrim([numeros]),4) AS [orden nro]
FROM numeros
ORDER BY Right(LTrim([numeros]),4);

'en mi ejemplo tengo una tabla que se llama numeros y un sólo campo que también se llama numeros.
creo una consulta (en access) en donde pido que me muestre el campo numeros y en la consulta creo el campo "orden nro" en donde le pido que sólo me muestre los ultimos 4 dígitos del campo numeros, entonces le pido que me ordene los registros por el campo "orden nro" en consecuencia los registros del campo numeros también estarán ordenados en forma ascendente.. espero que te sirva, saludos.. Nicolás

    Pregunta:  54723 - LIMITAR APERTURA DEMO
Autor:  pedro soria
por favor, recién comienzo el trabajo en Access, necesito conocoer como se limita el número de veces que se abre un DEMO de una tabla hecha en Access97.- Gracias
  Respuesta:  Nicolás Pailhé
Una opción es creando una tabla con un sólo campo, dos consultas y un formulario, por ejemplo:

Nombre de la Tabla: "DEMO"
Nombre de la Consulta: "Cantidad de aperturas"
Nombre de la Consulta: "Actualizar cantidad de aperturas"
Nombre del Formulario: "Bienvenidos"

--------------------------------------------------------

Nombre de la Tabla: "DEMO"
Nombre del Campo: "Cantidad" (Numérico) (valor por defecto 0)

1º Crear la Tabla.
2º Crear una consulta que te devuelva como resultado el dato del campo "Cantidad" de la tabla "DEMO".
3º Crear una consulta que actualice el campo "Cantidad" de la tabla "DEMO".
4º Debes ejecutar un código en el formulario de Inicio para que verifique la cantidad de veces que se ha abierto la base.

Ahora vamos al ejemplo:
Suponiendo que sólo queremos limitar la apertura de la base a sólo 3 veces.
Al abrir la base se ejecutará el formulario de Inicio ("Bienvenidos") y debes poner el código "al abrir el formulario" que sería así:

If dlookup("Cantidad","Cantidad de Aperturas") > 3 then
msgbox "El período de prueba ha finalizado"
cancel=true
docmd.quit
else
docmd.setwarnings false
docmd.openrquery "Actualizar cantidad de aperturas"
docmd.setwarnings true
End If

En caso de que esta condición no se cumpla debes ejecutar la consulta de actualización ("Actualizar cantidad de aperturas") en donde debes sumarle 1 al dato ya existente en el campo "Cantidad" de la tabla "DEMO"

Con esto tendrás solucionado el problema, aunque claro está faltaría que todos estos métodos sean seguros para que no se puedan modificar por un usuario.
Para que todo esto se ejecute en forma normal tendrías que tener en cuenta:

- Inhabilitar la tecla Shift, para que no entren en modo de diseño
- Debes bloquear el proyecto para que no puedan ver ni modificar el código del formulario de Inicio. Para hacer esto debes estar en la pantalla de visualización del código (Visual Basic) y al Menú y Seleccionar Herramientas --> Propiedades de [nombre de tu base], luego a la solapa "Protección" tildas el bloqueo y le pones una contraseña.
- Y por último crear el archivo MDE (Menú -> Herramientas -> Utilidades de la Base de Datos -> Crear Archivo MDE (que entre otras cosas no le permitirá eliminar nada de la base)

Creo que por lo menos en Access es todo lo que puedes hacer para asegurar que todo el proceso se ejecute y que el usuario no lo pueda modificar, en otros casos también se podría encriptar las tablas mediante un módulo.

Espero que te sirva de ayuda, cualquier cosa puedes consultarme o te puedo enviar un ejemplo por mail, cabe aclarar que esto yo lo he utilizado con Access 2000 en adelante no lo he probado en '97.

Saludos.. Nicolás

    Pregunta:  54772 - EXPORTAR TABLA ACCESS XP A XML - FORMATO DE FECHA INCORRECTO
Autor:  Pedro Garre Vazquez
Hola amigos:

Mi duda es la siguiente: Quiero exportar una tabla de MS ACCESS XP a XML, dentro de la tabla origen hay varios datos, pero concretamente uno que es fecha de nacimiento (TIPO FECHA). Pues bien, al exportar dicha tabla, el dato tipo fecha lo exporta con el formato AAAA/MM/DDTHH:MM:SS y no se por que coge ese formato cuando en la tabla esta con tipo fecha corta y se visualiza como tal.

Gracias por vuestras respuestas y un saludo para todos.
  Respuesta:  Nivk
Utiliza una consulta y en esa consulta crea un campo de texto en el que concatenes los elementos de la fecha
Algo asi Dia & "/" & Mes & "/" & Año

Con eso lo solucionas

Saludos!

    Pregunta:  54880 - DATOS DE COLOR EN CONSULTA
Autor:  Jpcmra Jpcmra
Hola a todos. necesito hacer una consulta de datos de manera que los que superen un valor en dicha consulta salgan de otro color. Por ejemplo, hago una consulta de todos los números del 1 al 100 pero le digo que aquellos que pasen de 50 salgan de color rojo. ¿Se puede conseguir?.
Saludos
  Respuesta:  Nicolás Pailhé
La única forma que conozco es que te muestre los resultados de la consulta en un formulario (puede ser contínuo o en vista de tabla)
En el diseño del formulario te sitúas en el campo "número" y en la barra de herramientas (Archivo-Edición-Ver.. etc) vas a Formato --> Formato condicional

La condición sería que si el valor del campo número es mayor a 49 el color de la letra sea blanco y el fondo rojo (por dar un ejemplo)

También puedes agregarle más de una condición

Espero que te sirva de ayuda.. saludos.. Nicolás

    Pregunta:  54931 - COMO RESTAR 12 MESES A LA FECHA ACTUAL
Autor:  Humberto
Tengo tres tipos de seleccion 12 - 6 - 3 meses
como puedo restar a la fecha de hoy estas 3 opciones.

ejemplo = sep-2007 - 12 meses = sep-2008
y a sí para las tres otras opciones.Fvr su ayuda.
  Respuesta:  Eladio Azúa
estimado...
tengo la respuesta a tu consulta
la funcion que debes utilizar es dateadd("m",-12,fecha)
donde
m: es que la resta se hará a los "meses" de la fecha
-4: es la cantidad de meses que debes restar
fecha: es la fecha a la que deseas restarle los meses

cualquier duda me avisas...
bye

    Pregunta:  55018 - ACCESS SE PONE LENTO AL GUARDAR MODIFICACIONES EN EL CÓDIGO
Autor:  Alejandro Vidal
Buen día amigos. Tengo un problema bastante molesto. Tengo por un lado una aplicación MDB bastante grande (uno 50 MB sólo de código y formularios, sin tablas) y por otro lado un base de datos MDB con las tablas (de unos 40MB). El problema que se me presenta es que cuando hago una modificación (aunque sea muy pequeña) en algún formulario o informe, el Access tarda muchísimo en guardar los cambios (me refiero a varios minutos). He probado en máquinas muy modernas y pasa lo mismo. Tengo una PC con un Celeron de 3.6 GHz, 512 de RAM, Windows XP y MS Access 2000. ¿Alguien me puede ayudar?
  Respuesta:  Angel
Tienes un problema bastante fastidioso, si ya compactaste la base de datos (menu herramientas, opcion utilidades de la base de datos, compactar base de datos).
Podrias añadir mas memoria a tu maquina, aun asi en lo personal te recomendaria considerar seriamente el migrar la base de datos a una plataforma con mayor capacidad y mejor rendimiento (mysql, oracle, SQL server.... etc) se que no es la respuesta que querias pero tambien por muchas otras razones es lo mejor q puedes hacer.
saludos.

    Pregunta:  55112 - ABRIR REGISTRADORA DESDE ACCESS
Autor:  alexis ocampo
hola. tengo una aplicacion en microsoft access para un almacen y necesito saber que comando puedo utilizar para abrir un cajon mondero conectado al puerto serial desde access. agradezco su respuestas lo mas claro posible.
  Respuesta:  eider mauricio aristizabal erazo
Debes identificar el puerto al que esta conectada la máquina con tu computador y luego buscarte un componente que desde visual basic permita mandar señales a la máquina de tal manera que la abra, esto lo haces con la escritura de código en visual basic,
http://todopic.mforos.com/64652/172512-comunicacion-rs232-en-visual-basic/

Salu2

    Pregunta:  55163 - NUMERACIÓN CONTINUA EN TABLA INICIALIZADA
Autor:  Caro
En mi BD, implementé la opción "Compactar al cerrar", desde Herramientas -> Opciones -> General, pero sucede que me inicializa la cuenta autonumérica de una tabla cada vez que abro la BD, esto es porque se queda sin registros cada vez. Existe algún código que pueda NO inicializar la cuenta autonumérica de la tabla??.
  Respuesta:  Nicolás Pailhé
No tengo idea si existe la posibilidad de inhabilitar esa opción, pero puedes solucionarlo de una manera "casera".

La idea consiste en crear una tabla con un único campo, esta tabla sólo tendrá el último número registrado, también crear tres consultas para actualizar el dato de la tabla.. por ejemplo:

Nombre de la Tabla: "ULTIMO NUMERO"
Nombre del campo: "Numero máximo"

Nombre de la Consulta: "AGREGAR EL ULTIMO NUMERO"
Nombre de la Consulta: "ELIMINAR EL PRIMER REGISTRO"
Nombre de la Consulta: "ACTUALIZAR EL ULTIMO NUMERO"

Todo esto suponiendo que la tabla que utilizas se "llena" mediante una consulta.

Entonces la idea sería que antes de que tu tabla se llene con los datos se ejecute una consulta (AGREGAR EL ULTIMO NUMERO) para que agregue el dato que esta en la tabla "ULTIMO NUMERO", hasta aquí tu tabla sólo tendría un registro.
Luego ejecutarías tu consulta normalmente y tu tabla tendría todos los registros que necesitas arrancando el autonumérico desde tu último número.
El paso siguiente sería ejecutar la consulta (ELIMINAR EL PRIMER REGISTRO)para eliminar el registro (el que agregaste de la tabla "ultimo número") para que no salga en el informe (por ejemplo)
Finalmente tendrías que ejecutar la consulta (ACTUALIZAR EL ULTIMO NUMERO) para que tome el último registro de tu tabla y la agregue o actualice en la tabla "ULTIMO NUMERO", esta consulta se tiene que ejecutar en algún evento antes de cerrar la base.
Espero que te sirva de ayuda.. saludos.. Nicolás

PD: si te sirve la idea pero no me he explicado con claridad, sólo avísame

|<  <<  46 47 48 49 50 51 52 53 54 55 56  >>  >|