Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Como Hacer Una Consulta Y Filtrar Los Resultados Si La Tabla Tiene Un Campo...
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Como Hacer Una Consulta Y Filtrar Los Resultados Si La Tabla Tiene Un Campo Foráneo Que No Muestra Texto 
 
Buenos días

Mi consulta es la siguiente tengo un formulario para consultar los insumos de una base de datos,
aparte en la consulta puedo filtrar para hacer unas búsquedas por id, por código,
por su descripción,
y por su categoría, pero por categoría al ser categoría un campo foráneo en la tabla a consultar no me muestra
el nombre de la categoría en la consulta sino un número entero que corresponde a cada categoría,
intenté con varias sentencias sql pero a la hora de llenar el gridview con los resultados con un ciclo For me dice
que no concuerdan los campos, por ejemplo aquí:



If RadioButton_categoria.Value = True Then
    
        If Len(Trim(TextBox_busqueda.Text)) > 0 Then
      
                temp_registro = hconn.Exec("SELECT id_insumo, codigo_insumo, descripcion, insumo.categoria_id_categoria, categoria
FROM insumo RIGHT OUTER JOIN categoria ON insumo.categoria_id_categoria = categoria.id_categoria
WHERE (InStr(categoria, '"
& TextBox_busqueda.Text & "')) ")
    
    
        Else
      
                temp_registro = hconn.Exec("SELECT id_insumo, codigo_insumo, descripcion, insumo.categoria_id_categoria, categoria
FROM insumo RIGHT OUTER JOIN categoria ON insumo.categoria_id_categoria = categoria.id_categoria ORDER BY categoria"
)

    
    Endif
  
   Endif



En ésta parte probé en la sentencia sql con LEFT OUTER JOIN, con JOIN y con INNER JOIN, em mysql si funcionan,
intenté eliminar donde dice insumo.categoria_id_categoria para que me muestre categoría de la otra tabla y al
buscar por categoria me muestra un error que dice  
unknown field categoria_id_categoria in Form_consulta_insumo

si lo dejo como está me hace la consulta me muestra los números de las categorías pero en la caja de búsqueda
si escribo un número no me muestra nada y si escribo los nombres de las categorías
(medicamento, limpieza, oficina médico-quirúrgico(ésta última hay que escribirla con su acento para que me
muestre el numero 2 que le corresponde)),me los va filtrando y me muestra el número correspondiente a esa
categoría


por otra parte logré rellenar un tableview y ahí si me muestra los nombres de la categoría pero no tengo idea de
como hacer una consulta ahí, en la consulta en la tabla existencia tengo el mismo problema no logro que me
muestre los nombres de los insumos es un poco como dicen ahí que estoy poniendo código y probandolo de otros
 programas pero a veces no entiendo que significa ése trozo de código agradecería cualquier ayuda gracias
 

Adjunto un extacto de programa y dentro la base de datos



Uso Ubuntu 14.04, gambas 3.8.4, Mysql con phpmyadmin



Gracias

Willian Suárez Venezuela

sistcontpro.tar.gz
Descripción: Este es el extracto del programa 
Descargar
Nombre del archivo: sistcontpro.tar.gz
Tamaño: 14.57 KB
Descargado: 57 veces
sistcontpro.tar.gz
Descripción: Este es el extracto del programa 
Descargar
Nombre del archivo: sistcontpro.tar.gz
Tamaño: 14.57 KB
Descargado: 57 veces
sistcontpro.tar.gz
Descripción: Este es el extracto del programa 
Descargar
Nombre del archivo: sistcontpro.tar.gz
Tamaño: 14.57 KB
Descargado: 57 veces

 



 
willyanjose - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Hacer Una Consulta Y Filtrar Los Resultados Si La Tabla Tiene Un Campo Foráneo Que No Muestra Texto 
 
Buenas willianjose,

Antes que nada, me gustaría recomendarte que descargues este libro(si es que no lo tienes) y que lo leas un poco para que tengas nociones de gambas, y entiendas mas el lenguaje, así te evitas problemas de copiar y pegar código que no entiendes.

Respecto a tu problema, según entiendo quieres buscar datos en una tabla por nombre, aunque la tabla solo contiene el id.
Mirando un poco en wikipediasobre la sentencia Join  encontré esta instrucción especialNatural (Natural join) se ajusta al problema que planteas(según mi entender), solo debes adaptarlo a tus necesidades.

If RadioButton_categoria.Value = True Then

If Len(Trim(TextBox_busqueda.Text)) > 0 Then
'' linea de codigo con sentencia sql modificado
temp_registro = hconn.Exec("SELECT id_insumo, codigo_insumo, descripcion,categoria_id_categoria FROM insumo NATURAL JOIN categoria WHERE categoria =&1", TextBox_busqueda.Text)


Else

temp_registro = hconn.Exec("SELECT id_insumo, codigo_insumo, descripcion FROM insumo RIGHT OUTER JOIN categoria ON insumo.categoria_id_categoria = categoria.id_categoria ORDER BY categoria")


Endif

Endif
 


Prueba la sentencia antes en phpmyadmin filtrando los datos (revisa si estan bien escritos los nombres de las tablas y los campos), por ejemplo:SELECT id_insumo, codigo_insumo, descripcion,categoria_id_categoria FROM insumo NATURAL JOIN categoria WHERE categoria ="limpieza"
 



 
vr_rv - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Hacer Una Consulta Y Filtrar Los Resultados Si La Tabla Tiene Un Campo Foráneo Que No Muestra Texto 
 
Buen día hermano saludos.

Entiendo lo que me dices tengo unas nociones básicas de gambas ya descargué el libro voy a estudiarlo a fondo
lo de mysql probé con todo tipo de sentencias incluso con las que me sugeriste pero nada igual en gambas no me muestra el nombre que hay en el campo foráneo sino su número, entero en mysql si me muestra lo que quiero debo estar declarando algo mal en gambas porque con el tableview si logré que me mostrara de dos tablas relacionadas voy a ver  que más puedo investigar si alguien sabe algo agradecería la ayuda, muchas gracias por contestar hermano saludos

Willian Suárez Venezuela
 



 
willyanjose - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Ayuda, Siempre Me Muestra El Mismo Campo, ... JosueCR Bases de Datos 6 Martes, 17 Agosto 2010, 14:43 Ver último mensaje
JosueCR
No hay nuevos mensajes Duda De Como Hacer Una Consulta netking86 Bases de Datos 4 Sabado, 03 Septiembre 2011, 20:11 Ver último mensaje
netking86
No hay nuevos mensajes Consulta Mysql Donde Una Tabla Tiene Vario... aratar79 Bases de Datos 21 Domingo, 30 Septiembre 2012, 21:33 Ver último mensaje
aratar79
No hay nuevos mensajes Filtrar Tablas Si En El Campo X Hay X Valor v3ctor Bases de Datos 0 Domingo, 17 May 2015, 15:10 Ver último mensaje
v3ctor
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron