Private Sub SCGrid1_TextChange(ByVal Row As Integer, ByVal Col As Integer)
Dim NumeroConfirmacion As String
Dim NumEmbarcacion As String
Dim NumEmbarcacionABuscar As String
Dim PaxLibres As Integer
Dim TotalPaxAAsignar As Integer
Dim PaxAAsignar As Integer
Dim TotalPax As Integer
Dim strSelect As String
Dim i As Integer
Dim j As Integer
Dim iRow As Integer

    NumeroConfirmacion = txtConfirmacion
Se almacena en la variable TotalPax los pasajeros totales de la reservacin
    TotalPax = txtTotalPax
                   strSelect = "SELECT [Flujo Embarcaciones Temporal].Numembarcacion,[Flujo Embarcaciones Temporal].PaxAAsignar FROM [Flujo Embarcaciones Temporal]"
            rcds.Open strSelect, db, adOpenStatic, adLockOptimistic
            rcds.MoveFirst
            TotalPaxAAsignar = 0
            For i = 1 To rcds.RecordCount
            NumEmbarcacion = rcds.Fields(0)
            PaxAAsignar = rcds.Fields(1)
            NumEmbarcacionABuscar = SCGrid1.Text(Row, 3)
            If NumEmbarcacion <> NumEmbarcacionABuscar Then
Calcula total de pasajeros a asignar sin considerar la embarcacin de la fila actual
                TotalPaxAAsignar = TotalPaxAAsignar + PaxAAsignar
            End If
            rcds.MoveNext
            Next i
            rcds.Close
            If IsNumeric(SCGrid1.Text(Row, 6)) Then
                PaxLibres = SCGrid1.Text(Row, 5)
Valida si se pueden asignar a la embarcacin la cantidad de pasajeros capturados.
                If PaxLibres < SCGrid1.Text(Row, 6) Then
                   MsgBox "No puede asignar mas pax que los libres de la embarcacin"
                    strSelect = "select * from [Flujo Embarcaciones Temporal] where "
                    strSelect = strSelect & SCGrid1.Key(-1, 0) & "=" & SCGrid1.Text(Row, 0)
            
                    rcds.Open strSelect, db, adOpenStatic, adLockOptimistic
            Refresca los valores para la fila actual
Ver cdigo frmAsignarEmbarcaciones-populateRow.txt
                    populateRow (Row)
                    rcds.Close
            
                SCGrid1.Refresh
                initVariables
                Exit Sub
                End If
Calcula el total de pasajeros a asignar considerando hasta el valor recien
capturado
                  TotalPaxAAsignar = TotalPaxAAsignar + SCGrid1.Text(Row, 6)

Si el total de pasajeros asignados rebas los pasajeros de la reservacin, no guarda el cambio hecho a la fila, tal fila se restablece al valor anterior
                If TotalPaxAAsignar > txtTotalPax Then
                MsgBox "No puede asignar mas pax de los que falta por asignar"
                strSelect = "select * from [Flujo Embarcaciones Temporal] where "
                    strSelect = strSelect & SCGrid1.Key(-1, 0) & "=" & SCGrid1.Text(Row, 0)
            
                    rcds.Open strSelect, db, adOpenStatic, adLockOptimistic
                    populateRow (Row)
                    rcds.Close
                    SCGrid1.Refresh
                    initVariables
                Exit Sub
                End If
Se actualiza el cuadro de texto, donde se muestra la cantidad de pasajeros que faltan por asignar, despus de haber capturado el ultimo valor asignado.
            txtPax = TotalPax - TotalPaxAAsignar
        End If
    Se coloca la variable blnFieldChanged a Verdadero y hasta que se
cambie a otra fila se establece a Falso y se activa el botn Asignar
Embarcacin
    blnFieldChanged = True
    cmdAsignaEmbarcaciones.Enabled = False
End Sub
