Buenos días, he venido revisando varios hilos de distintos problemas y me he dado con la sorpresa que hay muchisimas personas que tienen un amplio conocimiento y les estaría muy agradecido de compartirlo conmigo, solucionando este pequeño problemita en access.
Tengo definidos 4 campos de una tabla, que vienen a ser u1, u2, u3, u4. lo que necesito, es tener el promedio de estos 4 campos, ojo, no todos los campos tienen una nota, por ejemplo
en u1 tiene 05
en u2 no hay nada
en u3 tiene 18
en u4 tiene 12
El promedio debería ser 11.66 redondeando debería ser 12 pero me muestra el promedio de 64.25 porque los valores nulos tienen como referencia a un 222, este es el código que tengo, les estaría muy agradecido de recibir su ayuda
Código:
Private Sub Comando19_Click()
Dim vcon1 As ADODB.Connection
Dim alu As ADODB.Recordset
Dim sql As String
Dim cod_mat, cod_act, u1, u2, u3, u4, et, prom_cl As Integer
Dim prom_cn As String
Set vcon1 = CurrentProject.Connection
Set alu = New ADODB.Recordset
alu.Open "SELECT DISTINCT MAT_COD, ACT_COD, T1U1PC1, T1U1PC2, T1U1PC3, T1U1PC4, T1PU1, idcurso FROM ACTAS_DETALLE;", vcon1, adOpenStatic, adLockReadOnly
alu.MoveFirst
Do Until alu.EOF
cod_mat = alu(0)
cod_act = alu(1)
u1 = alu(2)
u2 = alu(3)
u3 = alu(4)
u4 = alu(5)
et = alu(6)
cur = alu(7)
prom_cl = 0
prom_cn = ""
If IsNull(u1) Then
u1 = 222
End If
If IsNull(u2) Then
u2 = 222
End If
If IsNull(u3) Then
u3 = 222
End If
If IsNull(u4) Then
u4 = 222
End If
If IsNull(et) Then
et = 222
End If
prom_cl = (u1 + u2 + u3 + u4) / 4 + 0.1
sql = "UPDATE DETA_ACTA SET T1PU1=" & prom_cl & ",T1PU1CL='" & prom_cn & "' WHERE MAT_COD=" & cod_mat & " AND ACT_COD=" & cod_act & "; "
vcon1.Execute (sql)
alu.MoveNext
Loop
alu.Close
vcon1.Close
MsgBox ("LOS PROMEDIOS FUERON CALCULADOS SATISFACTORIAMENTE")
End Sub
Sé que debo cambiar la linea
Cita: prom_cl = (u1 + u2 + u3 + u4) / 4 + 0.1
pero he buscado en varios lugares y no encuentro algo parecido a lo que estoy buscando