楼主,今天是什么时候了?来拿红包吧.http://expert.csdn.net/Expert/TopicView1.asp?id=1402422

解决方案 »

  1.   

    当然是一行一行导入到数据库中,用SUM一一汇总!
      

  2.   

    累加呀~~~~如:if Num=110 then Tel0 = Tel0+1
      

  3.   

    要是特别大量的话,当然要数据库了。vb+API+sql 是经典组合
      

  4.   

    当然是用数据库方便。如果不想用数据库,用下面的方法试试   :)Private Type EnumTelephone
                 CallType As String
                 TelephoneNumber As String
    End TypePrivate Type SumTelephone
                 CallType As String
                 TelephoneNumber As String
                 CallTimes As Long
    End TypePrivate Function CountTelephone(ByRef eTelephone() As EnumTelephone, ByRef sTelephone() As SumTelephone) As Boolean
    Dim i As Long, n As Long
    Dim MixI As Long, MaxI As Long
    Dim FoundRecord As BooleanMixI = LBound(eTelephone)
    MaxI = UBound(eTelephone)Erase sTelephone
    ReDim Preserve sTelephone(0)On Error GoTo ErrHandlesTelephone(0).CallType = eTelephone(MixI).CallType
    sTelephone(0).TelephoneNumber = eTelephone(mix).TelephoneNumber
    sTelephone(0).CallTimes = 1If MixI + 1 <= MaxI Then
       For i = MixI + 1 To MaxI
       FoundRecord = False
          If eTelephone(i).TelephoneNumber <> "" And eTelephone(i).TelephoneNumber <> "" Then
             For n = LBound(sTelephone) To UBound(sTelephone)
                If eTelephone(i).TelephoneNumber = sTelephone(n).TelephoneNumber And _
                   eTelephone(i).CallType = sTelephone(n).CallType Then
                sTelephone(n).CallTimes = sTelephone(n).CallTimes + 1
                FoundRecord = True
                Exit For
                End If
             Next
             If FoundRecord = False Then
             ReDim Preserve sTelephone(UBound(sTelephone) + 1)
             sTelephone(UBound(sTelephone)).TelephoneNumber = eTelephone(i).TelephoneNumber
             sTelephone(UBound(sTelephone)).CallType = eTelephone(i).CallType
             sTelephone(UBound(sTelephone)).CallTimes = 1
             End If
          End If
       Next
    End IfCountTelephone = True
    Exit FunctionErrHandle:
    CountTelephone = False
    End FunctionPrivate Sub Command1_Click()
    Dim eT(18) As EnumTelephone
    Dim sT() As SumTelephone
    Dim i As LongeT(0).CallType = "被叫"
    eT(0).TelephoneNumber = "13089446120"eT(1).CallType = "主叫"
    eT(1).TelephoneNumber = "13089446120"eT(2).CallType = "主叫"
    eT(2).TelephoneNumber = "13089446120"eT(3).CallType = "被叫"
    eT(3).TelephoneNumber = "13089325257"eT(4).CallType = "被叫"
    eT(4).TelephoneNumber = "4336399789"eT(5).CallType = "被叫"
    eT(5).TelephoneNumber = "13089446120"eT(6).CallType = "主叫"
    eT(6).TelephoneNumber = "13089446120"
    If CountTelephone(eT(), sT()) Then
       For i = 0 To UBound(sT)
       Print sT(i).CallType + " ";
       Print sT(i).TelephoneNumber + "次 ";
       Print sT(i).CallTimes
       Next
    End If
    End SubPrivate Sub Form_Load()
    Me.AutoRedraw = True
    End Sub
      

  5.   

    导入数据库。用SQL语句统计。假设表名为DATA,里面有两个字段:CallType,TelephoneNumber
    SQL语句如下:
    select CallType,TelephoneNumber,count(*) as cNO from Data group by CallType,TelephoneNumber