RE: Autonumber Sütununun Aynı Kalması Veya Bir Artması - 10pele10 - 30/06/2019
(30/06/2019, 19:49)halily yazdı: maalesef gönderdiğiniz form bende açılmadı ama -yanılmıyorsam- sorun eski Access sürümlerinde "ADO" nun olmamasından kaynaklanıyor.
kodu değiştirdim dilerim sorunsuz çalışır
referanslardan "Microsoft DAO 3.x Object Library" etkinleştirmelisiniz buradaki 3.x ofis sürümüne göre değişebilir
Private Sub BtnGuncelle_Click()
'referans eklemeniz gerekebilir "Microsoft DAO 3.x Object Library" referansını eklemelisiniz
Tbas = Now
Dim rS As Recordset '<== burada hata verirse ==> Dim rS As DAO.Recordset de olabilir <== olarak değiştirin
Dim sOrGu, SqlGuncelle As String
Dim x As Long
sOrGu = "select * from tbltablo 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", "tbltablo", "sno=" & rS.Fields("sno")) = Nz(DLookup("as", "tbltablo", "sno=" & rS.Fields("sno") - 1)), 0, 1)
SqlGuncelle = "UPDATE TblTablo SET TblTablo.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
Merhaba,
"referanslardan "Microsoft DAO 3.x Object Library" etkinleştirmelisiniz buradaki 3.x ofis sürümüne göre değişebilir" demişsiniz bunun nereden yapılacağını bulamadım?Gerekiyor mu bilmiyorum?
Yolladığınız yenikodu butonun OnClick yerine olduğu gibi yapıştırdım.ekte ki gibi hata verdi.(sizin koddaki tablo adını benimki ile değiştirdim sadece.Benim tablomun adı Table2-YENILMEMESERISI-EV,bir tane de formum var,onda da Güncelle butonu yaptım ve sizin kodu OnClick yerine yapıştırdım)
Cvp: Autonumber Sütununun Aynı Kalması Veya Bir Artması - berduş - 30/06/2019
ek eklenmemiş galiba
hata ekranını resmini gönderir misiniz
RE: Autonumber Sütununun Aynı Kalması Veya Bir Artması - 10pele10 - 30/06/2019
(30/06/2019, 21:31)halily yazdı: ek eklenmemiş galiba
hata ekranını resmini gönderir misiniz
eki tekrar ekledim.hata verdiği satır aşağıdadır Set rS = CurrentDb.OpenRecordset(sOrGu)
Cvp: Autonumber Sütununun Aynı Kalması Veya Bir Artması - berduş - 30/06/2019
butonun kodu aşağıdaki gibi olacak. tablo/alan/form vsvs isimlendirmesinde kullandığınız "-" , Türkçe karakterler yada "boşluklar" soruna neden olabiliyor.
"boşluk" yada "-" yerine "_" kullanmanız daha uygun olur
aşağıdaki 2 resim referans eklemeyi ve kodu gösteriyor
![[Resim: do.php?img=9117]](https://resim.accesstr.net/do.php?img=9117)
![[Resim: do.php?img=9118]](https://resim.accesstr.net/do.php?img=9118)
'referans eklemeniz gerekebilir "Microsoft DAO 3.x Object Library" referansını eklemelisiniz
Tbas = Now
Dim rS As Recordset '<== burada hata verirse ==> Dim rS As DAO.Recordset de olabilir <== olarak değiştirin
Dim sOrGu, SqlGuncelle As String
Dim x As Long
sOrGu = "select * from [Table2-YENILMEMESERISI-EV] 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", "[Table2-YENILMEMESERISI-EV]", "sno=" & rS.Fields("sno")) = Nz(DLookup("as", "[Table2-YENILMEMESERISI-EV]", "sno=" & rS.Fields("sno") - 1)), 0, 1)
SqlGuncelle = "UPDATE [Table2-YENILMEMESERISI-EV] SET [Table2-YENILMEMESERISI-EV].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
RE: Autonumber Sütununun Aynı Kalması Veya Bir Artması - 10pele10 - 30/06/2019
(30/06/2019, 21:55)halily yazdı: butonun kodu aşağıdaki gibi olacak. tablo/alan/form vsvs isimlendirmesinde kullandığınız "-" , Türkçe karakterler yada "boşluklar" soruna neden olabiliyor.
"boşluk" yada "-" yerine "_" kullanmanız daha uygun olur
aşağıdaki 2 resim referans eklemeyi ve kodu gösteriyor
![[Resim: do.php?img=9117]](https://resim.accesstr.net/do.php?img=9117)
![[Resim: do.php?img=9118]](https://resim.accesstr.net/do.php?img=9118)
'referans eklemeniz gerekebilir "Microsoft DAO 3.x Object Library" referansını eklemelisiniz
Tbas = Now
Dim rS As Recordset '<== burada hata verirse ==> Dim rS As DAO.Recordset de olabilir <== olarak değiştirin
Dim sOrGu, SqlGuncelle As String
Dim x As Long
sOrGu = "select * from [Table2-YENILMEMESERISI-EV] 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", "[Table2-YENILMEMESERISI-EV]", "sno=" & rS.Fields("sno")) = Nz(DLookup("as", "[Table2-YENILMEMESERISI-EV]", "sno=" & rS.Fields("sno") - 1)), 0, 1)
SqlGuncelle = "UPDATE [Table2-YENILMEMESERISI-EV] SET [Table2-YENILMEMESERISI-EV].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
Bu sefer butona tıkladığımda hiç bir şey olmadı,çalışmadı.Referanslardan dediğinizi yaptım.Sizden bir ricam olacak,Ekte size sadece tablonun olduğu db yi yolluyorum(adb1 isimli olan 2000 formatında,diğeri ise arkadaşın bilgisayarında çevirdiğim 2007 formatı ile).Her ikisinde de sadece tablo var,formu ve butonu oluşturup 2000 Formatı olacak şekilde yollayabilirmisiniz,bende 2000 olduğu için ancak bu şekilde olabilir herhalde.
Cvp: Autonumber Sütununun Aynı Kalması Veya Bir Artması - berduş - 30/06/2019
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.
adb1_hy.rar
(Dosya Boyutu: 170,67 KB | İndirme Sayısı: 3)
|