• 08-02-2022, 21:43:13
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba herkese kolay gelsin, aşağıda bi kaç sorum olacak yardımlarınız ricası ile,

    1.DataGridView de en yeni kaydı en üstte tutmasını nasıl sağlıyoruz
    2.personel, tarih, giriş saati, çıkış saati olarak verilerimiz var, giriş butonuna tıklayınca o anki tarih saati yazıdırıyoruz, çıkış butonuna tıklayınca da aynısı ama aynı satırda çıkış hücresine nasıl yazdırabiliriz, aşağıda olduğu gibi çıkış saatinide giriş saati yanına gibi yani.
    NOT: visual basic ve sql ile yapıyoruz.
    Destekleriniz için şimdiden teşekkürler.

  • 09-02-2022, 02:18:06
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba,
    1. Sorunuza cevabım
    DataGridView in DataSource/DataSet sorgusunda, "ORDER BY KolonAdi DESCENDING" sıralama yaptırabilirsin.
    SELECT * FROM TabloAdi
    ORDER BY Tarih DESC, Giris_Saati DESC, Cikis_Saati DESC
    ya da
    dataGridView1.Sort(dataGridView1.Columns["Tarih"], System.ComponentModel.ListSortDirection.Descending );
    şeklinde yapabilirsin.

    2. Sorunuza cevabım
    Bence,
    Veritabanına kayıt (INSERT) ederken Aynı Personelin her bir giriş-çıkış saatini ayrı ayrı kayıt etmek yerine ,
    Çıkış saatini UPDATE ederek de yapabilirsiniz, Yani Personelin Giriş Saatini INSERT INTO ile post edin.
    Çıkış Saatini ise " UPDATE TabloAdi SET Cikis_Saati = Date.Now.ToString("hh:mm:ss tt")
    WHERE Personel_Id = 123 AND Tarih = '09/02/2022' " şeklinde update edin.
    (Bu arada mükerrer giriş çıkış kontrollerini de yapmalısınız.)

    SQL Sorgusu ile yapmak istersek,
    SELECT Personel_Id, Tarih,
    MAX(Giris_Saati) AS Giris_Saati,
    MAX(Cikis_Saati) AS Cikis_Saati
    FROM TabloAdi
    GROUP BY Personel_Id, Tarih
    ORDER BY Tarih DESC

    şeklinde yapılabilir...
    Kolay gelsin.
  • 09-02-2022, 11:01:07
    #3
    iptal