Skip to main content

AccessTr.neT


dcount Kullanımında hata

dcount Kullanımında hata

Çözüldü #7
(03/01/2011, 22:58)alpeki99 yazdı:
SELECT Count(Alan Adı) As Deger FROM tablo_adı WHERE tablodaki_alan=Şart

ile o kaydın olup olmadığını kaç tane olduğunu tespit edersiniz.


if "select count(dosya_yolu) as Yol from Tablo where dosya_yolu ='" & sCurDir & sCurFile & "'") > 0
gibi bir çok denem yaptım ama malesef baarılı olamadım. Sanırım mantığı çözemedim yardımcı olabilirmisiniz acaba?
erdem55, 12-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #8
Sayın erdem55;
VB6 da (sadece bir tahmin yürütüyorum) kontrol etmek için ;
- Tabloyu aç
- ilk kayıda gel
- ilgili alanı getir
- ilgili alanla eklemek istediğin veriyi karşılaştır
- eğer aynıysa mesaj ver yordamdan çık
- değilse
- dosya sonuna gelinip gelinmediğini kontrol et
- gelinmediyse bir sonraki kayda bak - Yukarıdaki işlemleri tekrarla
- dosya sonuna gelinmişse kayıt bulunamamış demektir. Kaydet
Ben yukarıda yazdığım gibi bir yordam oluştururdum.
Tabi eğer VB6 nın DCount gibi özel fonksiyonları yoksa.
Saygılar kolay gelsin.
Hayri16, 12-11-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 04/01/2011, 02:07, Düzenleyen: Hayri16.
Cevapla
Çözüldü #9
Sayın Hayri16

do until rs.eof 'Tablo sonuna kadar
if scurdir & scurfile <> rs!dosya_adi then 'şart
end if
rs.MoveNext 'sonraki kayıt
loop
gibi denemelerim oldu fakat bundada ne hikmetse gelen ilk veride kontrol ediyor tamam viri kayıtlı diyo diğerleri kayıtlı olsada eklemeye devam ediyor. Accesste bu problemi sizin verdiğiniz yukardaki DCount fonksiyonu ile çözmüştük. Dedim vb6 ya geçeyim birazdaha görsellik eklim yarısını bitirdim derken yine burada takıldım kaldımImg-grin
Kodun tamamı


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
şeklinde yardım edebilirseniz çok sevnirim.
erdem55, 12-03-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 04/01/2011, 02:41, Düzenleyen: erdem55.
Cevapla
Çözüldü #10
VB6 da eğer ADO kullanılıyorsa yukarıda söylediğim olayı çok kolay yapabilirsin.
Hayri16, 12-11-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #11
(04/01/2011, 02:16)Hayri16 yazdı: VB6 da eğer ADO kullanılıyorsa yukarıda söylediğim olayı çok kolay yapabilirsin.

Sayın Hayri16 ado kullanıldığına eminim çünkü database bağlantımı ado ile yaptım. O konuda şüphem yok dediğiniz konu üzerindede hem formu takip edip hemde denemelerime devam ediyorum. döngümde işi karıştıran nokta ilk vernin gelip kontrol edildikten sonra diğer verilerin kontrolden geçmeden eklenmesi gibi gözüküyor. ama neden kontrole girmeden ekleniyo onu çözemiyorum. sanırım yukarda yazdığım kodda döngüyü yanlış biyerde kullanıyorum dicem ama o zaman hata vermesi yada hiç kontrol etmemesi gerekir diye düşünüyorum. Neyse acık daha uğraşayım.
erdem55, 12-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #12
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
Hayri16, 12-11-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 04/01/2011, 02:29, Düzenleyen: Hayri16.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da