Skip to main content

AccessTr.neT


Autonumber Sütununun Aynı Kalması Veya Bir Artması

Autonumber Sütununun Aynı Kalması Veya Bir Artması

#13
(30/06/2019, 23:32)halily yazdı: sorun 2000 formatında yollamakta değil,
sorun bendeki ofisin sonraki sürüm olmasından kaynaklanıyor.
bu nedenle bende çalışan kodun sizde çalışıp çalışamayacağını tam olarak bilemem.
Merhaba,
Her iki db yi de denedim.Öncelikle 2000 versiyonu için ekte ki dosyada belirttiğim şekilde oluyor.Önce 1 nolu resimdeki gibi hata çıkıyor devam dediğimde de 2 nolu resim gibi oluyor.Niye böyle anlayamadım.Diğer db yi ise arkadaşınkinde denedik.Onda da Güncelle tuşuna basınca şu kadar sürede yapıldı diye uyarı gelmiyor,tuşlar çalışmıyor ,sağ üstten çarpıya basınca program donuyor ve Ctrl+Alt+Del ile programı sonlandırıyorum ve tekrar giriyorum,bakıyorum ki tabloyu güncellemiş.[Resim: do.php?img=9121]
[Resim: do.php?img=9122]
Cevapla
#14
"tbas" ve "tbit" önemli değil onlar süre hesabı için kullanılan kodlar.
eğer süre hesaplamayı kullanmak istiyorsanız "now" yerine "now()" kullanmayı deneyin
süre hesaplamadan kullanmak isterseniz
Tbas = Now <==bu satırı
ve aşağıdaki süre hesaplama bloğunu silerek deneyin
'süre hesapla_______________________________________
Tbit = Now
Sure = DateDiff("s", Tbas, Tbit)
tSny = Sure Mod 60
tDk = Sure \ 60
MsgBox ("İşlem " & tDk & " dakika :" & tSny & " saniyede bitti")
'süre hesapla_______________________________________Bitti
Not: bende 10-15 saniye sürüyordu tüm işlem
ama "dao" uyumlu olunca 5-6 dakikaya kadar çıktı süre
kilitleniyor gibi görünse de tabloyu güncellediği için kilitlenmiş gibi görünüyor
Cevapla
#15
(01/07/2019, 21:57)halily yazdı: "tbas" ve "tbit" önemli değil onlar süre hesabı için kullanılan kodlar.
eğer süre hesaplamayı kullanmak istiyorsanız  "now" yerine "now()" kullanmayı deneyin
süre hesaplamadan kullanmak isterseniz
Tbas = Now <==bu satırı
ve aşağıdaki süre hesaplama bloğunu silerek deneyin
'süre hesapla_______________________________________
Tbit = Now
Sure = DateDiff("s", Tbas, Tbit)
tSny = Sure Mod 60
tDk = Sure \ 60
MsgBox ("İşlem " & tDk & " dakika :" & tSny & " saniyede bitti")
'süre hesapla_______________________________________Bitti
Not: bende 10-15 saniye sürüyordu tüm işlem
ama "dao" uyumlu olunca 5-6 dakikaya kadar çıktı süre
kilitleniyor gibi görünse de tabloyu güncellediği için kilitlenmiş gibi görünüyor
Belirttiğiniz şekilde satırları sildim,ekteki satırda hata verdi[Resim: do.php?img=9120]
Cevapla
#16
referansların resmini yollar mısınız?
not : cevabınızı yazarken hep alıntının içine yazılmış oluyor. bazen sanki boş mesaj gönderilmiş gibi oluyor
Cevapla
#17
özelden mesaj attım kontrol eder misiniz?
Cevapla
#18
halily sağolsun konuyu teamviewer ile bağlanarak çözdü,kendisine buradan tekrar teşekkür ediyorum,Sorun referanslarda olup,olması gereken halini ekte resim olarak ekliyorum.Office 2000 versiyonunda çalışan kodu da aşağıda yazıyorum(kod bu hali ile olacaktır)

[Resim: do.php?img=9119]
Private Sub BtnGuncelle_Click()
'referans eklemeniz gerekebilir "Microsoft DAO 3.x Object Library" referansını eklemelisiniz
Tbas = Now()

Dim rS As DAO.Recordset 
Dim sOrGu, SqlGuncelle As String
Dim x As Long

sOrGu = "select * from SERI01 order by sno"
Set rS = CurrentDb.OpenRecordset(sOrGu)
        If rS.RecordCount = 0 Then GoTo 10
rS.MoveLast
rS.MoveFirst
x = 0
Do Until rS.EOF
    x = x + IIf(DLookup("as", "SERI01", "sno=" & rS.Fields("sno")) = Nz(DLookup("as", "SERI01", "sno=" & rS.Fields("sno") - 1)), 0, 1)
    SqlGuncelle = "UPDATE SERI01 SET SERI01.as2 =" & x & " where sno=" & rS.Fields(0)
    CurrentDb.Execute SqlGuncelle
    rS.MoveNext
Loop

10
'süre hesapla_______________________________________
Tbit = Now()
Sure = DateDiff("s", Tbas, Tbit)
tSny = Sure Mod 60
tDk = Sure \ 60
MsgBox ("İşlem " & tDk & " dakika :" & tSny & " saniyede bitti")
'süre hesapla_______________________________________Bitti
End Sub
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da