Foros del Web » Soporte técnico » Ofimática »

Autocompletar

Estas en el tema de Autocompletar en el foro de Ofimática en Foros del Web. Hola a todos, tengo un problema que espero con la ayuda de ustedes resolverlo. Tengo una base de datos con los DNI, Nombre, Apellidos, Dirección, ...
  #1 (permalink)  
Antiguo 27/12/2008, 10:03
 
Fecha de Ingreso: diciembre-2008
Mensajes: 3
Antigüedad: 15 años, 3 meses
Puntos: 0
Autocompletar

Hola a todos, tengo un problema que espero con la ayuda de ustedes resolverlo.
Tengo una base de datos con los DNI, Nombre, Apellidos, Dirección, CP, Etc. Etc.
Por otra parte tengo una base de datos con cursos Núm de curso, Titulo curso, etc.. estan relacionadas por el campo DNI uno a varios con Núm. de curso. Yo que pretendo es lo siguiente: Cuando relleno un formulario al poner el D.N.I me gustaría que se autocompletara los demas datos del Alumno. ¿Es posible?.
Gracias anticipadas y que paseis todos una Feliz Noche Vieja.
  #2 (permalink)  
Antiguo 27/12/2008, 10:29
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Autocompletar

edito el post:

Quizás no entendí bien. Si tienes relacionadas las tablas con el DNI, no sé para qué quieres autocompletar, pues con el DNI que tendrás como FK en la tabla de cursos podrás mostrar todos los datos de la otra tabla, como y cuando quieras, pero no antes de guardar ese DNI o seleccionarlo, claro está.
Hay varias formas, pero, en mi opinión, ninguna de ellas tiene mucho que ver con bases de datos.
Todo esto tendrá que ver con el modo en que estés haciendo el formulario, por ej. para añadir curso, pero piensa que el nuevo alumno puede estar o no estar en la base. Creo que deberás pedir ayuda a la gente del foro de tu programa de programación y del foro (X)HTML y HTML.

Lo que viene ahora es para darte una idea lo que se trata.

En la base de datos, lo único que harás serán cosas como estas:
1) crear una lista de DNI para un selector (en caso de hacerlo con selector).
2) buscar el DNI seleccionado o escrito, y traerte todos los datos del registro de ese DNI para mostrarlos.
3) añadir un nuevo DNI con los datos en la tabla de datos, en caso de tratarse de un alumno nuevo.

No nos has dicho qué base de datos usas, ni qué programa y si quieres que eso ocurra con refresco de página o no. Dependiendo de lo que quieras usarás un selector con el evento onchange mediante programación con, por ej. PHP, y además, si quieres que sea sin refresco de página, con AJAX.

El término autocompletado lo entiendo yo de otra manera, sería algo así como que al ir escribiendo los caracteres del DNI, fuera rellenando el resto de los caracteres del DNI. También esto suele hacerse con javascript y AJAX. Existen scripts preparados, pero, la verdad, no sé cuál será su rendimiento con los datos de varios campos, sobre todo en una base con muchos registros. Y también en ese caso el uso de la base de datos se limitará a una consulta sobre el campo, y conforme va encontrando el dato, otra consulta, algo más compleja pues sólo podría mostrar uno de los varios registros que tuvieran una coincidencia. Me explicaré: si empiezas a escribir los caracteres de un DNI, por ej. los 5 primeros y hay varios DNI que empiezan por esa misma cadena de texto, no podrás mostrar más que uno ( y mostrarás el primero). En el caso de hacerlo con un selector, ocurrirá lo mismo, pero se te desplegarán todos.

Pide ayuda en los foros de programación de tu programa, porque allí seguro que te lo resuelven pronto.

Última edición por jurena; 27/12/2008 a las 10:51
  #3 (permalink)  
Antiguo 28/12/2008, 13:12
 
Fecha de Ingreso: diciembre-2008
Mensajes: 3
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Autocompletar

Hola, gracias por responder tan rápido. Creo que he expresado mal la consulta vuelvo a empezar.
La Base de Datos es Access. Consta de momento de dos Bases, una Alumnos y la otra cursos. Lo que yo quiero es, en el formulario para apuntar los alumnos a los cursos, el Campo DNI tiene que ser un campo de búsqueda o lista desplegable, al encontrar el DNI de este alumno, poder seleccionarlo y automaticamente se terminen de rellenar los datos de este alumno. No sé si me explico bien, pero creo que has dado en el clavo en el punto 2) buscar el DNI seleccionado o escrito, y traerte todos los datos del registro de ese DNI para mostrarlos.
Lo que no tengo ni zorra idea de como hacerlo, lo he intentado muchas veces pero no me sale. Mi nivel es de usuario alto, pero nada de códigos de programación.
Espero me puedas ayudar.
Un saludo y Feliz Año Nuevo.
Toni
  #4 (permalink)  
Antiguo 29/12/2008, 02:28
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Autocompletar

Crea una tabla de cursos, una tabla de alumnos, y otra de alumnosencursos. En la tabla de cursos tendrás un autonumérico, en la tabla de alumnos podrás poner otro autonumérico, y en la tabla de alumnosencursos usarás dos campos numéricos, uno relacionado con el autonumérico de cursos y otro relacionado con el autonumérico de alumnos, además de su propio autonumérico. Una vez bien relacionadas las tablas de esta manera, varios a varios, puedes crear un formulario de cursos y dentro de él introduces un subformulario de alumnosencursos relacionados por ese campo autonumérico; también puedes hacer otro formulario, pero aparte de alumnos y dentro de él un subformulario de alumnosencursos. En el caso primero, tendrás que crear un campo independiente, un cuadro combinado, que tomará los datos de una consulta creada previamente con los nombres de los alumnos ordenados alfabéticamente y el autonumérico de esa tabla, y guardando en el campo de alumnosencursos el campo numérico de referencia el número del alumno seleccionado; en el caso segundo, en el de los alumnos, podrías hacer lo mismo, pero guardando el del curso seleccionado de una lista de cursos, pero guardando en el campo numérico la selección del campo independiente que tira de una consulta, la de cursos.
Esta sería la idea. Pues luego tendrías que ver si en esa tabla alumnosencursos pondrías el año del curso, etc. etc.
Naturalmente puedes mostrar tanto en los formularios como en los subformularios los datos que quieras, y al hacer la selección te mostrará si quieres todos los datos del alumno.
Esto, como ves, apenas requiere de programación, pues el programa de Access hace eso por ti.

Última edición por jurena; 29/12/2008 a las 03:57
  #5 (permalink)  
Antiguo 29/12/2008, 09:20
 
Fecha de Ingreso: diciembre-2008
Mensajes: 3
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Autocompletar

Muchas gracias jurena, ahora lo voy a poner en práctica a ver si me funciona. Tardaré unos días pero te diré si me ha funcionado así.
Gracias por tu ayuda.
Que tengas una feliz entrada de año nuevo.
Toni
  #6 (permalink)  
Antiguo 29/12/2008, 10:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Autocompletar

Tema trasladado a Ofimatica.
  #7 (permalink)  
Antiguo 04/01/2009, 14:26
Avatar de 2nty8  
Fecha de Ingreso: enero-2009
Mensajes: 2
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Autocompletar

Buenas,

Tengo la misma duda, pero en mi caso es de Clientes / Materiales / Factura.
La idea es crear una Tabla para clientes, donde se introducen todos los datos a través de un Formulario, después, una trabla para Materiales, donde a través de un Formulario, se introducen los materiales (Descipción, referencia y precio) y finalmente la factura, donde la idea es seleccionar un Cliente, se auto-completen los datos de Nombre, Dirección, CP... añadirle los materiales suministrados... y walá! Un factura, la cual después de generar un informe me imprima todo, desglosando el IVA... (Ese es mi sueño)

Pero... la realidad es que no consigo autocompletar el formulario de la Factura... voy a intentar lo que comentais sobre los alumnos y cursos... a ver si me funciona... si no... tengo que abrir otro tema? o seguimos en línea sobre este?

Un Saludo y feliz año entrado!

Última edición por 2nty8; 04/01/2009 a las 14:37
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 16:34.