Aynı sütünda çift sorgu

sarigozoglu

Altın Üye
Katılım
26 Eylül 2014
Mesajlar
85
Excel Vers. ve Dili
Office 365 TR-32
Altın Üyelik Bitiş Tarihi
06-01-2025
Arkadaşlar merhaba,

Aşağıda sunduğum excel tablosuna göre veri tabanımın bir örneğini anlatmaya çalıştım.

Veri tabanımda günlük giriş çıkış bilgileri var.

Bir sorgu ile tarih aralığı vermeksizin tüm tabloda sorgu yaparak, aynı gün giriş yapmış fakat çıkış yapmamış kişileri bulmak istiyorum.

Tek cümlelik bir sorguda bu mümkün müdür ?

Şimdiden teşekkür ederim.

01.06.2017 15 C
01.06.2017 19 G SONUÇ-1
02.06.2017 17 G
02.06.2017 19 G
02.06.2017 15 G SONUÇ-2
02.06.2017 19 C
02.06.2017 17 C
02.06.2017 18 G
02.06.2017 18 C
03.06.2017 15 G SONUÇ-3
03.06.2017 17 G
03.06.2017 18 G
03.06.2017 19 G
03.06.2017 19 C
03.06.2017 17 C
03.06.2017 18 C
04.06.2017 19 G SONUÇ-4
04.06.2017 18 G SONUÇ-5
04.06.2017 15 G
04.06.2017 15 C
04.06.2017 17 G
04.06.2017 17 C
 

Ekli dosyalar

Son düzenleme:

dellerlim

Altın Üye
Altın Üye
Katılım
25 Şubat 2012
Mesajlar
323
Excel Vers. ve Dili
office 2016 türkçe
Altın Üyelik Bitiş Tarihi
15.03.2027
Sorun anlaşılmıyor, örnek dosya yükleyebilir misiniz?
 

Ziynettin

Destek Ekibi
Destek Ekibi
Katılım
18 Nisan 2008
Mesajlar
1,105
Excel Vers. ve Dili
office2010
.....
Deneyiniz
....

Kod:
Option Explicit
Sub Ayni_tarihde_cikisi_olmayan()
Dim a(), b(), d As Object, Krt As Variant
Dim i As Long, Say As Long, n As Long
Sheets("Sayfa1").Select
Set d = CreateObject("scripting.dictionary")
a = Range("B4:C" & Cells(Rows.Count, 2).End(3).Row)
On Error Resume Next
For i = 1 To UBound(a)
    Krt = a(i, 1) & a(i, 2)
    d(Krt) = d(Krt) + 1
Next i
ReDim b(1 To UBound(a), 1 To 1)
For i = 1 To UBound(a)
Say = Say + 1
    Krt = a(i, 1) & a(i, 2)
    If d(Krt) = 1 Then
        n = n + 1
        b(Say, 1) = "SONUÇ" & "-" & n
    End If
Next i
Application.ScreenUpdating = 0
Range("E4:E" & Rows.Count).ClearContents
[E4].Resize(Say) = b
Application.ScreenUpdating = 1
MsgBox "   İşlem tamam...!", vbInformation
End Sub
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,344
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Aşağıdaki sorgu istediğiniz listeyi verecektir.
Kod:
select * from hareketler a
where a.hareket = 'G' and not exists(
  select * from hareketler b
  where b.hareket = 'C' and a.sicilno = b.sicilno and a.tarih = b.tarih
order by sicilno, tarih
)
 

sarigozoglu

Altın Üye
Katılım
26 Eylül 2014
Mesajlar
85
Excel Vers. ve Dili
Office 365 TR-32
Altın Üyelik Bitiş Tarihi
06-01-2025
Çok teşekkür ederim.
 
Üst