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

ayuda con access 2003

Estas en el tema de ayuda con access 2003 en el foro de Bases de Datos General en Foros del Web. Bueno, ante todo hola (es mi primer post ^_^). Esperemos que me podáis ayudar porque por más que busco por google no encuentro nada (quizá ...
  #1 (permalink)  
Antiguo 08/02/2008, 02:58
Avatar de Koudelka  
Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 16 años, 2 meses
Puntos: 1
ayuda con access 2003

Bueno, ante todo hola (es mi primer post ^_^).

Esperemos que me podáis ayudar porque por más que busco por google no encuentro nada (quizá no lo busco con las palabras adecuadas). El caso es que tengo varias bases de datos en acces, cada una con un miniproblema ^_^U.

Empecemos por una. Veamos... yo he creado un formulario en el que se muestran una serie de campos. El problema viene a que cuando lo abro, en las flechitas de registro (ir al primer registro, anterior, posterior o el último), resulta que el botoncito de añadir un nuevo registro no funciona... y lo que quiero es que quiero es que funcione. ¿qué puedo hacer?

En la segunda base de datos digamos que tengo unos materiales, dichos materiales pertenecen a una familia y a una subfamilia. Lo que quiero es que en un formulario, cuando quiera añadir un nuevo material, me salga una lista despegable para elegir el tipo de familia a la que pertenece, pero después de elegirla, en una segunda lista despegable me salgan las subfamilias peeeeroooo que sólo aparezcan las que pertenezcan a la familia seleccionada en la lista anterior. No se si me he explicado bien.

y creo que de momento no tengo más dudas. Espero que me podáis ayudar >.<
  #2 (permalink)  
Antiguo 11/02/2008, 08:16
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Re: ayuda con access 2003

Cita:
Iniciado por Koudelka Ver Mensaje

Empecemos por una. Veamos... yo he creado un formulario en el que se muestran una serie de campos. El problema viene a que cuando lo abro, en las flechitas de registro (ir al primer registro, anterior, posterior o el último), resulta que el botoncito de añadir un nuevo registro no funciona... y lo que quiero es que quiero es que funcione. ¿qué puedo hacer?
Mira en las propiedes del formulario, una que dice: permitir añadir. Ponla en si

Un saludo
  #3 (permalink)  
Antiguo 11/02/2008, 08:19
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Re: ayuda con access 2003

Para tu segunda cuestion, aqui tienes un ejemplo:

http://jbengoechea.com/RptCp.htm#combos

Un saludo
  #4 (permalink)  
Antiguo 11/02/2008, 08:20
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Re: ayuda con access 2003

Y una excelente explicacion de un Accesero llamado xavi:

Imaginemos que desarrollamos una aplicacion para un taller de vehiculos. Los vehiculos pertenecen a una marca, que tiene diferentes modelos que, a su vez, tienen diferentes versiones.

En nuestro formulario continuo vemos, al principio, todos los vehiculos que han pasado por el taller, y en el encabezado del formulario hemos puesto 3 combos para poder filtrar los datos. El formulario esta basado en una consulta a la tabla Vehiculos: SELECT * FROM Vehiculos ORDER BY Matricula;

El primer combo se llama Marcas y esta basado en una consulta a la tabla del mismo nombre. SELECT IdMarca, NombreMarca FROM Marcas; 2 columnas, la primera dependiente y anchos 0cm;4cm

El segundo combo (Modelos) esta basado en una consulta a la tabla Modelos (esa tabla contiene un campo IdMarca que los relaciona con la tabla Marcas). SELECT IdModelo, IdMarca, NombreModelo FROM Modelos; 3 columnas, la primera dependiente y anchos 0cm;0cm;4cm

El tercer combo (Versiones) basado en una consulta a la tabla Versiones (que contiene un campo IdModelo que lo relaciona con la tabla Modelos). SELECT IdVersion, IdModelo, NombreVersion FROM Versiones; 3 columnas, la primera dependiente y anchos 0cm;0cm;4cm

Cuando abrimos el formulario, el primer combo nos muestra todas las marcas. Al seleccionar una de ellas se produce el evento AfterUpdate. Aqui es donde decidimos que el contenido del combo Modelos debe variar para mostrar solo los de esa marca.

Me!Modelos.RowSource = "SELECT IdModelo, IdMarca, NombreModelo FROM Modelos WHERE IdMarca=" & Me!Marcas & ";"

A continuacion cambiamos el RecordSource del formulario para mostrar los vehiculos que coinciden con esa Marca:

Me.RecordSource = "SELECT * FROM Vehiculos WHERE IdMarca = " & Me!Marcas & " ORDER BY Matricula;"

Ahora el combo Modelos solo muestra los de la marca escogida en el combo Marcas.

Al seleccionar un modelo, tambien en el AfterUpdate, debemos cambiar el contenido del combo Versiones:

Me!Versiones.RowSource = "SELECT IdVersion, IdModelo, NombreVersion FROM Versiones WHERE IdModelo=" & Me!Modelos & ";"

Y actualizar el RecordSource del formulario:

Me.RecordSource = "SELECT * FROM Vehiculos WHERE IdMarca = " & Me!Marcas & " And IdModelo = " & Me!Modelos & " ORDER BY Matricula;"

Al seleccionar una version, tambien en el AfterUpdate, actualizamos el RecordSource del formulario:

Me.RecordSource = "SELECT * FROM Vehiculos WHERE IdMarca = " & Me!Marcas & " And IdModelo = " & Me!Modelos & " And IdVersion = " & Me!Versiones & " ORDER BY Matricula;"

Ahora queremos restaurar esos combos para que nos muestren todos los registros. Ponemos un boton Restaurar que nos debe devolver los RowSources originales y dejar los combos en blanco. Tambien cambiamos el RecordSource para devolverlo a su estado original.

Private Sub restaurar_Click()
Me!Marcas = Null
Me!Modelos.RowSource = "SELECT IdModelo, IdMarca, NombreModelo FROM Modelos;"
Me!Modelos = Null
Me!Versiones.RowSource = "SELECT IdVersion, IdModelo, NombreVersion FROM Versiones;"
Me!Versiones = Null
Me.RecordSource = "SELECT * FROM Vehiculos ORDER BY Matricula;"
End Sub


Espero os sirva.
  #5 (permalink)  
Antiguo 14/02/2008, 06:30
Avatar de Koudelka  
Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: ayuda con access 2003

he probado esto último y me da error en el Me, puede ser por algo en concreto?
  #6 (permalink)  
Antiguo 14/02/2008, 06:41
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Re: ayuda con access 2003

Pues depende. El me hace refrencia al objeto donde se realiza la accion, normalmente el form donde colocas el codigo.

Un saludo
  #7 (permalink)  
Antiguo 15/02/2008, 06:15
Avatar de Koudelka  
Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: ayuda con access 2003

ya he solucionado lo del me (era una tontería), pero ahora me sale otro error y creo que es porque no coloco donde debo el

Me.RecordSource = "SELECT * FROM Vehiculos WHERE IdMarca = " & Me!Marcas & " ORDER BY Matricula;"

que supuestamente se coloca en el RecordSource... cómo se llama en castellano (porque me da a mi que no lo coloco donde debo)
  #8 (permalink)  
Antiguo 15/02/2008, 07:46
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Re: ayuda con access 2003

Es el origen del registro del formulario.

Un saludo
  #9 (permalink)  
Antiguo 18/02/2008, 02:43
Avatar de Koudelka  
Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: ayuda con access 2003

pues por más que lo intento me sigue dando el siguiente error:

error de sintaxis (falta operador) en la expresión de consulta 'familia=familia1'

digamos que familia es como marca en el ejemplo que has puesto. Entonces ya no se si es que me falla en la segudna parte o al principio de todo >.<
  #10 (permalink)  
Antiguo 19/02/2008, 03:06
Avatar de Koudelka  
Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: ayuda con access 2003

bueno ya lo he arreglado y sólo me queda saber si cuando vamos a abrir el listado del segundo combo y antes de mostrarlo hace como una pregunta en el que tienes que escribir el campo seleccionado en el primer combo y después si que te muestra los campos.
  #11 (permalink)  
Antiguo 19/02/2008, 04:41
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Re: ayuda con access 2003

Puedes poner el codigo exacto que tienes para cargar ese segundo combo??

Un saludo
  #12 (permalink)  
Antiguo 19/02/2008, 05:16
Avatar de Koudelka  
Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: ayuda con access 2003

Veamos, yo uso dos combos, uno que muestra la familia y el segundo que se llama subfamilia y en el segundo no he puesto ningún código, pero te dejo el que he puesto en el primero:

Me!subfamilia.RowSource = "SELECT subfamilia, familia FROM subfamilia WHERE familia=" & Me!familia & ";"

el error me vuelve a salir (ya que he puesto los nombres buenos y he quitado los de prueba) y es debido a que el campo del primer combo es de varias palabras (por ejemplo: herramienta electrica) y creo que hay que meter algún " o ' por medio para que sepa que es más de una palabra >.<

Esta base de datos me está volviendo loca -.-
  #13 (permalink)  
Antiguo 19/02/2008, 05:47
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Re: ayuda con access 2003

El campo familia de la tabla subfamilia es de tipo numerico o de texto??

Un saludo
  #14 (permalink)  
Antiguo 19/02/2008, 06:23
Avatar de Koudelka  
Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: ayuda con access 2003

todos son texto
  #15 (permalink)  
Antiguo 19/02/2008, 09:09
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Re: ayuda con access 2003

Entonces comencemos por arreglar la sintaxis, efectivamente para campos de tipo texto hay que poner comillas simples:

Me!subfamilia.RowSource = "SELECT subfamilia, familia FROM subfamilia WHERE familia='" & Me!familia & "';"

Un saludo
  #16 (permalink)  
Antiguo 20/02/2008, 02:11
Avatar de Koudelka  
Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: ayuda con access 2003

muchas gracias Tariboo, ya me funciona a la perfección ^____^
  #17 (permalink)  
Antiguo 20/02/2008, 06:02
Avatar de Koudelka  
Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: ayuda con access 2003

bueno, aprovecho este tema para otro asunto pendiente que tengo con el access >.<

el caso es el siguiente, tengo que controlar el stock que hay en un almacen, para ello creo las tablas almacen, materiales y proveedores. Lo que quiero es que en la tabla almacén me indique cuanto stock hay en ese momento. Luego quiero que cuando queramos añadir un nuevo material (junto con los datos del proveedor que da dicho material) se sume al stock del almacen, esto es, si un proveedor me ha vendido 10 lápices, quiero que en la lista del stock del almacen me salgan esos 10 lápices más los que yo tuviese en el almacen antes. Pero no sólo eso, sino que si por ejemplo, yo saco 5 lápices, se me resten del stock

hay alguna manera de hacerlo?
  #18 (permalink)  
Antiguo 11/03/2008, 02:54
Avatar de Koudelka  
Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 16 años, 2 meses
Puntos: 1
Re: ayuda con access 2003

resurjo este tema porque quiero hacer algo parecido a lo que hice con familia y subfamilia.


EDIT: ignorar lo que había puesto que lo voy a hacer de otra manera >.<
  #19 (permalink)  
Antiguo 18/09/2009, 09:24
 
Fecha de Ingreso: septiembre-2009
Mensajes: 7
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: ayuda con access 2003

necesito saber que puede hacer cuendo en un campo me da el error Null, erro 94 en Access
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 01:07.