AccessTr.neT

Tam Versiyon: ADODB.Recordset hatası (sütun sayısına göre değiştirme)
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
Merhaba,
Örnek dosyadaki gibi alt forma aktarma işlemi yaptırmak istiyorum. Ama bendeki veri tabanında 19 sütun var. Aşağıdaki kodu nasıl değiştirirsem aktarma işlemini yaptırabilirim.
Yardımlarınız için teşekkürler.


Dim strPoz As String
Dim row As Integer
Dim rst As New ADODB.Recordset
Dim x As Integer

rst.Open "tblTemp", CurrentProject.Connection, adOpenDynamic, adLockOptimistic

For x = 0 To Me.Liste0.ItemsSelected.Count - 1
row = Me.Liste0.ItemsSelected(x)
rst.AddNew
rst(0) = Nz(Me.Liste0.Column(0, row), "")
rst(1) = Nz(Me.Liste0.Column(1, row), "")
rst(2) = Nz(Me.Liste0.Column(2, row), "")
rst(3) = Nz(Me.Liste0.Column(3, row), "")
rst(4) = Nz(Me.Liste0.Column(4, row), "")
If Me.Liste0.Column(5, row) <> "" Then
rst(5) = Me.Liste0.Column(5, row)
End If
If Me.Liste0.Column(6, row) <> "" Then
rst(6) = Me.Liste0.Column(6, row)
End If
rst(7) = Nz(Me.Liste0.Column(7, row), "")
rst(8) = Nz(Me.Liste0.Column(8, row), "")
rst.Update
Next x

rst.Close

Me.Alt54.Form.Requery
End Sub
doğru yanıt verilebilmesi için sendeki veritabanını görmemiz gerekiyor.
Sn sledgeab

Veritabanını ekledim. Daha önceki örnekte 8 sütun vardı. Benim çalıştığıma uyarladım. Benim uygulamamda 19 sütun var. Bu nedenle olacak herhalde, aktarma işleminde Temp. tablosuna tüm filtrelenen veriler aktarılamıyor.
Yardımlarınız için teşekkür ederim.
aktar butonuna aşağıdaki kodu ekle
Kod:
Dim strPoz As String
Dim row As Integer
Dim rst As New ADODB.Recordset
Dim x As Integer

rst.Open "tblTemp", CurrentProject.Connection, adOpenDynamic, adLockOptimistic

For x = 0 To Me.Liste0.ItemsSelected.Count - 1
    row = Me.Liste0.ItemsSelected(x)
        rst.AddNew
            rst(0) = Nz(Me.Liste0.Column(0, row), "")
            rst(1) = Nz(Me.Liste0.Column(1, row), "")
            rst(2) = Nz(Me.Liste0.Column(2, row), "")
            rst(3) = Nz(Me.Liste0.Column(3, row), "")
            rst(4) = Nz(Me.Liste0.Column(4, row), "")
            rst(5) = Nz(Me.Liste0.Column(7, row), "")
            rst(6) = Nz(Me.Liste0.Column(7, row), "")
            rst(7) = Nz(Me.Liste0.Column(7, row), "")
            rst(8) = Nz(Me.Liste0.Column(8, row), "")
            rst(9) = Nz(Me.Liste0.Column(9, row), "")
            rst(10) = Nz(Me.Liste0.Column(10, row), "")
            rst(11) = Nz(Me.Liste0.Column(11, row), "")
            rst(12) = Nz(Me.Liste0.Column(12, row), "")
            rst(13) = Nz(Me.Liste0.Column(13, row), "")
            rst(14) = Nz(Me.Liste0.Column(14, row), "")
            rst(15) = Nz(Me.Liste0.Column(15, row), "")
            rst(16) = Nz(Me.Liste0.Column(16, row), "")
            rst(17) = Nz(Me.Liste0.Column(17, row), "")
            rst(18) = Nz(Me.Liste0.Column(18, row), "")
        rst.Update
Next x

rst.Close

Me.Alt54.Form.Requery
Hocam, çok teşekkür ederim. uyguladım (ekte) elinize sağlık.
İlave forma: Akratılan-Temp tablosu sürekli dolu kalıyordu, bunun için; form açıldığında sorguyu otomatik çalıştır ve her yeni arama başlangıcında silteyi otomatik temizle ekledim.
Saygılarımla.
Emek ve katkılarınız için teşekkürler...
Sayfalar: 1 2