frajanic   07-09-2024, 21:53
#1
Tengo creados 2 DataCombos (DCombGenero y DCombMateria) y un DataComboView (DCVAutor).
No encuentro la manera de hacerlos funcionar.
Socorro.
Adjunto el proyecto.
Archivos adjuntos
.gz
LIBROS-0.0.1.tar.gz (Tamaño: 10.05 KB Descargas: 3)
Shordi   08-09-2024, 18:52
#2
Aquí lo tienes funcionando con una pequeña explicación. Te he puesto el fMenu como formulario de inicio y en él he abierto la base de datos.
Si es el primer proyecto que haces tal vez te venga bien seguir estos vídeos:

https://www.youtube.com/playlist?list=PL...1HF1-Evp2o


Saludos
Archivos adjuntos
.gz
LIBROS-0.0.2.tar.gz (Tamaño: 10.52 KB Descargas: 4)

No podemos regresar
frajanic   09-09-2024, 15:32
#3
Siento decirte que sigue ocurriendo lo mismo. 
En el DataComboView (DCVAutor) aparece la lista y cuando seleccionas un item, no lo presenta.
En los DataCombo (DCombGenero y DCombMateria) sí presenta la elección.
Cuando le das a Guardar presenta el Error Type Mistmach.
Gracias por los vídeos. Si conoces manuales o tutoriales completos, te agradecería me mansdases los enlaces.
Gracias.
Vuelvo a enviarte el proyecto.
Archivos adjuntos
.gz
LIBROS-0.0.2.tar.gz (Tamaño: 10.52 KB Descargas: 2)
Shordi   09-09-2024, 16:01
#4
Tanto no profundicé. Cuando vi que salían los datos pensé que ya funcionaba.
Te lo miro, pero en el futuro específica más los problemas y nos ahorramos todo este vaivén.

Ya te cuento

No podemos regresar
Shordi   09-09-2024, 19:35
#5
Ya veo. El problema es que intentas utilizar datos de dos tablas distintas dentro de un solo datasource.
Los controles de datos de gambas son muy simples y primitivos. Dentro de un datasource, sólo puedes enlazar data controles con esa fuente de datos.

Soluciones:

1.- Suponiendo que no sepas o no quieras codificarlo tú y dado que la tabla de autores sólo es una lista de nombres con un número que no sirve de mucho (no previene que se dupliquen nombres de autor, por ejemplo) y que no tiene establecida ninguna integridad Referencial entre ellas, elimina esa tabla y
    1.1 - En lugar del DataComboView Autor, coloca un datacombo, como haces con el género y la materia. 
    1.2 - No lo hagas ReadOnly para que se puedan añadir Autores sobre la marcha, y
    1.3 - Establece un índice único en la tabla para el campo Autor. Con eso evitas duplicados.
 
2.- Establece una integridad referencial entre las dos tablas. Olvídate de los controles enlazados y codifica tú el comportamiento del formulario con controles "normales". Si no sabes cómo, pregunta. Esto mejorará tus capacidades como programador y te ahorrará muchos dolores de cabeza en el futuro.


Saludos

No podemos regresar
frajanic   09-09-2024, 20:59
#6
Como siempre MUCHÍSIMAS GRACIAS.
Parece que no le han dedicado mucha atención a los controles Datos... una verdadera pena porque ahorran una cantidad de código importante. Que sólo con dibujar "2 cuadraditos" te presente un GridView con una tabla y que no haya que escribir una sola coma para su mantenimiento es una idea genial. Qué se le va a hacer!
Estoy viendo los vídeos y me parecen muy interesantes, aunque con algunas cosas me pierdo. Estudiaré. Por cierto, creo que son tuyos. Yo también estoy jubilado aunque mantengo alguna actividad profesional (defecto de currante).
Trataré de conjugar los controles Datos con el código que sea necesario. Me resisto a dejarlos de lado totalmente. Si no te molesta, te seguiré contando.
En el IDE de gambas, no se pueden establecer referencias entre tablas tal como explicas en el Editor. Eso lo he visto en Libre Office Base. Tampoco crear un campo (p.e. id autoincrementable. O, al menos, no soy capaz de encontrar la forma, salvo con código, igual que la Integridad Referencial. Así que ya me he instalado el BD Browser para aprender a utilizarlo, pues parece que da bastante más juego. Si terminas el Editor de BBDD será genial.
Ostras qué parrafada. Me pongo a trabajar.
Gracias.
Shordi   10-09-2024, 08:46
#7
Cita:. Si no te molesta, te seguiré contando.
Por supuesto que no me molesta. Al contrario, me hace sentir útil Blush
Cita:En el IDE de gambas, no se pueden establecer referencias entre tablas tal como explicas en el Editor. Eso lo he visto en Libre Office Base. Tampoco crear un campo (p.e. id autoincrementable. O, al menos, no soy capaz de encontrar la forma, salvo con código, igual que la Integridad Referencial.
Efectivamente no se pueden establecer las relaciones. Los campos autoincrementales sí, lo tienes que establecer como "Serial".

No podemos regresar
frajanic   10-09-2024, 12:40
#8
Otra vez GRACIAS.
  
Usuarios navegando en este tema: 5 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.