Visual Basic - Rangos

Life is soft - evento anual de software empresarial
 
Vista:

Rangos

Publicado por Pepe (8 intervenciones) el 18/06/2007 21:02:32
Hola raza como anda oigan tengo un problemita, lo que pasa es que tengo una lista de articulos que son tipo serie, por ejemplo del articulo 01 que esta en el almacen 95786 tengo las siguientes series
AS4501-10001
AS4501-10002
AS4501-10003
AS4501-10004
AS4501-10005
AS4501-10006
AS4501-10007
y tambien del articulo 02 que tambien esta en el mismo almacen tengo las siguientes series
EA07-035303
EA07-035304
EA07-035305
EA07-035306
EA07-035307
EA07-035308

Entonces lo que quiero hacer es un grupo de cada uno de los diferentes articulos, por ejemplo que me diga del AS4501-10001 al 10007 tienes 7 solicitudes, y del EA07-035303 al 035308 tienes 6 solicitudes, es decir que no ponga todas las solicitudes, esto porque a veces las solicitudes son mas de 100, como le puedo hacer?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Rangos

Publicado por Madero (6 intervenciones) el 18/06/2007 23:29:52
lo que podes hase es contar las solisitudes entre una y otra

no entiendo el porblema. si nos lo pudierais esplicra un poco mejor
???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Rangos

Publicado por Para Madero y YO (8 intervenciones) el 19/06/2007 18:42:43
Si, perdon se me hace que no me explique muy bien, ahi va de nuez, tanto para madero como para yo, todos los datos los tengo en una tabla, y tengo un reporte el cual me muestra la siguiente informacion en este orden

Articulo SERIE ALMACEN EXISTENCIA
01 AS4501-10000 95786 1
01 AS4501-10001 95786 1
01 AS4501-10002 95786 1
01 AS4501-10003 95786 1
01 AS4501-10004 95786 1
01 AS4501-10005 95786 1
01 AS4501-10006 95786 1
01 AS4501-10007 95786 1
02 EA07-035385 95786 1
02 EA07-035386 95786 1
02 EA07-035387 95786 1

Entonces para la pregunta de Yo, no estoy utilizando ninguna de las herramientas para imprimir, solo lo estoy llevando acabo en codigo para ver si funciona y despues llevarlo a un crystal report.

Lo que necesito es cambiar la forma en que el reporte me muestra la informacion, no me sirve de esta manera debido a que se tiene mas de 100 solicitudes de un mismo articulo que son asignadas a un agente en este caso es el almacen, entonces el agente va ver que solicitudes tiene asiganadas, entonces imaginate tener 100 una por una, y ademas todavia faltan los otros articulos, entonces yo necesito que me lo muestre de esta manera es decir en el articulo 01 yo tengo las solicitudes del AS4501-10000 al AS4501-10007 y tengo en existencia 7. Pero al momento que cambia de serie que es el articulo 2, tiene que empezar a contar de nuevo y hacerme un nuevo rango de solicitudes del EA07-035385 al EA07-035385 y tienes 3 en existencia.

Entonces yo llevo este codigo pero no me esta funcionando del todo bien

Y lo que hace es buscar las series lotes apartir de un almacen donde la existencia sea mayor a 0 y del articulo 1

Ya que los busca entra a un ciclo para determinar el valor de la primer serie lote, los separa en la serie y el consecutivo, despues le sumo un uno al consecutivo para que busque el siguiente y despues vuelvo a unir la serie y el consecutivo que aumente, en el siguiente query busca esa nueva serie. Hasta Ahi tengo
el siguiente paso que quiero hacer es que si encuentra ese consecutivo no se haga un contador para que vaya contando los que encontro y en el momento que no encuentre uno es porque ya cambio de serie y me haga el rango y empiece el contador, es en lo que estoy batallando, si ustedes saben hacerlo de una forma mas rapido se los agradezco gracias

Qry = "Select SerieLote, almacen from SerieLote where almacen = '95786' and existencia > 0 and articulo = 01 order by serielote"
rst.Open Qry, cnn, adOpenKeyset, adLockPessimistic

Do While Not rst.EOF
Valor = rst("serielote")
Serie = Mid(Valor, 1, InStr(Valor, "-") - 1)
Numero = Mid(Valor, InStr(Valor, "-") + 1)
Consecutivo = Numero + 1
SerieABuscar = Serie & "-" & Consecutivo

Qry1 = "Select SerieLote, almacen from SerieLote where serielote='" & SerieABuscar & "' and almacen ='95786' and existencia > 0"
rst1.Open Qry1, cnn, adOpenKeyset, adLockPessimistic
rst1.Close
rst.MoveNext
Loop
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pero ...

Publicado por Yo (29 intervenciones) el 19/06/2007 00:36:35
Ya habías preguntado eso mismo, y parece que nadie te respondió, porque la pregunta deja otras más:
¿quieres hacer eso con una sola consulta SQL?
¿lo quieres a mostrar en un FlexGrid, DataGrid, en DataReport, Crystal Reports, en otros controles -TextoBoxes o Lables, por ejemplo?
¿solamente quieres el resumen así, tal como lo pones:
"AS4501-10001 al 10007 tienes 7 solicitudes", "EA07-035303 al 035308 tienes 6 solicitudes" ...
¿y, sobretodo, cuál es la parte que te falla o te dá problemas?

No es por molestar, sino para tratar de ayudarte
¿los productos están en una tabla y las series en otra?
Si este es el caso, puedes recorrer la tabla de productos, ordenándola por la clave, y haces OTRA consulta (en otro recordset, obviamente) para obtener las series de ESA MISMA CLAVE; y una vez obtenidos los valores de ese producto avanzas de registro en la tabla de productos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar