Close
Duke shfaqur rezultatin -19 deri 0 prej 10
  1. #1
    i/e regjistruar
    Anėtarėsuar
    08-05-2008
    Vendndodhja
    Middle East
    Postime
    245

    Access - ndihme ne krijimin e nje funksioni

    Pershendetje Forumisat,

    shpresoj qe jeni duke ja kaluar si eshte me se miri, dhe ju uroj festen e neserme te 28 Netorit.

    Kame nevoj per nje keshill/ndihme ne krijimin e nje funksioni.

    po e bashkangjes shembullin ketu, e ndoshta e keni me te qart se cka po kerkoj.

    Kam dy tabela ne Access(tblPuntoret, tblPushimet), dhe nje form ku regjistrohet pushimet, dhe butoni "Save" qe ruan te dhenat ne baze.
    Detyra:
    Politika e kompanis eshte qe ne asnje menyr te mos mbes nen 80% te puntorve qe jane ne pushim, me fjale te tjera vetem 20% te puntorve munde te jene ne pushim.
    Si ka mundesi qe ne butonin "Save" te futet nje ngjarje qe kontrollon kete, dhe pastaj te ipet mesazhi per Approvim te pushimit apo JO per datat e caktuara.

    Shembulli:
    Skedarėt e Bashkėngjitur Skedarėt e Bashkėngjitur

  2. #2
    i/e regjistruar
    Anėtarėsuar
    26-04-2007
    Postime
    89

    Ndihma nga Vellau Kosovar

    Citim Postuar mė parė nga little-boy Lexo Postimin
    Pershendetje Forumisat,

    shpresoj qe jeni duke ja kaluar si eshte me se miri, dhe ju uroj festen e neserme te 28 Netorit.

    Kame nevoj per nje keshill/ndihme ne krijimin e nje funksioni.

    po e bashkangjes shembullin ketu, e ndoshta e keni me te qart se cka po kerkoj.

    Kam dy tabela ne Access(tblPuntoret, tblPushimet), dhe nje form ku regjistrohet pushimet, dhe butoni "Save" qe ruan te dhenat ne baze.
    Detyra:
    Politika e kompanis eshte qe ne asnje menyr te mos mbes nen 80% te puntorve qe jane ne pushim, me fjale te tjera vetem 20% te puntorve munde te jene ne pushim.
    Si ka mundesi qe ne butonin "Save" te futet nje ngjarje qe kontrollon kete, dhe pastaj te ipet mesazhi per Approvim te pushimit apo JO per datat e caktuara.

    Shembulli:
    Pershendetje ju duhet te krijoni nje buton per testim te numrit te punetoreve qe jane aktual ne kompani dhe atyre qe jane ne pushim dhe e ke nje kod funksional qe kryen numerimin epunetoreve nga tabela per me shume ndihme info.blerim@gmail.com

    Dim NrPunetoreve, NrPuntoreveNePushim As Double

    NrPunetoreve = DCount("[ID]", "tblPuntoret")

    NrPuntoreveNePushim = DCount("[ID]", "TblPushimet")

    MsgBox ("Nr punetoreve jane " & NrPunetoreve & " Numri i punetoreve ne pushim jane " & NrPuntoreveNePushim)

    If NrPuntoreveNePushim >= (NrPunetoreve / 2) Then
    MsgBox ("Nuk ka pushim pa u kthy njeri prej pushimi")
    Else
    MsgBox ("Pushimi eshte aprovuar")
    End If

  3. #3
    i/e regjistruar Maska e hot_prinz
    Anėtarėsuar
    29-05-2007
    Vendndodhja
    Frankfurt
    Postime
    9,878
    Menagjimet e pushimeve do te keshilloja te ndertosh nje tabele ne databaze si nje lloj matriksi, ne rresht("row") punetoret e ne kolone("column") ditet e kalendarit, per te mos shtuar qindra kolona manualisht per cdo dite kalendarike shtimi i kolonave do te duhet te kryhet ne menyre dinamike me kod, psh, 3 muaj para se te kalojme ne vitin tjeter tabeles do ti shtohen kolonat e vitit te ardheshem apo nje viti me pas, varet se cfare kohezgjatje ne te ardhmen deshiron te mundesosh te menagjohen pushimet.

    | 01.01.2011 | 02.01.2011 | 01.01.2011 | 02.01.2011 |...
    --------------------------------------------------------------------------------------------------------------------
    BrusLia | X | X | X | |
    --------------------------------------------------------------------------------------------------------------------
    Hajria | | | X | X |
    --------------------------------------------------------------------------------------------------------------------
    Kadria | | | | |
    --------------------------------------------------------------------------------------------------------------------
    Policia | X | X | X | X |
    --------------------------------------------------------------------------------------------------------------------

    Per perdoruesit, do te duhej nje forme me permbajtje te njejte matriksi si tabela e databazes.

    Perdoruesit shtypin kutine("cell") per diten/ditet qe deshirojne pushim dhe per ate dite kontrollohet kolona e dites ne matriks nese shuma e "X"ve tejkalon perqindjen e lejuar te punetoreve ne pushim mund te hudhet nje informacion se pushimi per kete dite nuk eshte i mundur, ne te kudnerten kutia e klikuar mund te aprovohet si pushim dhe te ruhet ne databaze. Nese perdoruesi ndrron mendjen per ate dite mund ti shtohet qe me nje kliki te dyfishte ("doubleclick") te largohet pushimi nga kutia.

    Per te llogarite %:

    [% e punetoreve ne pushime] = [shuma e X-ve] * 100 / [numri total i punetoreve]

    Mundesi tjeter optimale do te ishte edhe vendosja e informacioneve me fjalekalim per perdoruesit qe ata te kene mundesine ne baze te lajmerimit ne databaze te kene mundesine te nderrojne vetem rreshtin me pushimin e tyre. Ne kete menyre nuk to te mund te behen abuzime ne menagjimin e pushimeve.

    Pastaj pasi qe te gjithe punetoret nuk kryejne funksionet e njejta, ndoshta do te duhej edhe krijimi i grupeve te punetoreve per funksione te ndryshme, qe te mos mbesin vetem 80% e pastruesve e asnje mbikqyres

  4. #4
    i/e regjistruar
    Anėtarėsuar
    08-05-2008
    Vendndodhja
    Middle East
    Postime
    245
    Citim Postuar mė parė nga hot_prinz Lexo Postimin
    Menagjimet e pushimeve do te keshilloja te ndertosh nje tabele ne databaze si nje lloj matriksi, ne rresht("row") punetoret e ne kolone("column") ditet e kalendarit, per te mos shtuar qindra kolona manualisht per cdo dite kalendarike shtimi i kolonave do te duhet te kryhet ne menyre dinamike me kod, psh, 3 muaj para se te kalojme ne vitin tjeter tabeles do ti shtohen kolonat e vitit te ardheshem apo nje viti me pas, varet se cfare kohezgjatje ne te ardhmen deshiron te mundesosh te menagjohen pushimet.

    | 01.01.2011 | 02.01.2011 | 01.01.2011 | 02.01.2011 |...
    --------------------------------------------------------------------------------------------------------------------
    BrusLia | X | X | X | |
    --------------------------------------------------------------------------------------------------------------------
    Hajria | | | X | X |
    --------------------------------------------------------------------------------------------------------------------
    Kadria | | | | |
    --------------------------------------------------------------------------------------------------------------------
    Policia | X | X | X | X |
    --------------------------------------------------------------------------------------------------------------------

    Per perdoruesit, do te duhej nje forme me permbajtje te njejte matriksi si tabela e databazes.

    Perdoruesit shtypin kutine("cell") per diten/ditet qe deshirojne pushim dhe per ate dite kontrollohet kolona e dites ne matriks nese shuma e "X"ve tejkalon perqindjen e lejuar te punetoreve ne pushim mund te hudhet nje informacion se pushimi per kete dite nuk eshte i mundur, ne te kudnerten kutia e klikuar mund te aprovohet si pushim dhe te ruhet ne databaze. Nese perdoruesi ndrron mendjen per ate dite mund ti shtohet qe me nje kliki te dyfishte ("doubleclick") te largohet pushimi nga kutia.

    Per te llogarite %:

    [% e punetoreve ne pushime] = [shuma e X-ve] * 100 / [numri total i punetoreve]

    Mundesi tjeter optimale do te ishte edhe vendosja e informacioneve me fjalekalim per perdoruesit qe ata te kene mundesine ne baze te lajmerimit ne databaze te kene mundesine te nderrojne vetem rreshtin me pushimin e tyre. Ne kete menyre nuk to te mund te behen abuzime ne menagjimin e pushimeve.

    Pastaj pasi qe te gjithe punetoret nuk kryejne funksionet e njejta, ndoshta do te duhej edhe krijimi i grupeve te punetoreve per funksione te ndryshme, qe te mos mbesin vetem 80% e pastruesve e asnje mbikqyres
    Hot_Prinz,
    Pikertisht kete ide qe e ke cekur e kam ndurtuar ne Excel edhe me me ka sherbyer shume mire, mirpo ne access po kam probleme me implemetu

    faleminderit edhe nje here qe gjithmon gjene kohen per ndihme.

  5. #5
    i/e regjistruar Maska e hot_prinz
    Anėtarėsuar
    29-05-2007
    Vendndodhja
    Frankfurt
    Postime
    9,878
    Little_boy,

    zakonisht te gjithe perdorin Excel, por pasi qe pate deshire, ti kam implementu pushimet ne nje frontend qe perdor databazen e access-it:

    - Ditet e kalendarit hyjne ne pushime automatikisht, kur programi hapet verifikon nese nga dita aktuale eshte i futur nje vit kalendarik ne te ardhmen (365 dite),
    - Dita e shtunde dhe e diele klasifikohen si dite te lira me ngjyre hiri dhe nuk ka nevoje te mirren dite pushimi,
    - Me nje DoubleClick ne Kuti te DataGridView kontrollohen % e punetoreve ne pushim plus personi qe klikon kutine, me doubleklick mund te futet nje dite pushimi ose te largohet nje dite pushimi nese ishte e ruajtur si dite pushimi me pare,
    - Kalendari fokusohet ashtu qe dita aktuale gjindet ne mesin e datagridview dhe dita aktuale ka ngjyre te gjelbert,

    Per program te nevojitet .NET 3.5

    C#:
    Kodi:
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.OleDb;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace Pushimet
    {
        public partial class Form1 : Form
        {
            int currDataRow = 0;
            int currDataCol = 0;
            int nrPuntorve = 0;
            int perqPushim = 20;
    
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                kontrollo_per_daten();
                trego_data_grid();
            }
    
            private void trego_data_grid()
            {
                ArrayList aPunetoret = new ArrayList();
                ArrayList aDatat = new ArrayList();
                merri_emrat_punetoreve(aPunetoret, aDatat);
            }
    
            private void merri_emrat_punetoreve(ArrayList aPunetoret, ArrayList aDatat)
            {
                OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Pushimet.mdb");
                con.Open();
    
                DataSet dbDataSet = new DataSet();
                string strSQL = "SELECT * FROM Pushimet";
                OleDbCommand cmd = new OleDbCommand(strSQL, con);
                OleDbDataAdapter dbDataAdapter = new OleDbDataAdapter(cmd);
                dbDataAdapter.Fill(dbDataSet, "Pushimet");
    
                DataTable dataTable = new DataTable();
                DataColumnCollection drc = dbDataSet.Tables["Pushimet"].Columns;
                int i = 0;
    
                foreach (DataColumn dc in drc)
                {
                    if (dc.ColumnName != "ID")
                    {
                        dataTable.Columns.Add(dc.ColumnName, typeof(string));
                        i++;
                    }
                }
    
                nrPuntorve = i-1;
                DataRowCollection dra = dbDataSet.Tables["Pushimet"].Rows;
    
                foreach (DataRow dr in dra)
                {
                    ArrayList atmp = new ArrayList();
                    for (int j = 0; j < i; j++)
                    {
                        if (dr[j + 1] != DBNull.Value)
                        {
                            atmp.Add(dr[j + 1]);
                        }
                        else
                        {
                            atmp.Add("");
                        }
                    }
    
                    DateTime dataT = Convert.ToDateTime(atmp[0]);
    
                    String dita = replace_dita(dataT.DayOfWeek.ToString());
    
                    switch (i)
                    {
                        case 1: dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita }); break;
                        case 2:dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1] });break;
                        case 3:dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2] });break;
                        case 4:dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2], atmp[3] });break;
                        case 5:dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2], atmp[3], atmp[4] });break;
                        case 6: dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2], atmp[3], atmp[4], atmp[5] }); break;
                        case 7: dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2], atmp[3], atmp[4], atmp[5], atmp[6] }); break;
                        case 8: dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2], atmp[3], atmp[4], atmp[5], atmp[6], atmp[7] }); break;
                        case 9: dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2], atmp[3], atmp[4], atmp[5], atmp[6], atmp[7], atmp[8] }); break;
                        case 10: dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2], atmp[3], atmp[4], atmp[5], atmp[6], atmp[7], atmp[8], atmp[9] }); break;
                        case 11: dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2], atmp[3], atmp[4], atmp[5], atmp[6], atmp[7], atmp[8], atmp[9], atmp[10] }); break;
                        case 12: dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2], atmp[3], atmp[4], atmp[5], atmp[6], atmp[7], atmp[8], atmp[9], atmp[10], atmp[11] }); break;
                        case 13: dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2], atmp[3], atmp[4], atmp[5], atmp[6], atmp[7], atmp[8], atmp[9], atmp[10], atmp[11], atmp[12] }); break;
                        case 14: dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2], atmp[3], atmp[4], atmp[5], atmp[6], atmp[7], atmp[8], atmp[9], atmp[10], atmp[11], atmp[12], atmp[13] }); break;
                        case 15: dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2], atmp[3], atmp[4], atmp[5], atmp[6], atmp[7], atmp[8], atmp[9], atmp[10], atmp[11], atmp[12], atmp[13], atmp[14] }); break;
                        case 16: dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2], atmp[3], atmp[4], atmp[5], atmp[6], atmp[7], atmp[8], atmp[9], atmp[10], atmp[11], atmp[12], atmp[13], atmp[14], atmp[15] }); break;
                        case 17: dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2], atmp[3], atmp[4], atmp[5], atmp[6], atmp[7], atmp[8], atmp[9], atmp[10], atmp[11], atmp[12], atmp[13], atmp[14], atmp[15], atmp[16] }); break;
                        case 18: dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2], atmp[3], atmp[4], atmp[5], atmp[6], atmp[7], atmp[8], atmp[9], atmp[10], atmp[11], atmp[12], atmp[13], atmp[14], atmp[15], atmp[16], atmp[17] }); break;
                        case 19: dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2], atmp[3], atmp[4], atmp[5], atmp[6], atmp[7], atmp[8], atmp[9], atmp[10], atmp[11], atmp[12], atmp[13], atmp[14], atmp[15], atmp[16], atmp[17], atmp[18] }); break;
                        case 20: dataTable.Rows.Add(new object[] { String.Format("{0:dd.MM.yyyy}", dataT) + " - " + dita, atmp[1], atmp[2], atmp[3], atmp[4], atmp[5], atmp[6], atmp[7], atmp[8], atmp[9], atmp[10], atmp[11], atmp[12], atmp[13], atmp[14], atmp[15], atmp[16], atmp[17], atmp[18], atmp[19] }); break;
                        default: MessageBox.Show("Nuk bon me fut ma shum se 19 punetore!"); Application.Exit(); break;
                    }
                }
    
                dgwPushimet.DataSource = dataTable;
    
                foreach (DataGridViewColumn column in dgwPushimet.Columns)
                {
                    column.SortMode = DataGridViewColumnSortMode.NotSortable;
                }
    
                dgwPushimet.Columns[0].Frozen = true;
                dgwPushimet.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
    
                dgwPushimet.CurrentCell = dgwPushimet[currDataCol, currDataRow + 12];
                dgwPushimet.CurrentCell.Selected = false;
                dgwPushimet[currDataCol, currDataRow].Style.BackColor = Color.Green;
    
                con.Close();
            }
    
            private string replace_dita(string d)
            {
                String dT = "";
                switch (d)
                {
                    case "Monday":dT = "E hene";break;
                    case "Tuesday":dT = "E marte";break;
                    case "Wednesday":dT = "E merkure";break;
                    case "Thursday":dT = "E enjte";break;
                    case "Friday":dT = "E premte";break;
                    case "Saturday":dT = "E shtunde";break;
                    case "Sunday": dT = "E diel";break;
                }
                return dT;
            }
    
            private string data_fundit_ne_db()
            {
                OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Pushimet.mdb");
                con.Open();
    
                string strSQL = "SELECT * FROM Pushimet";
    
                OleDbCommand cmd = new OleDbCommand(strSQL, con);
                OleDbDataReader dr = cmd.ExecuteReader();
                String s = "";
    
                while (dr.Read())
                {
                    if (dr["Data"] != DBNull.Value)
                        s = dr["Data"].ToString();
                }
    
                con.Close();
    
                return s;
            }
    
            private void futi_datat_ne_db(DateTime dDataFundit, int dFillimi, int dFundi)
            {
                OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Pushimet.mdb");
                con.Open();
    
                for (int x = dFillimi; x < dFundi; x++)
                {
                    DateTime d = dDataFundit.AddDays(x);
                    String sDita = d.Day.ToString();
                    if (sDita.Length == 1)
                        sDita = "0" + sDita;
                    String sMuaji = d.Month.ToString();
                    if (sMuaji.Length == 1)
                        sMuaji = "0" + sMuaji;
                    OleDbCommand cmd = new OleDbCommand("INSERT INTO Pushimet (Data) VALUES ('" + sDita + "." + sMuaji + "." + d.Year.ToString() + "')", con);
                    cmd.ExecuteNonQuery();
                }
                con.Close();
            }
    
            private void kontrollo_per_daten()
            {
                String sDataFundit = data_fundit_ne_db();
                DateTime dDataFundit;
                DateTime dDataFillimit = DateTime.Now;
    
                if (sDataFundit != "")
                {
                    dDataFundit = Convert.ToDateTime(sDataFundit.Replace('_', '.'));
                    TimeSpan tS = dDataFundit - dDataFillimit;
    
                    if (tS.Days < 366)
                        futi_datat_ne_db(dDataFundit, 1, 366 - tS.Days);
                }
                else
                {
                    dDataFundit = DateTime.Now;
                    futi_datat_ne_db(dDataFundit, -50, 366);
                }
            }
    
            private void dgwPushimet_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
            {
    
                if (e.RowIndex >= 0 && e.ColumnIndex >= 1)
                {
                    int colIndex = e.ColumnIndex;
                    int rowIndex = e.RowIndex;
    
                    if (!dgwPushimet.Rows[rowIndex].Cells[0].Value.ToString().Contains("E diel")) 
                    {
                        if (!dgwPushimet.Rows[rowIndex].Cells[0].Value.ToString().Contains("E shtunde"))
                        {
                            int nrPuntPushime = 0;
                            for (int i = 1; i < (nrPuntorve + 1); i++)
                            {
                                if (dgwPushimet.Rows[rowIndex].Cells[i].Value.ToString() == "X")
                                {
                                    nrPuntPushime++;
                                }
                            }
                            nrPuntPushime++;
    
                            int perqPunetoreve = (nrPuntPushime * 100) / nrPuntorve;
    
                            if (dgwPushimet.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == "X")
                            {
                                String sMessagge = "Kete dite ke pushim!\n\nme respekt,\nDrejtor Komandant Gjenerall Hajredin Praqka!\n\nA po don me e fshi pushimin?";
                                DialogResult result = MessageBox.Show(this, sMessagge, "", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
    
                                if (result.Equals(DialogResult.Yes))
                                {
                                    dgwPushimet.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "";
                                    heke_pushimin_nga_db(dgwPushimet.Rows[e.RowIndex].Cells[0].Value.ToString(), dgwPushimet.Columns[e.ColumnIndex].Name);
                                    dgwPushimet.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = false;
                                }
                                else if (result.Equals(DialogResult.No))
                                {
                                    MessageBox.Show("Ani qa leshin pom prek!\n\nme respekt,\nDrejtor Komandant Gjenerall Hajredin Praqka!\n\nHajt tash shko puno naj sen te hajrit!", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                }
                            }
                            else if (perqPunetoreve > perqPushim)
                            {
                                MessageBox.Show("E padiskutueshme dhe nuk bon me marr pushim!\n\nSepse me ty " + perqPunetoreve + "% e punetoreve do te ishin ne pushime!\nNuk lejohen me shume se " + perqPushim + "% e punetoreve ne pushime!\n\nme respekt,\nDrejtor Komandant Gjenerall Hajredin Praqka!", "", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                            }
                            else
                            {
                                String sMessagge = "Bon me marre pushim!\n\nme respekt,\nDrejtor Komandant Gjenerall Hajredin Praqka!\n\nA po don me marre pushim?";
                                DialogResult result = MessageBox.Show(this, sMessagge, "", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
    
                                if (result.Equals(DialogResult.Yes))
                                {
                                    dgwPushimet.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "X";
                                    fute_pushimin_ne_db(dgwPushimet.Rows[e.RowIndex].Cells[0].Value.ToString(), dgwPushimet.Columns[e.ColumnIndex].Name);
                                    dgwPushimet.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = false;
                                }
                                else if (result.Equals(DialogResult.No))
                                {
                                    MessageBox.Show("Ani qa leshin pom prek!\n\nme respekt,\nDrejtor Komandant Gjenerall Hajredin Praqka!\n\nHajt tash shko puno naj sen te hajrit!", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                }
                            }
                        }
                        else
                        {
                            MessageBox.Show("Ski nevoj me marre pushim se \"E shtundja\" nuk eshte dite pune!\n\nme respekt,\nDrejtor Komandant Gjenerall Hajredin Praqka!", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Ski nevoj me marre pushim se \"E diela\" nuk eshte dite e punes!\n\nme respekt,\nDrejtor Komandant Gjenerall Hajredin Praqka!", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
    
            private void fute_pushimin_ne_db(string sKolona, string sRreshti)
            {
                OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Pushimet.mdb");
                con.Open();
    
                String[] sT = sKolona.Split(' ');
    
                OleDbCommand cmd = new OleDbCommand("UPDATE Pushimet SET " + sRreshti + "='X' WHERE Data='" + sT[0] + "'", con);
                cmd.ExecuteNonQuery();
                con.Close();
            }
    
            private void heke_pushimin_nga_db(string sKolona, string sRreshti)
            {
                OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Pushimet.mdb");
                con.Open();
    
                String[] sT = sKolona.Split(' ');
    
                OleDbCommand cmd = new OleDbCommand("UPDATE Pushimet SET " + sRreshti + "='' WHERE Data='" + sT[0] + "'", con);
                cmd.ExecuteNonQuery();
                con.Close();
            }
    
            private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
            {
                DateTime t = DateTime.Now;
                String sD = String.Format(t.Day.ToString() + "." + t.Month.ToString() + "." + t.Year.ToString());
    
                if (dgwPushimet.Columns[e.ColumnIndex].Name == "Data" && e.Value.ToString().Contains("E diel") == true
                    || dgwPushimet.Columns[e.ColumnIndex].Name == "Data" && e.Value.ToString().Contains("E shtunde") == true)
                {
                    dgwPushimet.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.LightGray;
                }
                else if ((dgwPushimet.Columns[e.ColumnIndex].Name != "Data") && e.Value.ToString().Contains("X") == true)
                    e.CellStyle.BackColor = Color.Tomato;
    
                if (dgwPushimet.Columns[e.ColumnIndex].Name == "Data" && e.Value.ToString().Contains(sD) == true)
                {
                    currDataCol = e.ColumnIndex;
                    currDataRow = e.RowIndex;
                }
            }
    
            void dgwPushimet_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
            {
                dgwPushimet.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
            }
        }
    }
    Fotografitė e Bashkėngjitura Fotografitė e Bashkėngjitura  
    Skedarėt e Bashkėngjitur Skedarėt e Bashkėngjitur

  6. #6
    i/e regjistruar
    Anėtarėsuar
    08-05-2008
    Vendndodhja
    Middle East
    Postime
    245
    Hot_Prinz,
    Faleminderit shume per mundin, pothuajse eshte kjo ajo qe po kerkoj veqse kam nevoj edhe per pak ndihme. puntoren munden me marr pushim per rresht 20 dite duke perfshir te shtune edhe te dielen (e shtunja edhe e diellja eshte dite pune ketu), pra a ka ndonje mundesi qe te caktohet data e fillimit edhe e mbarimit edhe X-at te futen ne baze per at interval. (psh 12/Dhjetor/2010-2/Jan/2010)...

    FALEMINDERIT

  7. #7
    i/e regjistruar Maska e hot_prinz
    Anėtarėsuar
    29-05-2007
    Vendndodhja
    Frankfurt
    Postime
    9,878
    little boy,


    e ndryshova,

    - tani e shtundja dhe e diela jane ngjyre hiri vetem qe te dallohen si dite vikendi, por llogariten si dite pune (se ju shume te vyeshem ,
    - zgjedhjen e intervalit te pushimit me diten e pare dhe diten e fundit te pushimeve,
    - para se te futet intervali i pushimit kontrollohet nese pushimi mund te lidhet me pushim te mehershem ose me pushim ne te ardhmen nese tentohet te krijohet nje bllok me me shume se rresht 20 dite te nje pas njeshme pushimi,
    - nese ne intervalin e zgjedhur ekzistojne dite qe nuk lejohen per shkak te tejkalimit te 20% te punetoreve ne pushim, ekziston nje mundesi qe te mirret pushimi vetem per ditet e lejuara sipas %,
    - pas kontrolle ditet e lejuara formatohen me ngjyre te gjelber dhe pritet nje konfirmim per ruajtje,
    - me nje klik ne kuti te matrix-it, aktualizohet, emri ne kombobox, si dhe datat ne daten e fillimit dhe daten e fundit, per perdorim me userfriendly.
    Fotografitė e Bashkėngjitura Fotografitė e Bashkėngjitura  
    Skedarėt e Bashkėngjitur Skedarėt e Bashkėngjitur

  8. #8
    i/e regjistruar
    Anėtarėsuar
    08-05-2008
    Vendndodhja
    Middle East
    Postime
    245
    Hot_prinz,
    pikerisht kete po e kerkoja, tani do mundohem ta implemetoj ne MS Access 2003 pasi ne kete e kerkon menagjmenti.

    Faleminderit shume per mundin e kohen.
    me respekt

  9. #9
    i/e regjistruar
    Anėtarėsuar
    08-05-2008
    Vendndodhja
    Middle East
    Postime
    245
    Hot_prinz
    a mundesh te lutem me ma dergu projectin se nuk po mundem ta shoh kodin.

    Falemiderit shume!

  10. #10
    i/e regjistruar Maska e hot_prinz
    Anėtarėsuar
    29-05-2007
    Vendndodhja
    Frankfurt
    Postime
    9,878
    Pershendetje Little_boy,


    ta dergova me heret projektin ne adresen e emailit (sepse forumi nuk lejon skedare me me shume se 100 kb) por tani e pashe qe emaili nuk te paska ardhur me sukses sepse adresa e emailit nuk ekzistojka me, tani e ngarkova ne rapidshare:

    http://rapidshare.com/files/438339413/Pushimet.zip

Regullat e Postimit

  • Ju nuk mund tė hapni tema tė reja.
  • Ju nuk mund tė postoni nė tema.
  • Ju nuk mund tė bashkėngjitni skedarė.
  • Ju nuk mund tė ndryshoni postimet tuaja.
  •