Skip to main content

AccessTr.neT


dcount Kullanımında hata

dcount Kullanımında hata

Çözüldü #13
(04/01/2011, 02:26)Hayri16 yazdı: Ben de uğraşıyorum. Ayrılmazsan beraber çözeriz bu işi ;)
1 dk
rs.Open "TblDosyalar", CurrentProject.Connection, adOpenKeyset, adLockOptimistic

yukarıda açtığın dosya "TblDosyalar" aşağıda dcountla sorguladığın ise Tablo adlı bir değişken;

If DCount("Dosya_yolu", Tablo, "Dosya_yolu='" & sCurDir & sCurFile & "'") > 0 Then
şöyle denesen?
If DCount("Dosya_yolu", "TblDosyalar", "Dosya_yolu='" & sCurDir & sCurFile & "'") > 0 Then

Hayri bey DCount fonksiyonu accesste sorunsuz çalışıyor. Sorun vb6 da DCount foksiyonunun olmaması.
Sayın alpeki99

SELECT Count(Alan Adı) As Deger FROM tablo_adı WHERE tablodaki_alan=Şart
bu kodu önerdi fakat onuda bir türlü çalıştıramadım. İntette birkaç yerde daha kodun kullanımını inceledim ama uygulayamadım.
üsteki tablo ve tbldosyalar olayına gelince onu örnek diye eklemiştim kodları hızlıca geçerken tablo diye eklemişim. Düzelttim.
erdem55, 12-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #14
Aklıma gelen herşeyi sıralıyorum;
1-En başta yer alan
Option Compare Database
satırının altında
Public rs As ADODB.Recordset
diye genel tanımlama yaptın mı?
2- Sayın alpeki99 un verdiği Sql cümlesinin genel kalıbı onu kullanırken bazı işlemlerden geçirmek gerekiyor diye biliyorum.
3-Arama için şöyle bir şey yapsan;
rs.Find "[Dosya_yolu]= 'sCurDir & sCurFile'"
bunu bulamazsa sanırım hata verecek ve bu hatanın kodunu yazıp "eğer bu hata ise şöyle yap" diyerek çözüm üretilebilir.

Hayri16, 12-11-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #15
Function ListDir(ByVal StartDir As String) As Collection
Dim rs As New ADODB.Recordset
rs.Open "TblDosyalar", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
tanımlamamı kodun başlangıcında yapmıştım çünkü
Asıl kod

Function ListDir(ByVal StartDir As String) As Collection
Dim rs As New ADODB.Recordset
If Alb(StartDir) = "müzikler" Then
rs.Open "TblMuzik", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Tablo = "TblMuzik"
ElseIf Alb(StartDir) = "Diziler" Then
rs.Open "TblDizi", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Tablo = "TblDizi"
ElseIf Alb(StartDir) = "Filmler" Then
rs.Open "TblFilm", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Tablo = "TblFilm"
Else
rs.Open "TblClip", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Tablo = "TblClip"
End If
şeklinde bu nedenle genel tanımlamadım. kafa karıştırmasın diyede forma

Function ListDir(ByVal StartDir As String) As Collection
Dim rs As New ADODB.Recordset
rs.Open "TblDosyalar", CurrentProject.Connection, adOpenKeyset, adLockOptimistic

Dim sCurFile As String
Dim sCurDir As String
Dim colDir As Collection

If Right$(StartDir, 1) <> "\" Then StartDir = StartDir & "\"
Set colDir = New Collection
Set ListDir = New Collection

colDir.Add StartDir
While colDir.Count
'remove current directory from directory list
sCurDir = colDir.Item(1)
colDir.Remove 1
'find all files and subdirectories in current, add to list
sCurFile = Dir$(sCurDir, vbDirectory)

While Len(sCurFile)
If (sCurFile <> ".") And (sCurFile <> "..") Then 'get rid of "." and ".."
If GetAttr(sCurDir & sCurFile) = vbDirectory Then 'add the sub directory
colDir.Add sCurDir & sCurFile & "\"
Else 'work on the file
If DCount("Dosya_yolu", TblDosyalar, "Dosya_yolu='" & sCurDir & sCurFile & "'") > 0 Then
Else
ListDir.Add sCurDir & sCurFile
rs.AddNew
rs!dosya_yolu = sCurDir & sCurFile
rs!dosya_ismi = sCurFile
rs.Update
End If
End If
sCurFile = Dir$
Wend
DoEvents
Wend
End Function
bu halini ekledim denemelerimide bu forma yazdığım yaliyle deniyorum.
bu haliyle DCount acceste çalışıyor ama vb6 da dcoınt olmadından yamultuyo beniImg-grin
diğer kodunuzu rs.find olanı denicem kafam kazan oldu yarın bakıcam müsade ederseniz?
erdem55, 12-03-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 04/01/2011, 03:10, Düzenleyen: erdem55.
Cevapla
Çözüldü #16
Sayın erdem55;
Sorununuz çözüme ulaştı mı?
Hayri16, 12-11-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #17
Malesdef o proje üzerinde baya kafa patlatmama rağmen çözememiştim. O sırada şehir dışında bi işim çıktığından uzun bi süre eve dönemedim ve bakamadımda öylece kalmıştı. Yeni döndüm biraz kafa dinledikten sonra projeye bakıp burayada gelişmeleri aktarırım. İlginiz için ayrıca tşk ederim.
erdem55, 12-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #18
Sn:erdem55
Konunuzu baştan sona okumama ragmen pek birşey anlayamadım bu proje Vb6 ile mi? Yoksa Access ile mi yapılıyor? Çünkü yazılan kodların pek VB6 ile alakası yok genelde Access kod kullanılmış eğer Vb6 ile yapılacaksa kodları tekrar gözden geçiriniz örnekgin Vb6 bu kod kullanılmaz (CurrentProject) bunun yerine (App.Path) kullanılır.
OĞULCAN & OLCAYTUĞ

Oğulcan Excel Web Sitesi
Excel İle Programlama
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task