Movimientos sql server

Estoy desarrollando un aplicación y necesito guardar todos los movimientos en una tabla, cosa que cunado consulte digamos un numero de guía me diga que mensajero la llevaba y aque añmacen, ¿a qué hora?
Es muy complicado,¿? La verdad me urge.
La BD es SQL 2005 con VB 2008.
Respuesta
1
¿Pero exactamente cual es tu duda con la base de datos?
Hola
Tengo una tabla llamada guía donde hago todo el insert desde un archivo en excel por medio de código VB, ahí reposa toda la información de lo que voy a distribuir, esta tabla contiene NumeroGuia, CodigoDestinatario, CodigoProducto, Cantidad y le he agregado el campo codigoMensajero (inicializado en cero)para efectos de la asignacion; He creado una tabla llamada movimientos con los campos codigoMensajero, NumeroGuia y fecha. Es en esta ultima tabla donde quiero que se registren todos los movimientos que haga con las guías y que cuando la consulte me arroje un histórico, bien sea de las entregas en los almacenes o las entregas que halla realizado el mensajero, entre otras. ¿Cómo hago para realizar la asignacio de guías a mensajeros con esta tabla? ¿Debo llenarla primero de la información que tiene la tabla guía o algo así?... Como veras estoy un poco confundido.
Mil gracias.
Yo te recomiendo esto:
Una tabla para números de guía:
NumeroGuia, CodigoDestinatario, CodigoProducto, Cantida
Esta para los datos de los mendsajero:
CodigoMensajero, nombre, direccion
Y una más donde esta la relación :
NumeroGuia, codigoMensajero, fecha
Hola..
Así lo tengo. Me falta es empezar a relacionar. Como lo hago para las consultas, regálame como lo harías tu si desearas sabes por ejemplo un numero de guía a que destinatario va y que mensajero la lleva, teniendo en cuenta las tres tablas... Mil gracias..
Seria por ejemplo:
select numeroGuia,codigoDestinatario, codigoMensajero, nombre from
numeros de guia as t1,relacion_guia_mensajero as t2, datos_mensajero as t3 where
t1.NumeroGuia=t2.NumeroGuia and t3.codigoMensajero=t2.codigoMensajero
Así te dará como resultado
Numero de guía, destinatario, codigoMensajero, nombre
Hola.
Gracias por tupronta respuesta.
Te hago una pregunta ingenua, ¿Debo crear alguna tabla para que muestre el resultado o solo con la consulta se crea?
Mil gracias..
La con la consulta solo te muestra los resultados no se insertan en ninguna tabla si lo que quieres es que los resultados encontrados se guarden en una tabla creas la tabla y los insertas ejemplo:
Creas una tabla movimientos con los campos ( numeroGuia, codigoDestinatario, codigoMensajero, nombre)
Y ejecutas esto:
insert movimientos
select numeroGuia,codigoDestinatario, codigoMensajero, nombre from
numeros de guia as t1,relacion_guia_mensajero as t2, datos_mensajero as t3 where
t1.NumeroGuia=t2.NumeroGuia and t3.codigoMensajero=t2.codigoMensajero
Y así se gusda en la tabla movimientos los resultados de la consulta :)

1 respuesta más de otro experto

Respuesta
1
Primero, si te agregue al MSN, ya depende de ti aceptarme.
Segundo, es fácil mi estimado lo que quieres, solo es juntar los datos en el momento, y hacer un insert en una tabla para tal fin.
¿Fui claro?
En el momento que se produce el evento, en tu caso que se le asigna a un mensajero, haces un insert en la tabla movimientos con los datos y vas dejando ahí todo.
Luego haces un reporte donde puedas ver eso.
Hola.. Gracias por tu respuesta.
) Te rectifico mi correo ya que no te veo, quizás te lo pase [email protected].
2) Tengo una tabla llamada guía donde hago todo el insert desde un archivo en excel por medio de código VB, ahí reposa toda la información de lo que voy a distribuir, esta tabla contiene NumeroGuia, CodigoDestinatario, CodigoProducto, Cantidad y le he agregado el campo codigoMensajero (inicializado en cero)para efectos de la asignacion; He creado una tabla llamada movimientos con los campos codigoMensajero, NumeroGuia y fecha. Es en esta ultima tabla donde quiero que se registren todos los movimientos que haga con las guías y que cuando la consulte me arroje un histórico, bien sea de las entregas en los almacenes o las entregas que halla realizado el mensajero, entre otras. ¿Cómo hago para realizar el cargue de guías a mensajeros con esta tabla? ¿Debo llenarla primero de la información que tiene la tabla guía o algo así?... Como veras estoy un poco confundido.
Gracias por tu paciencia.
La verdad que tu gran virtud es hacerte un gran lio donde no hay.
Una vez que Insertas en la tabla con toda la data, procedes a hacer lo mismo en la tabla movimientos, y se acabó la chamba.
No me queda claro tu duda donde radica, si es que no sabes tomar el dato por que se genera solo, o por que no sabes hacer un insert, no lo se,.
Si ya tienes el dato para hacer el primer Insert los usas para hacer el segundo.
Si te tengo agregado al MSN, pero seguro me haz choteado y no me ves.
Hola...
La verdad no entiendo bien lo que debo hacer..
Tengo un modulo en visual basic con un formulario que consta de dos campos, 1 codigoMens y el otro Numero de guía, la idea e sque cuando le ingrese el numero de guía este quede asignado al mensajero (previa validación de existencia guía y destinatario) y quede registrado en la tabla movimientos, el código que tengo para esto es este:
Protected Sub cmdagregar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles cmdagregar.Click
Dim datos As New datos
If datos.ValidarCodigoMensajero(txtcodigo.Text) = True Then
If datos.ValidarCodigoGuia(txtguia.Text) = True Then
If datos.ValidarGuiaMensajero(txtguia.Text) = True Then
If datos.Asignar(txtcodigo.Text, txtguia.Text) = True Then
MsgBox("Guia asignada a Mensajero con _Exito!!!!!!")
Else
MsgBox("Ha ocurrido un Error, (Que mal programnador !!! jajaja)")
End If
Else
MsgBox("Error, ya existe un mensajero asiciado a esa guia!!!!!!!")
End If
Else
MsgBox("Error, el Numero de guia no existe.!!!!")
End If
Else
MsgBox("Error, el mensajero con ese codigo no Existe!!!!")
End If
Y la funcion es esta:
Function Asignar(ByVal CodigoMens As Integer, ByVal NumeroGuia As Integer) As Boolean
Dim Conmydata As SqlConnection 'para conectar con la base datos'
Dim cmdselect As SqlCommand 'sqlcommand sirve para ejecutar una instruccion de sql'
Dim strsql As String ' strsql variable donde se almacena la intruccion a ejecutar'
strsql = "UPDATE Guia SET CodigoMens= '" & CodigoMens & "' WHERE NumeroGuia= '" & NumeroGuia & "'"
Conmydata = New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("StrCon").ConnectionString)
cmdselect = New SqlCommand(strsql, Conmydata)
cmdselect.CommandType = CommandType.Text
Try
Conmydata.Open() 'intenta ejecutar la instrucción, si no puede arroja la excepción o el error'
If cmdselect.ExecuteNonQuery() > 0 Then
Return True
Else
Return False
End If
Conmydata.Close()
Catch ex As Exception
Return False
End Try
End Function
Aquí se ve que trabajo sobre la tabla "guia" quien tiene toda la info que inserto desde excel, pero no quedaría nada registrado en la tabla movimientos.
¿Qué debo hacer..?
Discuylpa si todo esta claro y no lo veo pero estoy angustiado porque se me acaba el tiempo para sustentar.
Mil gracias. ;)
Lo mismo que haces con UPDATE, haz con un INSERT Into Tabla... se lo pones a la variable "strsql" que tienes ahí y lo ejecutas igual que al UPDATE después que este termine.
Eso nada más.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas