Veri Tabanı Kayıt Sayısı Hk

1 2
31/03/2022, 19:24

H@K@N

Merhaba Access veri tabanında bulunan kayıtlara ilişkin verileri userform da bulunan labellara aktarabilir miyiz?
1-Toplam kayıt sayısı
2-Alana göre kayıt sayısı (Örn:personel tablosunda unvanı işçi olan personel sayısı)
01/04/2022, 09:16

berduş

Duruma gore 2si de yapilabilir
Sorguyu ona gore oluşturabilirsiniz
Kayıt sayılarını hesaplamak için sorguda group by ve
count
beraber kullanılabilir
01/04/2022, 09:57

H@K@N

Aşağıdaki kod ile toplam sayıyı labele aktardım.

Kod:
Dim baglan As New Connection
Dim rs As New Recordset
baglan.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\master.accdb;"

rs.Open "SELECT COUNT(*) FROM personel where id", baglan, adOpenKeyset, adLockPessimistic
Me.Label1.Caption = rs.Fields(0)

rs.Close
baglan.Close
01/04/2022, 10:41

H@K@N

(01/04/2022, 09:16)berduş yazdı: Duruma gore 2si de yapilabilir
Sorguyu ona gore oluşturabilirsiniz
Kayıt sayılarını hesaplamak için sorguda group by ve
count
beraber kullanılabilir


Aşağıdaki kodda hata veriyor. ( rs2 kısmında)


Kod:
Private Sub UserForm_Initialize()

Dim baglan As New Connection
Dim rs As New Recordset
baglan.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\master.accdb;"
rs.Open "SELECT COUNT(*) FROM personel", baglan, adOpenKeyset, adLockPessimistic
rs2.Open "SELECT COUNT(*) FROM personel where unvan='İşçi'", baglan, adOpenKeyset, adLockPessimistic

Me.Label1.Caption = rs.Fields(0)
Me.Label2.Caption = rs2.Fields(2)

rs.Close
rs2.Close
baglan.Close
01/04/2022, 11:18

berduş

bu konudaki son uyarım dosyanızı ekleyin dosya olmadan hangi tablolarınızın, hangi alanlarınızın olduğunu anlayamayız
çalışmanıza çözüm üretemeyiz
1 - rs için Dim rs As New Recordset ile tanımlama yapmışsınız ama rs2 için yok
2 - rs2 için tek alan tanımlamışsınız COUNT(*) ama rs2.Fields(2) de 2 yazmanız demek 3. alanı getir demektir orası da rs2.Fields(0) olmalı
01/04/2022, 11:26

H@K@N

Dim rs2 As New Recordset tanımlamasını unutmuşum ekleyince sorun çözüldü.
1 2