2016-04-13 22 views
0

Veritabanımdaki toplam Tarih Satır kayıtlarını iki veri toplaması seçimi arasında nasıl alabilirim? Bunun nasıl yapılacağı hakkında hiçbir fikrim yok. Yaklaşık bir saat boyunca cevap arıyordum ama doğru kodu bulamıyorum. Lütfen bana yardım et. Sen tarih değerlerinin dize ifadeleri biçimlendirmek gerekirSayım no. Veritabanı Tablosunda Satırlar İki Datetimepicker seçimi arasında

 da = New OleDbDataAdapter(sqlqry, cnn) 
     Dim dt As New DataTable("tblAttendance") 
     da.Fill(dt) 
     dgvAttendance.DataSource = dt 
+0

Şimdiden yaptığınız gibi görünüyor: 'dt.Rows.Count' Ne anlama gelmezsiniz? Beklenmeyen bir şey var mı? – Ian

+0

Toplam satır sayısını görüntülemiyor, bu yüzden kodumda hala bir sorun olduğunu düşünüyorum, ancak herhangi bir hata göstermiyor. – jacksparrow012

+0

"Gösterilmiyor" - "0" gösteriliyor? Yoksa hiç ekran yok mu? – Ian

cevap

0

: Ben bir yorum olarak bu kod parçasını qoute eğer sadece 0 değerini gösterir

Try 
     ConnDB() 

     If fromDate.Value > toDate.Value Then 
      MessageBox.Show("Invalid Date Selection", "Error", MessageBoxButtons.OK, MessageBoxIcon.Asterisk) 
     Else 
      sqlqry = "SELECT * FROM tblAttendance WHERE WorkingDate BETWEEN='" & fromDate.Value.ToShortDateString & "' AND '" & toDate.Value.ToShortDateString & "'" 
      da = New OleDbDataAdapter(sqlqry, cnn) 
      Dim dt As New DataTable("tblAttendance") 
      da.Fill(dt) 
      dgvAttendance.DataSource = dt 
      Dim counter As Double 
      counter = dt.Rows.Count 
      TextBox1.Text = counter 

     End If 
    Catch ex As Exception 
     If cnn.State = ConnectionState.Open Then 
      cnn.Close() 
     End If 
    End Try 

: Burada

kod bu Access SQL:

ya da daha önce önerildiği gibi parametreleri kullanın.

+0

Paralelsiz sorguyu denedim = Between =? AND? Ve verdiğiniz sorguyu denediniz, hala tarih aralığında toplam sayımı göstermeyiniz. Datetimepicker'da seçtiğim tarih aralığı içinde toplam gün sayımının nasıl alınacağı başka bir çözüm/kod var mı? – jacksparrow012

+0

Oh, şimdi, sadece okuma sırasında Sorgu üzerinde bir Hash işaretini özledim gibi görünüyor, bu tarihte Access çalışma üzerinde bir Hash işareti olması gerektiği söyleniyor. Teşekkürler @Gustav – jacksparrow012

+0

Evet, "görünüyor", ama bu hikayenin sadece yarısı. – Gustav

0

Sonunda anladım, Yardımın için teşekkürler.

İşte gerçekten çalışan yeni kodum.

Try 
     ConnDB() 

     If fromDate.Value > toDate.Value Then 
      MessageBox.Show("Invalid Date Selection", "Error", MessageBoxButtons.OK, MessageBoxIcon.Asterisk) 
     Else 
      sqlqry = "SELECT * FROM tblAttendance WHERE WorkingDate BETWEEN #" & fromDate.Value & "# AND #" & toDate.Value & "#" 
      da = New OleDbDataAdapter(sqlqry, cnn) 
      dt = New DataTable("tblAttendance") 
      da.Fill(dt) 
      Dim counter As Integer 
      counter = dt.Rows.Count 
      TextBox1.Text = counter 

     End If 
    Catch ex As Exception 
     If cnn.State = ConnectionState.Open Then 
      cnn.Close() 
     End If 
    End Try 
+0

Hayır, işe yarayacak gibi görünüyor. Tarih değerinde bir biçim zorlamazsanız, dizgiyi birleştirdiğinizde dizeye varsayılan döküm yapılır. Bu varsayılan format çoğu ABD dışı ortamda başarısız olur, bu nedenle her zaman gösterdiğim gibi bir biçim uygulamalısınız. – Gustav

İlgili konular