¿Como hacer una búsquedas en distintas tablas de sql server en un mismo procedimiento almacenado?

Bueno me gustaría que alguien me pudiera ayudar en este código.

Estoy trabajando en un sistema de ventas, yo guardo los productos en distintas tablas dependiendo de su categoría, bueno lo que quiero hacer es una búsqueda de todos los productos que están en las tablas por medio de su código, como tendría que hacer ese procedimiento almacenado en sql server y como lo tendría que programar en visual basic.

Aquí un ejemplo.

Esta consulta es para buscar en una sola tabla los productos por medio de su código.

USE [Ventas]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create procedure [dbo].[llenar_combobox_codigos_productos]
as
begin
select distinct (Codigo_Producto)
from Inventario
end

y de esta manera lo mando a cargar a  un combobox que tengo en vb.net

Sub llenar_codigos_productos()
Try
Dim cmd As New SqlCommand()
cmd.Connection = Conexion_Ferreteria.ObtenerConexion()
Dim ds As DataSet
Dim da As SqlDataAdapter
da = New SqlDataAdapter(cmd)
cmd.CommandText = "llenar_combobox_codigos_productos"
cmd.CommandType = CommandType.StoredProcedure
ds = New DataSet
da.Fill(ds)
cmb_codigo.DataSource = ds.Tables(0)
cmb_codigo.ValueMember = "Codigo_Producto"
cmb_codigo.Focus()
cmd.Connection.Close()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
End Try
End Sub

ahora como acoplo este código , para que me cargue de todas las tablas donde he guardado los productos.

1 respuesta

Respuesta
1

Tienes un problema de diseño, Ahí radica todo el problema, SQL esta pensado para trabajar con:

- TABLAS MAESTRAS: Donde debes almacenar datos básicos de de la identidad (llámese Articulo, Clientes, Vendedores, Proveedores, Categorías)

- Tablas de Relaciones: Donde especificas la relación entre una o más tablas maestras.

- Tablas de Registros (Movimientos): donde se almacenan las transacciones.

- Son vitales las definiciones de las Claves Primarias, Secundarias en las tablas, que te van a permitir realizar la relación

- Una vez Reconstruida tu aplicación con esta base, es fácil cualquier sistema que desees desarrollar, ya que puedes crear una VISTA con la union de todas la tablas que vas a inmiscuir, y crear los procedimientos almacenados.

-Te voy a dar un ejemplo: La tabla de Productos tiene un campo "Codigo" que tiene un indice Primario (PrimaryKey). Esto permite que Ningún usuario cree un Producto con el mismo código, ya que la respuesta de la BD va a ser un mensaje de error, ese mensaje de error, tu lo despliegas al usuario en forma de Messagebox (o MsgBox), Y ya no tienes que validar, a nivel de programación, que dicho código no se haya repetido en ninguna de tus "Tablitas de productos por categorías".

Yo te recomendaría que empezaras por unificar todas esas tablas de productos por categorías en una sola tabla de productos, Luego crearía una tabla "Categorias", con campo "CodCategoria, y "DesCategoria", y luego, crearas un campo "CodCategoria" en la tabla de productos de la mismas características de la tabla.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas