Access - Bases de Datos

 
Vista:

Bases de Datos

Publicado por shaomi (21 intervenciones) el 27/10/2003 10:56:44
Buenas, tengo un problema con una BD. He creado un formulario, entre otras cosas tiene 5 cuadros combinados que beben los datos de una misma tabla. Por ejemplo cc1: apellidos; cc2: nombre; cc3: calle; cc4: poblacion; cc5: CP. Lo que intento es que al seleccionar los apellidos del primer cuadro combinado, en el segundo cuadro combinado me aparezcan los "NOMBRES" que tienen eses apellidos. Al seleccionar el nombre me aparezca las calles posibles, ... Así sucesivamente. Si alguien me puede ayudar!!!
GRACIAS.
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:Bases de Datos

Publicado por Alfredo (572 intervenciones) el 28/10/2003 01:50:00
Lo que debes hacer es lo siguiente:
1.- En un cuadro combinado lo vinculas con la tabla1 y llamas al campo1
2.- El 2o cuadro combinado lo vinculas con la tabla 1 y llamas al campo1 y 2 pero ocultas el campo 1. (para ocultar un campo le tienes que indicar en al ancho de columnas 0cm;2cm "el campo 1 esta oculto).

Y asi le tienes que hacer para los otros cuadros combinados.
Saludos.
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:Bases de Datos

Publicado por ega (5 intervenciones) el 29/10/2003 03:07:17
No es tan sencillo, pero te trataré de ayudar, primero para hacerlo muy bien, hazlo con código usando SQL, y si manejas bien los eventos, será un gran éxito, ejem.

en el cc1pon el evento alsalir()
y escribe algo más o menos así
' Toma en cuenta que el Campo Nombre y demás tendran que ser
Combo para poder asignar varios valores posibles

Dim BaseDatos as Database()
Dim Registro as Recordset()
Dim Con as String
Set BaseDatos = Currentdb()
Con = "SELECT Nombre From TABLADATOS WHERE APELLIDOS" & _
" = ' " & APELLIDOS.Value & " ' "
Set Registro = BaseDatos.Openrecordset(Con)
if registro.recordcount > 0 then
Nombre.rowsourcetype = "Lista de valores" ' prepara el combo
registro.movefirst
do until registro.EOF
nombre.rowSource=nombre.rowsource & _
registro!nombre & ";" ' para separar los nombres
registro.movenext
Loop
registro.close
basedatos.close

desde luego que esta forma es limitada, debido a que la propiedad rowsource solo admite 256 caracteres, para hacerlo mejor lleva los registros a una tabla "temporal", y luego asigna a rowsourcetype el valor
"Tabla/Consulta" y el rowsource = "temporal"

algo más o menos así utilizé en una DB de contabilidad que me pidieron, si deseas más informes escribeme y con gusto te mando los ejemplos que tengo
espero te sirva Bye

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:Bases de Datos

Publicado por shaomi (21 intervenciones) el 29/10/2003 14:54:18
Me podrías mandar un ejemplo?¿ Creo que estoy metiendo la pata en algun lado, y aún no me funciona. GRACIAS.
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