Buongiorno ed un doveroso saluto a tutto il gruppo.
Desideravo chiedere un aiuto da parte vostra per capire come funzionano le Query per visualizzare determinati dati in base ad una mia richiesta.
Vorrei poter gestire gli orari di lavoro con gli altri miei colleghi per capire (tramite calendario ad esempio) in una determinata data, chi ha lavorato, chi ha riposato, chi era in ferie etc..
Chiedere (ad esempio) di visualizzare tutti i sabato che ha lavorato Stefano e quanti in totale
Visualizzare i giorni di ferie che ha fatto Mario nel 2016 e quanti in totale
Ho creato un database access (database.mdb) con la tabella "Utenti" con 3 nomi (Mario, Stefano, Luigi) nella prima colonna ho creato la ID nella seconda la Data e nella terza, quarta e quinta ho dichiarato i nomi.
Sotto ad ogni colonna ho creato il numero progressivo 1, 2, 3, 4 sotto la ID, la data (per prova a partire dal 1/4/2016) e sotto ogni nome ho dichiarato le turnazioni tipo: mattina, pomeriggio, riposo, ferie, malattia...
Ho incollato un pezzo di codice trovato in rete, ma questo purtroppo si limita ad esportare tutti i dati del database e trasferirli in una label.
Option Explicit
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim stringa As String
Private Sub cmdCerca_Click()
stringa = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
stringa = stringa & "C:\turni\database.mdb"
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.Open stringa
rs.Open "SELECT * FROM utenti", cn, 1
If rs.EOF Then
lblDati.Caption = "Nessun dato"
Else
While rs.EOF = False
lblDati.Caption = lblDati.Caption _
& rs("Mario") & " " _
& rs("Stefano") & " " _
& rs("Luigi") & vbCrLf
rs.MoveNext
Wend
End If
Set cn = Nothing
Set rs = Nothing
End Sub
A me interessa invece (ad esempio con la richiesta da calendario del 15 aprile) che nella label "Mattina" ci sia il nome di chi ha lavorato di mattina, nella label "Pomeriggio" ci sia il nome di chi ha lavorato di pomeriggio e via dicendo.. Tramite una ComboBox, selezionare il nome dell'impiegato e visualizzare in una FlexGrid solo i suoi dati presenti nel database. Oppure (filtrando) tramite un evento tasto Option, vedere solo Domenica e riportare il totale delle giornate.
Ovviamente non vi chiedo di scrivere tutto il codice, ci mancherebbe... basta un aiuto guida per capire come poter espandere successivamente il dialogo programma-database in base alle mie richieste. Purtroppo di Query non ci capisco nulla!
Vi ringrazio e mi scuso per il lungo post.
Buona giornata a tutti voi
Stefano