Planteo una función, con bastantes bloques if, recorre dos colecciones y carga datos a la bd y a otra colección; no se, al ejecutar el programa y llamarla se cuelga visual, pero no me doy cuenta porq? No tira error, les pongo el cod. de la función, no sé si servirá de algo pero por lo menos quizas alguna idea de que puede ser,
, MUCHAS GRACIAS...
[/CODE]
Public Function RECIBOSXCATEGORIA(idcat As Integer, numeroinicial As Long, dia As Integer, mes As Integer, año As Integer) As Collection
Dim COLFAMILIAR As Collection
Dim COLTITULAR As Collection
Set COLFAMILIAR = clpAfiliado2.CargarTodos
Set COLTITULAR = clpAfiliado1.CargarTodos
Dim i, j, X As Long
For i = 1 To COLFAMILIAR.Count
For j = 1 To COLTITULAR.Count
If idcat = COLTITULAR.Item(j).IdCategoria And idcat = COLFAMILIAR.Item(i).IdCategoria Then
X = 0
If COLFAMILIAR.Item(i).ID = COLTITULAR.Item(j).ID Then
Set clreciboCat1 = New cReciboCat1
X = 1
If X = 1 Then
X = 2
clreciboCat1.NombreFamiliar2 = COLFAMILIAR.Item(i).nombre
End If
ElseIf X = 2 Then
X = 3
clreciboCat1.NombreFamiliar2 = COLFAMILIAR.Item(i).nombre
End If
ElseIf X = 3 Then
X = 4
clreciboCat1.NombreFamiliar3 = COLFAMILIAR.Item(i).nombre
End If
If X = 4 Then
X = 5
clreciboCat1.NombreFamiliar4 = COLFAMILIAR.Item(i).nombre
End If
If X = 5 Then
X = 6
clreciboCat1.NombreFamiliar5 = COLFAMILIAR.Item(i).nombre
End If
If X = 6 Then
X = 7
clreciboCat1.NombreFamiliar6 = COLFAMILIAR.Item(i).nombre
End If
If X = 7 Then
X = 8
clreciboCat1.NombreFamiliar7 = COLFAMILIAR.Item(i).nombre
End If
If X = 8 Then
X = 9
clreciboCat1.NombreFamiliar8 = COLFAMILIAR.Item(i).nombre
End If
If X = 9 Then
X = 10
clreciboCat1.NombreFamiliar10 = COLFAMILIAR.Item(i).nombre
End If
If X = 10 Then
X = 11
clreciboCat1.NombreFamiliar10 = COLFAMILIAR.Item(i).nombre
End If
If X = 11 Then
X = 11
clreciboCat1.NombreFamiliar11 = COLFAMILIAR.Item(i).nombre
Set CLCAT = CLDCAT.Cargarxid(COLFAMILIAR.Item(i).IdCategoria)
clreciboCat1.ID = CLDCAT.NuevoID
clreciboCat1.numeroinicial = numeroinicial
clreciboCat1.Numero = cldrecibocat.Nuevonumero
clreciboCat1.nombre = COLTITULAR.Item(j).nombre
clreciboCat1.Valor = CLCAT.Valor
clreciboCat1.Iva = CLCAT.Iva
clreciboCat1.Total = CLCAT.Iva + CLCAT.Valor
clreciboCat1.Categoria = CLCAT.nombre
clreciboCat1.Direccion = COLTITULAR.Item(j).Direccion
clreciboCat1.Telefono = COLTITULAR.Item(j).Telefono
clreciboCat1.mes = mes
clreciboCat1.año = año
clreciboCat1.dia = dia
clreciboCat1.IdCategoria = CLCAT.ID
RECIBOSXCATEGORIA.Add clreciboCat1
cldrecibocat.Alta (clreciboCat1)
End If
Set clrecibocat = Nothing
Next
Next
End Function
[CODE]