Private Sub Befehl1_Click()
' bestimmen der Variablen
If ((IsNull(Me.PLAYER) And(IsNull(Me.Gruppe))) Or IsNull(Me.Startdatum) Or IsNull(Me.Enddatum))Then
MsgBox "Bitte alle Felderausfüllen!"
Exit Sub
End If
'setzen der global variablen
reportdate = Me.Startdatum.Value
reportdateend = Me.Enddatum.Value
If (Me.PLAYER.Value > "")Then
reportplayer = Me.PLAYER.Value
reportplayerid =Me.PLAYER.Column(0)
reportdid = ""
reportgruppe = ""
Else
reportplayer = ""
reportplayerid = ""
reportdid = ""
reportgruppe = Me.Gruppe.Column(0)
End If
DoCmd.Hourglass (True)
'Berechnen der Statistik-Daten
fillCallPlayerStatistik
DoCmd.Hourglass (False)
'abhängig vom Modus reagieren wirunterschiedlich
If (Me.Modus.Value = "DetailsAccess Report") Then
'Report öffnen
DoCmd.OpenReport "CallPlayer",acViewPreview
ElseIf (Me.Modus.Value = "DetailsExcel") Then
'Excel Export erstellen
makeXLS
ElseIf (Me.Modus.Value = "nurTotale") Then
' DoCmd.OpenQuery"totaleViewPlayer"
makeXLSTotale "totaleViewPlayer",Me.Startdatum, Me.Enddatum
End If
End Sub
Private Sub Form_Current()
DoCmd.Close acReport, "CallPlayer"
End Sub
Private Sub fillCallPlayerStatistik()
Dim sqlQuery As String
' Open connection
Dim Cnxn As ADODB.Connection
Set Cnxn = New ADODB.Connection
'Cnxn.Open"Provider=SQLOLEDB;Server=" & ServerIP &";Database=" & databaseName & ";UID=" &UID & ";Pwd=" & pwd
Cnxn.Open"Provider=SQLOLEDB;Server=" & ServerIP & ";UID="& UID & ";Pwd=" & pwd &";ConnectTimeout=300"
'Bestehende Datensätze aus dertemp- Tabelle löschen
Dim db, dbint As ADODB.Recordset
Set db = New ADODB.Recordset
Set dbint = New ADODB.Recordset
db.Open "DELETE FROMtmp_playlist", CurrentProject.Connection, adOpenDynamic,adLockOptimistic
'Einfügen Daten
sqlQuery = "SELECT abandon,LEFT(CallLocalTimeString,8) AS Calldate, RIGHT(CallLocalTimeString,6)AS CallTime, FirstPlayer AS ID_TV, DNIS AS DID, REPLACE(ANI,'@audiocodes.com','') AS ANI, ConvDuration AS ConvTime,WrapUpDuration AS WrapupTime, WaitDuration AS Waittime,RerouteDuration AS ExternalTime FROM HN_Ondata.dbo.ODCalls "
'#" & Jahr & "-"& i & "-1#
'str_datum = "#" &Right(Me.Startdatum.Value, 4) & "/" &Mid(Me.Startdatum.Value, 3, 2) & "/" &Mid(Me.Startdatum.Value, 1, 2) & "#"
str_datum =Right(Me.Startdatum.Value, 4) & Mid(Me.Startdatum.Value, 3, 2) &Mid(Me.Startdatum.Value, 1, 2)
If (IsNull(Me.Enddatum)) Then
end_datum = str_datum
Else
end_datum =Right(Me.Enddatum.Value, 4) & Mid(Me.Enddatum.Value, 3, 2) &Mid(Me.Enddatum.Value, 1, 2)
End If
If (Me.PLAYER.Value > "")Then
sqlQuery = sqlQuery &"WHERE INDICE>0 AND FirstPlayer='" & Me.PLAYER.Value& "' AND Left(CallLocalTimeString,8) >= '" &str_datum & "' AND Left(CallLocalTimeString,8) <= '"& end_datum & "'"
ElseIf (Me.Gruppe.Value > "")Then
sqlQuery = sqlQuery &"WHERE INDICE>0 AND Left(CallLocalTimeString,8) >= '"& str_datum & "' AND Left(CallLocalTimeString,8) <='" & end_datum & "' "
sqlQuery = sqlQuery & "ANDFirstplayer IN (SELECT PlayerId FROM HN_Admin.dbo.vwSupervisionPlayerWHERE SuperviseGroupId = " & Me.Gruppe.Value & ")"
End If
If (Me.DID.ItemsSelected.Count >0) Then
inlist = "("
For i = 0 ToMe.DID.ItemsSelected.Count - 1
If (i = 0) Then
inlist = inlist &"'" & Me.DID.ItemData(Me.DID.ItemsSelected.Item(i)) &"'"
Else
inlist = inlist &", '" & Me.DID.ItemData(Me.DID.ItemsSelected.Item(i)) &"'"
End If
Next
inlist = inlist & ")"
sqlQuery = sqlQuery & "AND DNIS IN " & inlist
End If
dbint.Open sqlQuery, Cnxn,adOpenDynamic, adLockReadOnly
Do Until dbint.EOF
sqlQuery = "INSERT INTOtmp_playlist (abandon, Calldate, Calltime, ID_TV, DID, ANI, ConvTime,Waittime, ExternalTime, WrapupTime) VALUES "
sqlQuery = sqlQuery & "("& dbint![Abandon] & ", '" & dbint![Calldate] &"','" & dbint![Calltime] & "'," &dbint![ID_TV] & ",'" & dbint![DID] & "','"& dbint![ANI] & "'"
sqlQuery = sqlQuery & ","& dbint![ConvTime] & "," & dbint![WaitTime] &"," & dbint![ExternalTime] & "," &dbint![WrapUpTime] & " );"
'MsgBox sqlQuery
db.Open sqlQuery,CurrentProject.Connection, adOpenDynamic, adLockOptimistic
dbint.MoveNext
Loop
' clean up
dbint.Close
Cnxn.Close
Set Cnxn = Nothing
End Sub
Private Sub Gruppe_Change()
If (Me.Gruppe.Value > 0) Then
Me.PLAYER.Value = ""
End If
End Sub
Private Sub Player_Change()
If (Me.PLAYER.Value > 0) Then
Me.Gruppe.Value = ""
End If
End Sub