Programando una vez más, me encontré con un problema:
Dentro de un módulo general, en Visual Basic 6.0 con Service Pack 6 y MSDN Libraries...
Para un sistema de administración con conexión a base de datos
Necesitaba obtener la cantidad de valores de un campo en varios registros y sumarlos. En mi caso eran: Distintos zapatos de distinto color pero mismo artículo y mismo código, obtener todos los talles correspondientes.
En el listView, se carga por renglón: Código, Artículo, Color y Cantidad de talles que tiene.
En el módulo general, se carga la info del ListView, exceptuando CANTIDAD.
...
Public Function Carga_lstvCant_mod_stock()
'Muestra los datos de la base en el listview del FORM Modificacion Stock
With rsTabla
If .RecordCount <> 0 Then
frm_modstock_cant.lstvDatos.ListItems.Clear
Do While Not .EOF
Set Items = frm_modstock_cant.lstvDatos.ListItems.Add(, , .Fields(0) & "")
Items.SubItems(1) = .Fields(1) & ""
Items.SubItems(2) = .Fields(2) & ""
Items.SubItems(3) = obtieneCantalles
.MoveNext
Loop
End If
End With
End Function
...
Eso es pedazo de código, por favor no robar, sino tomar como base para trabajar.
Bien ahora viene la parte de obtieneCantalles() (también está en el mismo módulo, un poco antes)
Public Function obtieneCantalles() As Integer
Dim i As Integer
Dim CONSQL As String
obtieneCantalles = 0
With rsTabla
CONSQL = "select count(Talle) from articulos_stock where Codigo='" & .Fields(0) & "' AND Articulo='" & .Fields(1) & "' AND Color='" & .Fields(2) & "'"
Set rsCantalles = Base.OpenRecordset(CONSQL)
obtieneCantalles = rsCantalles.Fields(0)
End With
End Function
Utilicé el 2do método que brinda este sitio (asignar variables con el nombre de la función)
En fin todo este artículo lo puse para explicar que en VB 6.0 la función RETURN dentro de un módulo no sirve, devuelve un error y no permite ningún contenido luego de ejecutarla (RETURN y ahí si escribes algo pide fin de la instrucción, o sea, [INTRO])... Es decir no sirve Return nombre_de_la_variable_que_quisiera_devolver...
Sólo eso, un asterisco a todo esto del msdn... Muchas gracias.