Skip to main content

AccessTr.neT


Yeniden Sıra Numarası Verme

Yeniden Sıra Numarası Verme

#7
sonrdan eklenen sorgu hata (13:Type mismatch) veriyor. Ama sizin gönderdiğiniz örnek hata vermiyor. Çözemedim.
Burada for next gibi bir döngü kullansak nasıl olur. Hata veren sorgudan kurtulmak için
tblMallar tablosunda KonuID değeri form üzerindeki txtKonu ID ne eşit olanları bulup döngü ile 1 den başlayarak numaralandırsa
bunun kodunu nasıl yazabilirim.
Teşekkürler. İyi çalışmalar.
Cevapla
#8
aşağıdaki kodu silme butonuna -en sona- ekleyip dener misiniz?
CurrentDb.Execute "UPDATE tblMallar SET tblMallar.Malno = DCount(""*"",""[tblMallar]"",""[Ihaleno]='" & Me.akNo & "' and  [MalID]<= "" & [tblMallar]![MalID]);"
Not: örneğiniz gerekli referanslar eklenmemiş olduğundan ben de çalışmadı, dosyanız sizde çalışıyor mu?
Cevapla
#9
Kodu ekledim.Çalışmıyor.
Cevapla
#10
Aşağıdaki gibi bir kod yazsam. Verilecek numarayı i olarak tanımlasam.
KonuID si formdaki KonuID ye eşit olan MalID ye eşit olanları bulsa ve i değerini yazsa. Yazdıktan sonra i değerini 1 artırsa.
Mantık doğru olur mu?
Mantık doğruysa koddaki hataları düzeltebilrimisiniz.

Dim strSQL1 As String
Dim rsSQL1 As ADODB.Recordset
Dim Varmi As Integer
Dim i As String
i = 1

strSQL1 = "SELECT * FROM tblKonu WHERE ((Ihaleno='" & Me.akNo & "') AND (Yil='" & Me.txtYil & "'));"

Set rsSQL1 = New ADODB.Recordset

rsSQL1.Open strSQL1, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

DoCmd.SetWarnings False

Do While Not rsSQL1.EOF

Varmi = Nz(DLookup("MalID", "tblMallar", "[KonuID] = " & rsSQL1.Fields("KonuID") & " And [Yil] = '" & Me.txtYil & "' And [Ihaleno] = '" & Me.akMalno & "'"), 0)

If Varmi = 0 Then
DoCmd.RunSQL "INSERT INTO tblMallar (Malno) VALUES ('" & i & "')"
i = i + 1
Else
Exit Sub
End If


rsSQL1.MoveNext

Loop

DoCmd.SetWarnings True
rsSQL1.Close
Set rsSQL1 = Nothing
Cevapla
#11
hata mı veriyor değişiklik mi yapmıyor?
çünkü tblMallar tablonuzda MalNo alanının hepsine rasgele numara verdim
silmek istediğimde hata verdiği için tüm silme kodlarını iptal ettim sadece o kodu kullandım hepsini düzenledi
Cevapla
#12
Tabloda Malno alanını silip Formun kayıt kaynağı olan sorguda Malno alanı oluşturup
Malno=DCount("*","tblMallar","[MalId]<=" & [MalId])
yapsanız işinizi görür mü?
Böylece komutlara (kodlara) gerek te kalmaz diye düşünüyorum.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da