Kodi:
Option Compare Database
Private Sub cmdStat_Click()
'deklarojme variablen e Databazes
Dim databaza As DAO.Database
'deklarojme variablen e rekordsetit
Dim rekordseti As DAO.Recordset
'deklarojme nje variabel string qe mban komande SQL
Dim komandaSQL As String
'inicializo variablen e databazes
Set databaza = CurrentDb
'variabla me emrin e tabeles ku gjinden te dhenat p.sh. tblTransactions
tblTabela = "Tabela"
'variabla me emrin e tabeles se statistikes qe do te krijohet
tblEmri = "Statistika"
'emri i kolones ne tabelen tblTransactions qe mban IssueTickets
strIssueTicket = "IssueTicket"
'emri i kolones ne tabelen tblTransactions qe mban Daten
strData = "Data"
'emri i kolones ne tabelen tblTransactions qe mban Ln
strLn = "Ln"
'procedura per fshirjen e tabeles se statistikes, nese ajo ekziston
fshij_tabelen databaza, tblEmri
'procedura per krijimin e tabeles se statistikes
krijo_tabelen databaza, tblEmri, strIssueTicket, strData, strLn
'inicializojme komanden SQL ne nje string variabel
komandaSQL = "SELECT * FROM " & tblTabela & ""
'permes komandes SQL lexojme te gjitha rekordet e tabeles
Set rekordseti = databaza.OpenRecordset(komandaSQL)
'duke i iteruar te gjithe rekordsetet ne tabele
Do While Not rekordseti.EOF
'per secilin rresht vazhdojme me kete procedure
krijo_statistiken rekordseti.Fields("IssueTicket"), rekordseti.Fields("Data"), _
rekordseti.Fields("Ln"), databaza, tblEmri, strIssueTicket, strData, strLn
'kalo tek rreshti tjeter
rekordseti.MoveNext
Loop
'perfundo rekordsetin
rekordseti.Close
'fshij variablat nga memorja
Set rekordseti = Nothing
Set databaza = Nothing
'shfaqe tabelen e statistikes
DoCmd.OpenTable tblEmri, acViewNormal, acEdit
End Sub
Private Sub krijo_statistiken(a As Integer, b As String, c As Integer, _
databaza, tblEmri, strIssueTicket, strData, strLn)
'deklarojme rekordsetin
Dim rekordseti As DAO.Recordset
'deklarojme variabel per SQL komande
Dim komandaSQL As String
'deklarojme variablen boolean qe do mban statusin e dates
Dim gjindet As Boolean
'inicializojme gjindet me false
gjindet = False
'deklarojme 3 variabla qe do mbajne vlerat e fushave
Dim tA, tB, tC
'inicializojme databazen
Set databaza = CurrentDb
'inicializojme komanden SQL ne nje string variabel
komandaSQL = "SELECT * FROM " & tblEmri & ""
'permes komandes SQL lexojme te gjitha rekordet e tabeles
Set rekordseti = databaza.OpenRecordset(komandaSQL)
'shiqojme se a ekziston nje rresht me daten aktuale ne tabelen e statistikes
Do While Not rekordseti.EOF
If rekordseti.Fields("Data") = b Then
'nese ekziston ruajme statusin dhe vlerat e fushave
gjindet = True
tA = rekordseti.Fields("IssueTicket")
tC = rekordseti.Fields("Ln")
Else
gjindet = False
End If
rekordseti.MoveNext
Loop
'ne baze te statusit
If gjindet = False Then
'nese vlera e dates aktuale nuk gjindet ne nje rresht te tabeles se statistikes krijo nje rresht te ri
fute_ne_databaze a, b, c, databaza, tblEmri, strIssueTicket, strData, strLn
Else
'nese vlera e dates aktuale gjindet ne nje rresht te tabeles se statistikes aktualizo rrezhtin
bej_update_databazes a, b, c, databaza, tblEmri, tA, tC, strIssueTicket, strData, strLn
End If
End Sub
Private Sub fute_ne_databaze(a As Integer, b As String, c As Integer, _
databaza, tblEmri, strIssueTicket, strData, strLn)
Dim rekordseti As DAO.Recordset
Set databaza = CurrentDb
Set rekordseti = databaza.OpenRecordset(tblEmri)
With rekordseti
.AddNew
!IssueTicket = 1
!Data = b
!Ln = c
.Update
.Bookmark = .LastModified
End With
End Sub
Private Sub bej_update_databazes(a As Integer, b As String, c As Integer, databaza, d, _
ByVal tA As Integer, ByVal tC As Integer, strIssueTicket, strData, strLn)
Dim komandaSQL As String
Set databaza = CurrentDb
komandaSQL = "UPDATE " & d & _
" SET " & strIssueTicket & "='" & tA + 1 & "'" & _
"," & strLn & "='" & tC + c & "'" & _
" WHERE " & strData & "='" & b & "'"
databaza.Execute (komandaSQL)
End Sub
Public Sub krijo_tabelen(ByRef databaza, tblEmri, a, b, c)
'inicializojme nje tabele te re te statistikes
Set tabela = databaza.CreateTableDef(tblEmri)
With tabela
'inicializojme kolonen e pare
Set Feld1 = .CreateField(a, dbInteger)
'inicializojme kolonen e dyte
Set Feld2 = .CreateField(b, dbText, 20)
'inicializojme kolonen e trete
Set Feld3 = .CreateField(c, dbInteger)
'tabeles i bashkangjitet kolona e pare
.Fields.Append Feld1
'tabeles i bashkangjitet kolona e dyte
.Fields.Append Feld2
'tabeles i bashkangjitet kolona e trete
.Fields.Append Feld3
End With
'databazes i bashkangjitet tabela e re
databaza.TableDefs.Append tabela
End Sub
Public Sub fshij_tabelen(ByRef databaza, tblEmri)
'deklarojme variblen iteruese
Dim i
'iterojme te gjitha tabelat ekzistuese ne databaze
For i = 0 To databaza.TableDefs.Count - 1
'nese tabela aktuale ka emrin e njejte me tabelen e statistikes
If databaza.TableDefs(i).Name = tblEmri Then
'fshije kete tabele
databaza.TableDefs.Delete tblEmri
'perfundo proceduren
Exit Sub
End If
Next i
End Sub
Krijoni Kontakt