• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

MDB Sıra Numarasını Yeniden Düzenleme

yerbakili

Destek Ekibi
Destek Ekibi
Katılım
12 Mayıs 2009
Mesajlar
174
Excel Vers. ve Dili
Office 2003
Merhabalar, çoğunu bu siteden faydalanarak yaptığım bir uygulamada, excel listview aracılığıyla mdb dosyasına veri kaydedip, düzenlemeler yapıyorum. Bu kayıtların zamanla içerisinden bazılarının silinmesi gerekiyor. O kayıt silindiğinde, kaydın sıra numarası haliyle boş kalıyor. Örneğin; 1,2,3,4,5,6,7 sıra numaraları bulunurken 4. sıra numarasında yer alan kaydı siliyorum, 4. sıra numarası siliniyor ve yeni sıralama 1,2,3,5,6,7 oluyor. Bu sıralamayı, silme işleminin ardından veya yeni eklenecek bir butonla yeniden düzenleyerek 1,2,3,4,5,6 olarak nasıl düzenleyebiliriz?

Aşağıdaki linkte de sorunuma benzer bir soru sorulmuş ve çözüme ulaştırılmış, ancak benim sıkıntım mdb ile olduğundan sorunumu bir türlü çözemedim. Yardımcı olabilir misiniz?

http://www.excel.web.tr/f48/syra-no-yu-yeniden-duzenlemek-t130047.html

Düzenleme: Dosya eklenmiştir.
 

Ekli dosyalar

Son düzenleme:
Access makroları ile çok ilgilenmiyorum ama en kaba anlamda, autonumber kolonunu silseniz ve daha sonra autonumber kolonu ekleseniz diye düşünüyorum ?
 
Access makroları ile çok ilgilenmiyorum ama en kaba anlamda, autonumber kolonunu silseniz ve daha sonra autonumber kolonu ekleseniz diye düşünüyorum ?

Evet, ancak bu da biraz manuel olmuş olacak. Ben, daha seri daha pratik bir yöntemle çözmeliyim diye düşünüyorum.

Birçok kod denedim kendi çapımda ama, access olduğu için bir türlü sonuç alamadım. :)
 
o zaman manuele benzeyen 2 numaralı mesajımdan başka bir yöntem gelmiyor aklıma.

Neticelendirirseniz burada da paylaşın lütfen.
 
Userformunuza bir komut düğmesi ekleyin.

Aşağıdaki kodu formunuz açılıp listview nesnesine veriler geldikten sonra çalıştırın.

kod:


Kod:
Private Sub CommandButton12_Click()


Klasor = ThisWorkbook.Path
If Right(Klasor, 1) <> "\" Then Klasor = Klasor & "\"

klasörünadi = Klasor
dosyaninadi = "dışarıdaki_dosyalar.mdb"
Dosya = klasörünadi & dosyaninadi
Sayfa_adı = "Tablo1"

Dim Conn As New ADODB.Connection
Dim Cmd As New ADODB.Command
Dim sqlText As String
Dim Kayit As ADODB.Recordset
Set Kayit = CreateObject("adodb.recordset")

baglan = "provider=microsoft.jet.oledb.4.0;data source=" & Dosya
Conn.Open baglan & ";" & "Persist Security Info=False"
Cmd.ActiveConnection = Conn
Cmd.CommandType = adCmdText
sqlText = "Delete * from " & Sayfa_adı
Cmd.CommandText = sqlText
Set Kayit = Cmd.Execute
Application.Wait (Now + TimeValue("0:00:2"))

Kayit.Open "select * from " & Sayfa_adı, baglan, 3, 2
On Error Resume Next
For r = 1 To ListView1.ListItems.Count
Kayit.AddNew
Kayit(0) = r
For i = 1 To ListView1.ColumnHeaders.Count - 1
Kayit(i) = ListView1.ListItems(r).ListSubItems(i).Text
Next i

Kayit.Update
Next r

Kayit.Update
Kayit.Close


MsgBox "kayıt işlemi tamamdır"
Set Kayit = Nothing


End Sub

Not data dosyanızın bir örneğini yedekleyin.

Buradaki yapılan işlem data sayfasındaki verileri silip listview nesnesindeki bütün verileri sıralı olarak kayıt yapmaktır.

Ayrıca referenslar bu dosyadaki gibi olmalı
 

Ekli dosyalar

Halit bey, yardımınız ve desteğiniz için teşekkür ederim. Verileri listviewden aktarmak hiç aklıma gelmemişti. :)

Ellerinize, zihninize sağlık. Hayırlı kandiller.
 
Halit bey, yardımınız ve desteğiniz için teşekkür ederim. Verileri listviewden aktarmak hiç aklıma gelmemişti. :)

Ellerinize, zihninize sağlık. Hayırlı kandiller.

Teşekkürler iyi çalışmalar
 
Geri
Üst