Dim C1a, C1b, C1c As String Dim C2a, C2b, C2c As String Dim C3a, C3b, C3c As String Dim C4a, C4b, C4c As String Dim C5a, C5b, C5c As String Dim C6a, C6b, C6c As String Dim C7a, C7b, C7c As String Dim C8a, C8b, C8c As String Dim C9a, C9b, C9c As String Dim C10a, C10b, C10c As String
Dim S1, S2, S3, S4, S5, S6, S7, S8, S9, S10 As String Dim xKD As String
Dim vNo As Byte Dim By
Sub T_Objek() Call BukaDB
RsObjek.Open "SELECT Objek FROM tbObjek where left(Idx_ob,3)='" & Left(vIdx_Ob.Caption, 3) & "' order by Objek Asc", Conn
Do While Not RsObjek.EOF
vObjek.AddItem RsObjek!Objek RsObjek.MoveNext
Loop End Sub
Private Sub vIDX_A_Change() Call BukaDB
RsAlternatif.Open "Select * from tbAlternatif where Idx_A='" & vIDX_A & "'", Conn
If Not RsAlternatif.EOF Then
vAlternatif = RsAlternatif!Alternatif End If
End Sub
Private Sub vIDX_A_Click() vIDX_A_Change
End Sub
Private Sub vObjek_Click() Call BukaDB
RsObjek.Open "SELECT * FROM tbObjek where objek='" & vObjek & "'", Conn
If Not RsObjek.EOF Then vIdx_Ob = RsObjek!Idx_Ob vTentang = RsObjek!Tentang Call BukaDB
RsParameter.Open "SELECT * FROM tbParameter where Idx_ob='" & vIdx_Ob & "'", Conn
If Not RsParameter.EOF Then vC1 = RsParameter!C1 vC2 = RsParameter!C2 vC3 = RsParameter!C3 vC4 = RsParameter!C4 vC5 = RsParameter!C5 vC6 = RsParameter!C6 vC7 = RsParameter!C7 vC8 = RsParameter!C8 vC9 = RsParameter!C9 vC10 = RsParameter!C10
Call Tampil_LV Call Tampil_DM Call TKriteria Else LV.ListItems.Clear End If End If End Sub Sub TKriteria() Call BukaDB With rsTFN
.Open "SELECT Distinct Kriteria FROM tbTFN where Idx_ob='" & vIdx_Ob & "'", Conn
Do While Not .EOF
xC1.AddItem !Kriteria xC2.AddItem !Kriteria xC3.AddItem !Kriteria xC4.AddItem !Kriteria xC5.AddItem !Kriteria xC6.AddItem !Kriteria xC7.AddItem !Kriteria xC8.AddItem !Kriteria xC9.AddItem !Kriteria xC10.AddItem !Kriteria .MoveNext Loop End With End Sub Sub Tampil_LV() Dim X Call BukaDB With RsAlternatif
.Open "Select * from tbAlternatif where Idx_ob='" & vIdx_Ob & "'", Conn
LV.ListItems.Clear While Not .EOF
Set X = LV.ListItems.Add(, , .Fields!Idx_A) X.SubItems(1) = .Fields!Alternatif X.SubItems(2) = .Fields!Ket .MoveNext Wend End With End Sub Sub Tampil_DM() Call BukaDB
rsFRs.Open "SELECT DMs FROM tbFRs where Idx_ob='" & vIdx_Ob & "' order by DMs Asc", Conn
Do While Not rsFRs.EOF vDMs.AddItem rsFRs!DMs rsFRs.MoveNext
Loop End Sub
Private Sub Form_Activate() Call BukaDB
DT.ConnectionString = Conn
DT.Refresh Set DTGrid.DataSource = DT DTGrid.Refresh cmdEdit.Enabled = True cmdEdit.Caption = "&Edit" End Sub Function Cari() Call BukaDB
rsTemp.Open "Select * from tbTemp where Idx_A='" & vIDX_A & "'", Conn
End Function
Private Sub cbNama_Click() Call BukaDB
With rsTemp
.Open "Select * from tbTemp Where Idx_A='" & vIDX_A & "'", Conn
If Not .EOF Then vNo = !Nomor vNama = !Idx_A End If End With cmdDel.Caption = "&Del" cmdInsert.Enabled = True cmdInsert.Caption = "&Batal" End Sub
Private Sub cmdDel_Click()
If cmdDel.Caption = "&Batal" Then cmdEdit.Caption = "&Edit" cmdInsert.Caption = "&Insert" cmdInsert.Enabled = False cmdDel.Enabled = False
ElseIf cmdDel.Caption = "&Del" Then Call BukaDB
With rsTemp
Pesan = MsgBox("Yakin akan dihapus", vbYesNo) If Pesan = vbYes Then
Dim SQLHapus As String
SQLHapus = "Delete From tbTemp where Idx_A='" & vIDX_A & "'" Conn.Execute SQLHapus Call Form_Activate vIDX_A.Clear DT.Refresh DT.Recordset.Requery DTGrid.Refresh Conn.Close Else Exit Sub End If End With End If End Sub
Private Sub CmdEdit_Click()
If cmdEdit.Caption = "&Edit" Then cmdEdit.Caption = "&Save" cmdInsert.Caption = "&Batal"
cmdInsert.Enabled = True cmdDel.Enabled = True vIDX_A.Enabled = True Call BukaDB
vIDX_A.Clear
rsTemp.Open "Select Distinct Idx_A From tbTemp", Conn Do While Not rsTemp.EOF
vIDX_A.AddItem rsTemp!Idx_A rsTemp.MoveNext
Loop
ElseIf cmdEdit.Caption = "&Save" Then If vIDX_A = "" Or vDMs = "" Then
MsgBox ("Masih ada data yang kosong...") Exit Sub
Else
Call BukaDB
rsTemp.Open "Select * from tbTemp Where Idx_A='" & vIDX_A & "' order by nomor", Conn
Pesan = MsgBox("Yakin melakukan perubahan data..?", vbYesNo)
If Not rsTemp.EOF And Pesan = vbYes Then DT.Recordset.Update DT.Recordset!Nomor = vNo DT.Recordset!Idx_A = vNama DT.Recordset!Idx_A = vIDX_A DT.Recordset!C1 = S1 DT.Recordset!C2 = S2 DT.Recordset!C3 = S3 DT.Recordset!C4 = S4 DT.Recordset!C5 = S5 DT.Recordset!C6 = S6 DT.Recordset!C7 = S7 DT.Recordset!C8 = S8 DT.Recordset!C9 = S9 DT.Recordset!C10 = S10 DT.Recordset!C1a = C1a DT.Recordset!C1b = C1b DT.Recordset!C1c = C1c DT.Recordset!C2a = C2a DT.Recordset!C2b = C2b DT.Recordset!C2c = C2c DT.Recordset!C3a = C3a DT.Recordset!C3b = C3b DT.Recordset!C3c = C3c DT.Recordset!C4a = C4a DT.Recordset!C4b = C4b DT.Recordset!C4c = C4c DT.Recordset!C5a = C5a DT.Recordset!C5b = C5b DT.Recordset!C5c = C5c DT.Recordset!C6a = C6a DT.Recordset!C6b = C6b DT.Recordset!C6c = C6c DT.Recordset!C7a = C7a DT.Recordset!C7b = C7b DT.Recordset!C7c = C7c
DT.Recordset!C8a = C8a DT.Recordset!C8b = C8b DT.Recordset!C8c = C8c DT.Recordset!C9a = C9a DT.Recordset!C9b = C9b DT.Recordset!C9c = C9c DT.Recordset!C10a = C10a DT.Recordset!C10b = C10b DT.Recordset!C10c = C10c DT.Recordset.Update Call Form_Activate DT.Refresh DT.Recordset.Requery DTGrid.Refresh Conn.Close End If End If cmdEdit.Caption = "&Edit" End If End Sub
Private Sub cmdSave_Click()
If vIdx_Ob = "" Or vDMs = "" Then
MsgBox ("Data masih ada yang kosong") Exit Sub
Else
Dim SqlT, SqlDetail As String
SqlT = "Insert Into tbDMs(Kode,Tanggal,Idx_ob,DMs,Ket) values('" & xKD & "','" & Format(Date, "dd/MM/yyyy") & "','" & vIdx_Ob & "','" & vDMs & "','" & vKet & "')"
Conn.Execute (SqlT) With DT.Recordset .MoveFirst
Do While Not .EOF
If !Nomor <> vbNullString Then
SqlDetail = "Insert Into tbDMsDetail
(Kode,Idx_A,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C1a,C1b,C1c,C2a,C2b,C2 c,C3a,C3b,C3c,C4a,C4b,C4c,C5a,C5b,C5c,C6a,C6b,C6c,C7a,C7b,C7c,C8a ,C8b,C8c,C9a,C9b,C9c,C10a,C10b,C10c) values ('" & xKD & !Nomor & "','" & !Idx_A & "','" & !C1 & "','" & !C2 & "','" & !C3 & "','" & !C4 & "','" & !C5 & "','" & !C6 & "','" & !C7 & "','" & !C8 & "','" & !C9 & "','" & !C10 & "','" & !C1a & "','" & !C1b & "','" & !C1c & "','" & !C2a & "','" & !C2b & "','" & !C2c & "','" & !C3a & "','" & !C3b & "','" & !C3c & "','" & !C4a & "','" & !C4b & "','" & !C4c & "','" & !C5a & "','" & !C5b & "','" & !C5c & "','" & !C6a & "','" & !C6b & "','" & !C6c & "','" & !C7a & "','" & !C7b & "','" & !C7c & "','" & !C8a & "','" & !C8b & "','" & !C8c & "','" & !C9a & "','" & !C9b & "','" & !C9c & "','" & !C10a & "','" & !C10b & "','" & !C10c & "')"
Conn.Execute (SqlDetail) End If
DT.Recordset.MoveNext Loop
End With
Private Sub AUTONOMOR() Dim Urutan As Byte
Dim Hitung As Byte Call BukaDB
With rsTemp
.Open ("select * from tbTemp Where Nomor In(Select Max(Nomor)From tbTemp)Order By Nomor Desc"), Conn .Requery If .EOF Then Urutan = 1 Else Urutan = !Nomor + 1 End If vNo = Urutan End With If xKD = "" Then vDMs_Click End Sub
Private Sub xC1_Click() Call BukaDB
With rsTFN
.Open "select * from tbTFN where Kriteria='" & xC1 & "'", Conn If Not .EOF Then
C1a = !TFNa C1b = !TFNb C1c = !TFNc S1 = !Simbol End If End With End Sub
Private Sub xC2_Click() Call BukaDB
With rsTFN
.Open "select * from tbTFN where Kriteria='" & xC2 & "'", Conn If Not .EOF Then
C2a = !TFNa C2b = !TFNb C2c = !TFNc S2 = !Simbol End If End With End Sub
Private Sub xC3_Click() Call BukaDB
With rsTFN
.Open "select * from tbTFN where Kriteria='" & xC3 & "'", Conn If Not .EOF Then
C3a = !TFNa C3b = !TFNb C3c = !TFNc S3 = !Simbol End If End With End Sub
Private Sub xC4_Click() Call BukaDB
With rsTFN
If Not .EOF Then C4a = !TFNa C4b = !TFNb C4c = !TFNc S4 = !Simbol End If End With End Sub
Private Sub xC5_Click() Call BukaDB
With rsTFN
.Open "select * from tbTFN where Kriteria='" & xC5 & "'", Conn If Not .EOF Then
C5a = !TFNa C5b = !TFNb C5c = !TFNc S5 = !Simbol End If End With End Sub
Private Sub xC6_Click() Call BukaDB
With rsTFN
.Open "select * from tbTFN where Kriteria='" & xC6 & "'", Conn If Not .EOF Then
C6a = !TFNa C6b = !TFNb C6c = !TFNc S6 = !Simbol End If End With End Sub
Private Sub xC7_Click() Call BukaDB
With rsTFN
.Open "select * from tbTFN where Kriteria='" & xC7 & "'", Conn If Not .EOF Then
C7a = !TFNa C7b = !TFNb C7c = !TFNc S7 = !Simbol End If End With End Sub
Private Sub xC8_Click() Call BukaDB
With rsTFN
.Open "select * from tbTFN where Kriteria='" & xC8 & "'", Conn If Not .EOF Then
C8a = !TFNa C8b = !TFNb C8c = !TFNc S8 = !Simbol End If End With
End Sub
Private Sub xC9_Click() Call BukaDB
With rsTFN
.Open "select * from tbTFN where Kriteria='" & xC9 & "'", Conn If Not .EOF Then
C9a = !TFNa C9b = !TFNb C9c = !TFNc S9 = !Simbol End If End With End Sub
Private Sub xC10_Click() Call BukaDB
With rsTFN
.Open "select * from tbTFN where Kriteria='" & xC10 & "'", Conn If Not .EOF Then
C10a = !TFNa C10b = !TFNb C10c = !TFNc S10 = !Simbol End If End With End Sub Sub Nomor()
Dim Urutan As String * 9 Dim Hitung As Long
Dim Tgl As Variant
Tgl = Format(Date, "yymmdd") Call BukaDB
With rsDMs
.Open "select * from tbDMs Where Kode In(Select Max(Kode)From tbDMs)Order By Kode Desc", Conn
.Requery If .EOF Then
Urutan = Tgl + "001" Else
Hitung = (!Kode) + 1
Urutan = Tgl + Right("000" & Hitung, 3) End If xKD = Urutan vDMs.Enabled = False End With End Sub 7. Hasil Penilaian
Dim rC1a, C1b, rC1c, rC2a, rC2b, rC2c, rC3a, rC3b, rC3c, rC4a, rC4b, rC4c, rC5a, rC5b, rC5c, rC6a, rC6b, rC6c, rC7a, rC7b, rC7c, rC8a, rC8b, rC8c, rC9arC9b, rC9c, rC10a, rC10b, rC10c
Dim fC1a, fC1b, fC1c, fC2a, fC2b, fC2c, fC3a, fC3b, fC3c, fC4a, fC4b, fC4c, fC5a, fC5b, fC5c, fC6a, fC6b, fC6c, fC7a, fC7b, fC7c, fC8a, fC8b, fC8c, fC9afC9b, fC9c, fC10a, fC10b, fC10c
Sub T_Objek() Call BukaDB
vObjek.Clear
RsObjek.Open "select Distinct Objek from tbObjek,tbDMs where tbDMs.Idx_Ob=tbObjek.Idx_Ob", Conn
Do While Not RsObjek.EOF
vObjek.AddItem RsObjek!Objek RsObjek.MoveNext
Loop End Sub
Private Sub cmdEliminasi_Click() CR.Reset
CR.SelectionFormula = "Totext({tbHasilakhir.Idx_Ob})='" & vIdx_Ob & "' and Totext({tbHasilakhir.Ket})='Eliminasi'" CR.ReportFileName = App.Path & "\File\LapEliminasi.rpt" CR.WindowState = crptMaximized
CR.DiscardSavedData = True CR.RetrieveDataFiles
CR.Action = 1 End Sub
Private Sub cmdHasil_Click() LvHasil.ListItems.Clear Call BukaDB
With RsHasil Z = 0
.Open "Select * from tbHasilAkhir where Ket <> 'Eliminasi' and Idx_ob='" & vIdx_Ob & "' order by ICT", Conn
While Not .EOF
Set X = LvHasil.ListItems.Add(, , .Fields!Idx_Ob) X.SubItems(1) = !Alternatif
Call BukaDB
RsAlternatif.Open "select Idx_a from tbAlternatif where Alternatif='" & .Fields!Alternatif & "'", Conn
If Not RsAlternatif.EOF Then
X.SubItems(2) = RsAlternatif!Idx_A End If X.SubItems(3) = .Fields!ICt X.SubItems(4) = .Fields!Ket .MoveNext Wend End With End Sub
Private Sub vIdx_Ob_Change() Call T_List
Call BukaDB
RsObjek.Open "select * from tbObjek where Idx_ob='" & vIdx_Ob & "'", Conn
If Not RsObjek.EOF Then
vTentang = RsObjek!Tentang vObjek = RsObjek!Objek End If Call Hitung_FRs End Sub Sub Klik_Combo() Call BukaDB
RsObjek.Open "select * from tbObjek where Objek='" & vObjek & "'", Conn
If Not RsObjek.EOF Then
vTentang = RsObjek!Tentang vIdx_Ob = RsObjek!Idx_Ob End If
Call BukaDB
rsFRs.Open "Select * from tbDMs where Idx_Ob='" & vIdx_Ob & " '", Conn
If Not rsFRs.EOF Then vKode = rsFRs!Kode vTgl = rsFRs!Tanggal Call Tampil_H5a End If
End Sub
Private Sub cmdTutup_Click() Unload Me
End Sub Sub T_List() Call BukaDB List1.Clear
rsDMs.Open "Select Distinct Dms from tbDMs where Idx_Ob='" & vIdx_Ob & "' order by Dms asc", Conn
Do Until rsDMs.EOF
List1.AddItem rsDMs!DMs rsDMs.MoveNext
Loop End Sub
Private Sub list1_click() Call BukaDB
Conn.CursorLocation = adUseClient
rsDMs.Open "select * from tbDMs where Dms='" & List1.Text & "' and Idx_Ob='" & vIdx_Ob & "'", Conn
rsDMs.Requery
If Not rsDMs.EOF Then
vTgl = " " & rsDMs!Tanggal vKode = rsDMs!Kode End If Call Tampil_Detail End Sub Sub Tampil_H5a() On Error Resume Next Dim Br As Byte
Lv_H5a.ListItems.Clear Call BukaDB
With rsFRs
.Open "Select * from tbDMsDetail where left(Kode,9)='" & vKode & "' order by Idx_a", Conn
While Not .EOF
Set X = Lv_H5a.ListItems.Add(, , .Fields!Idx_A) Call BukaDB
RsAlternatif.Open "Select Alternatif from
tbAlternatif,tbObjek where tbobjek.idx_ob=tbAlternatif.Idx_ob and Idx_A ='" & .Fields!Idx_A & "'order by Idx_a", Conn
If Not RsAlternatif.EOF Then
End If
Call BukaDB
rsDMs.Open "Select count(Idx_A) as BYK from tbDMsDetail where Idx_A='" & .Fields!Idx_A & "'", Conn
Br = rsDMs!Byk Call BukaDB
RsCS.Open "Select sum(C1a) as sC1a,sum(C1b) as sc1b,sum(C1c) as sC1c,sum(C2a) as sC2a,sum(C2b) as sc2b,sum(C2c) as sC2c,sum(C3a) as sC3a,sum(C3b) as sc3b,sum(C3c) as sC3c,sum(C4a) as
sC4a,sum(C4b) as sc4b,sum(C4c) as sC4c,sum(C5a) as sC5a,sum(C5b) as sc5b,sum(C5c) as sC5c,sum(C6a) as sC6a,sum(C6b) as
sc6b,sum(C6c) as sC6c,sum(C7a) as sC7a,sum(C7b) as sc7b,sum(C7c) as sC7c,sum(C8a) as sC8a,sum(C8b) as sc8b,sum(C8c) as
sC8c,sum(C9a) as sC9a,sum(C9b) as sc9b,sum(C9c) as sC9c,sum(C10a) as sC10a,sum(C10b) as sc10b,sum(C10c) as sC10c from tbDMsDetail where Idx_A='" & .Fields!Idx_A & "'", Conn
rC1a = Round(RsCS!sC1a / Br, 3) rC1b = Round(RsCS!sC1b / Br, 3) rC1c = Round(RsCS!sC1c / Br, 3) rC2a = Round(RsCS!sC2a / Br, 3) rC2b = Round(RsCS!sC2b / Br, 3) rC2c = Round(RsCS!sC2c / Br, 3) rC3a = Round(RsCS!sC3a / Br, 3) rC3b = Round(RsCS!sC3b / Br, 3) rC3c = Round(RsCS!sC3c / Br, 3) rC4a = Round(RsCS!sC4a / Br, 3) rC4b = Round(RsCS!sC4b / Br, 3) rC4c = Round(RsCS!sC4c / Br, 3) rC5a = Round(RsCS!sC5a / Br, 3) rC5b = Round(RsCS!sC5b / Br, 3) rC5c = Round(RsCS!sC5c / Br, 3) rC6a = Round(RsCS!sC6a / Br, 3) rC6b = Round(RsCS!sC6b / Br, 3) rC6c = Round(RsCS!sC6c / Br, 3) rC7a = Round(RsCS!sC7a / Br, 3) rC7b = Round(RsCS!sC7b / Br, 3) rC7c = Round(RsCS!sC7c / Br, 3) rC8a = Round(RsCS!sC8a / Br, 3) rC8b = Round(RsCS!sC8b / Br, 3) rC8c = Round(RsCS!sC8c / Br, 3) rC9a = Round(RsCS!sC9a / Br, 3) rC9b = Round(RsCS!sC9b / Br, 3) rC9c = Round(RsCS!sC9c / Br, 3) rC10a = Round(RsCS!sC10a / Br, 3) rC10b = Round(RsCS!sC10b / Br, 3) rC10c = Round(RsCS!sC10c / Br, 3) Wend End With Tampil_H5b End Sub Sub Tampil_H5b() On Error Resume Next
Dim rsTemp As New ADODB.Recordset Dim Br, N As Byte
Lv_H5b.ListItems.Clear N = 0
.Open "Select * from tbDMsDetail where left(Kode,9)='" & vKode & "'", Conn
While Not .EOF
Set X = Lv_H5b.ListItems.Add(, , .Fields!Idx_A)
Call BukaDB
RsAlternatif.Open "Select Alternatif from
tbAlternatif,tbObjek where tbobjek.idx_ob=tbAlternatif.Idx_ob and Idx_A ='" & .Fields!Idx_A & "' order by Alternatif", Conn
If Not RsAlternatif.EOF Then
X.SubItems(1) = RsAlternatif.Fields!Alternatif End If
Call BukaDB
rsDMs.Open "Select count(Idx_A) as BYK from tbDMsDetail where Idx_A='" & .Fields!Idx_A & "'", Conn
Br = rsDMs!Byk Call BukaDB
RsCS.Open "Select sum(C1a) as sC1a,sum(C1b) as sc1b,sum(C1c) as sC1c," & _
"sum(C2a) as sC2a,sum(C2b) as sc2b,sum(C2c) as
sC2c,sum(C3a) as sC3a,sum(C3b) as sc3b,sum(C3c) as sC3c," & _ "sum(C4a) as sC4a,sum(C4b) as sc4b,sum(C4c) as
sC4c,sum(C5a) as sC5a,sum(C5b) as sc5b,sum(C5c) as sC5c," & _ "sum(C6a) as sC6a,sum(C6b) as sc6b,sum(C6c) as
sC6c,sum(C7a) as sC7a,sum(C7b) as sc7b,sum(C7c) as sC7c," & _ "sum(C8a) as sC8a,sum(C8b) as sc8b,sum(C8c) as
sC8c,sum(C9a) as sC9a,sum(C9b) as sc9b,sum(C9c) as sC9c," & _ "sum(C10a) as sC10a,sum(C10b) as sc10b,sum(C10c) as sC10c from tbDMsDetail where Idx_A='" & .Fields!Idx_A & "'", Conn
rC1a = RsCS!sC1a / Br rC1b = RsCS!sC1b / Br rC1c = RsCS!sC1c / Br rC2a = RsCS!sC2a / Br rC2b = RsCS!sC2b / Br rC2c = RsCS!sC2c / Br rC3a = RsCS!sC3a / Br rC3b = RsCS!sC3b / Br rC3c = RsCS!sC3c / Br rC4a = RsCS!sC4a / Br rC4b = RsCS!sC4b / Br rC4c = RsCS!sC4c / Br rC5a = RsCS!sC5a / Br rC5b = RsCS!sC5b / Br rC5c = RsCS!sC5c / Br rC6a = RsCS!sC6a / Br rC6b = RsCS!sC6b / Br rC6c = RsCS!sC6c / Br rC7a = RsCS!sC7a / Br rC7b = RsCS!sC7b / Br rC7c = RsCS!sC7c / Br rC8a = RsCS!sC8a / Br rC8b = RsCS!sC8b / Br rC8c = RsCS!sC8c / Br rC9a = RsCS!sC9a / Br rC9b = RsCS!sC9b / Br rC9c = RsCS!sC9c / Br rC10a = RsCS!sC10a / Br
rC10b = RsCS!sC10b / Br rC10c = RsCS!sC10c / Br
Dim C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, ICt As Double Dim IC1, IC2, IC3, IC4, IC5, IC6, IC7, IC8, IC9, IC10 As Double Dim AC1, AC2, AC3, AC4, AC5, AC6, AC7, AC8, AC9, AC10 As Double Dim SA1, SA2, SA3, SA4, SA5, SA6, SA7, SA8, SA9, SA10 As Double Dim sCa1, sSa1
If FR1a < rC1a Then sCa1 = rC1c - rC1a sSa1 = rC1c - rC1a
ElseIf FR1a > rC1a And FR1a < rC1b Then sCa1 = rC1c - FR1a
sSa1 = rC1c - rC1a
ElseIf FR1a > rC1b And FR1a < rC1c Then sCa1 = rC1c - FR1a
sSa1 = rC1c - rC1a ElseIf rC1c < FR1a Then sCa1 = 0
sSa1 = 0 End If
Dim Miu Miu = 0.5
CA1 = (sCa1 / 2) * Miu SA1 = sSa1 / 2
If CA1 = 0 Then CI1 = "~" Else
IC1 = Log(SA1 / CA1) / Log(2) CI1 = Round(IC1, 3) End If AC1 = CA1 X.SubItems(2) = Round(AC1, 3) X.SubItems(12) = Round(SA1, 3) X.SubItems(22) = CI1 X.SubItems(33) = Ket1
Dim sCa2, sSa2 If FR2a < rC2a Then sCa2 = rC2c - rC2a sSa2 = rC2c - rC2a
ElseIf FR2a > rC2a And FR2a < rC2b Then sCa2 = rC2c - FR2a
sSa2 = rC2c - rC2a
ElseIf FR2a > rC2b And FR2a < rC2c Then sCa2 = rC2c - FR2a
sSa2 = rC2c - rC2a ElseIf rC2c < FR2a Then sCa2 = 0
sSa2 = 0 End If
CA2 = (sCa2 / 2) * Miu SA2 = sSa2 / 2
If CA2 = 0 Then CI2 = "~" Else
IC2 = Log(SA2 / CA2) / Log(2) CI2 = Round(IC2, 3)
End If AC2 = CA2
X.SubItems(3) = Round(AC2, 3) X.SubItems(13) = Round(SA2, 3) X.SubItems(23) = CI2
Dim sCa3, sSa3 If FR3a < rC3a Then sCa3 = rC3c - rC3a sSa3 = rC3c - rC3a
ElseIf FR3a > rC3a And FR3a < rC3b Then sCa3 = rC3c - FR3a
sSa3 = rC3c - rC3a
ElseIf FR3a > rC3b And FR3a < rC3c Then sCa3 = rC3c - FR3a
sSa3 = rC3c - rC3a ElseIf rC3c < FR3a Then sCa3 = 0
sSa3 = 0 End If
CA3 = (sCa3 / 2) * Miu SA3 = sSa3 / 2
If CA3 = 0 Then CI3 = "~" Else
IC3 = Log(SA3 / CA3) / Log(2) CI3 = Round(IC3, 3) End If AC3 = CA3 X.SubItems(4) = Round(AC3, 3) X.SubItems(14) = Round(SA3, 3) X.SubItems(24) = CI3
Dim sCa4, sSa4 If FR4a < rC4a Then sCa4 = rC4c - rC4a sSa4 = rC4c - rC4a
ElseIf FR4a > rC4a And FR4a < rC4b Then sCa4 = rC4c - FR4a
sSa4 = rC4c - rC4a
ElseIf FR4a > rC4b And FR4a < rC4c Then sCa4 = rC4c - FR4a
sSa4 = rC4c - rC4a ElseIf rC4c < FR4a Then sCa4 = 0
sSa4 = 0 End If
CA4 = (sCa4 / 2) * Miu SA4 = sSa4 / 2
If CA4 = 0 Then CI4 = "~" Else
IC4 = Log(SA4 / CA4) / Log(2) CI4 = Round(IC4, 3) End If AC4 = CA4 X.SubItems(5) = Round(AC4, 3) X.SubItems(15) = Round(SA4, 3) X.SubItems(25) = CI4
Dim sCa5, sSa5 If FR5a < rC5a Then sCa5 = rC5c - rC5a sSa5 = rC5c - rC5a
ElseIf FR5a > rC5a And FR5a < rC5b Then sCa5 = rC5c - FR5a
sSa5 = rC5c - rC5a
ElseIf FR5a > rC5b And FR5a < rC5c Then sCa5 = rC5c - FR5a
sSa5 = rC5c - rC5a ElseIf rC5c < FR5a Then sCa5 = 0
sSa5 = 0 End If
CA5 = (sCa5 / 2) * Miu SA5 = sSa5 / 2
If CA5 = 0 Then CI5 = "~" Else
IC5 = Log(SA5 / CA5) / Log(2) CI5 = Round(IC5, 3) End If AC5 = CA5 X.SubItems(6) = Round(AC5, 3) X.SubItems(16) = Round(SA5, 3) X.SubItems(26) = CI5
Dim sCa6, sSa6
If FR6a < rC6a Then sCa6 = rC6c - rC6a sSa6 = rC6c - rC6a
ElseIf FR6a > rC6a And FR6a < rC6b Then sCa6 = rC6c - FR6a
sSa6 = rC6c - rC6a
ElseIf FR6a > rC6b And FR6a < rC6c Then sCa6 = rC6c - FR6a
sSa6 = rC6c - rC6a ElseIf rC6c < FR6a Then sCa6 = 0
sSa6 = 0 End If
CA6 = (sCa6 / 2) * Miu SA6 = sSa6 / 2
If CA6 = 0 Then CI6 = "~" Else
IC6 = Log(SA6 / CA6) / Log(2) CI6 = Round(IC6, 3) End If AC6 = CA6 X.SubItems(7) = Round(AC6, 3) X.SubItems(17) = Round(SA6, 3) X.SubItems(27) = CI6
Dim sCa7, sSa7 If FR7a < rC7a Then sCa7 = rC7c - rC7a
sSa7 = rC7c - rC7a
ElseIf FR7a > rC7a And FR7a < rC7b Then sCa7 = rC7c - FR7a
sSa7 = rC7c - rC7a
ElseIf FR7a > rC7b And FR7a < rC7c Then sCa7 = rC7c - FR7a
sSa7 = rC7c - rC7a ElseIf rC7c < FR7a Then sCa7 = 0
sSa7 = 0 End If
CA7 = (sCa7 / 2) * Miu SA7 = sSa7 / 2
If CA7 = 0 Then CI7 = "~" Else
IC7 = Log(SA7 / CA7) / Log(2) CI7 = Round(IC7, 3) End If AC7 = CA7 X.SubItems(8) = Round(AC7, 3) X.SubItems(18) = Round(SA7, 3) X.SubItems(28) = CI7
Dim sCa8, sSa8 If FR8a < rC8a Then sCa8 = rC8c - rC8a sSa8 = rC8c - rC8a
ElseIf FR8a > rC8a And FR8a < rC8b Then sCa8 = rC8c - FR8a
sSa8 = rC8c - rC8a
ElseIf FR8a > rC8b And FR8a < rC8c Then sCa8 = rC8c - FR8a
sSa8 = rC8c - rC8a ElseIf rC8c < FR8a Then sCa8 = 0
sSa8 = 0 End If
CA8 = (sCa8 / 2) * Miu SA8 = sSa8 / 2
If CA8 = 0 Then CI8 = "~" Else
IC8 = Log(SA8 / CA8) / Log(2) CI8 = Round(IC8, 3) End If AC8 = CA8 X.SubItems(9) = Round(AC8, 3) X.SubItems(19) = Round(SA8, 3) X.SubItems(29) = CI8
Dim sCa9, sSa9 If FR9a < rC9a Then sCa9 = rC9c - rC9a sSa9 = rC9c - rC9a
ElseIf FR9a > rC9a And FR9a < rC9b Then sCa9 = rC9c - FR9a
sSa9 = rC9c - rC9a
ElseIf FR9a > rC9b And FR9a < rC9c Then sCa9 = rC9c - FR9a
sSa9 = rC9c - rC9a ElseIf rC9c < FR9a Then sCa9 = 0
sSa9 = 0 End If
CA9 = (sCa9 / 2) * Miu SA9 = sSa9 / 2
If CA9 = 0 Then CI9 = "~" Else
IC9 = Log(SA9 / CA9) / Log(2) CI9 = Round(IC9, 3) End If AC9 = CA9 X.SubItems(10) = Round(AC9, 3) X.SubItems(20) = Round(SA9, 3) X.SubItems(30) = CI9
Dim sCa10, sSa10 If FR10a < rC10a Then sCa10 = rC10c - rC10a sSa10 = rC10c - rC10a
ElseIf FR10a > rC10a And FR10a < rC10b Then sCa10 = rC10c - FR10a
sSa10 = rC10c - rC10a
ElseIf FR10a > rC10b And FR10a < rC10c Then sCa10 = rC10c - FR10a
sSa10 = rC10c - rC10a ElseIf rC10c < FR10a Then sCa10 = 0
sSa10 = 0 End If
CA10 = (sCa10 / 2) * Miu SA10 = sSa10 / 2
If CA10 = 0 Then CI10 = "~" Else
IC10 = Log(SA10 / CA10) / Log(2) CI10 = Round(IC10, 3) End If AC10 = CA10 X.SubItems(11) = Round(AC10, 3) X.SubItems(21) = Round(SA10, 3) X.SubItems(31) = CI10
ICt = IC1 + IC2 + IC3 + IC4 + IC5 + IC6 + IC7 + IC8 + IC9 + IC10 If CI1 = "~" Or CI2 = "~" Or CI3 = "~" Or CI4 = "~" Or CI5 = "~"