Skip to main content

AccessTr.neT


Tablo Alanlarını Döngü İçinde Kullanmak

Tablo Alanlarını Döngü İçinde Kullanmak

#13
çünkü hangi alanların değiştiğini rapor halinde göstermem gerekiyor
@benbendedeilem
Cevapla
#14
Yalniz 4. mesajdaki kodu kullanarak zaten yapabilirsini döngüye union all eklemeniz yeterli
Daha önceki bir (hastalıkların ayrılması )konunuzda union all döngüye sokularak tüm alanlar alt alta listelenmisti
Cevapla
#15
sn. @berduş yazmış olduğunuz kod ile harika çalıştı kodun son halini ekliyorum
Kod:
Public Function sqls()
    Dim i As Integer
    Dim sql, strSQL As String
    Dim lastTableName, newTableName As String
    Dim lastColumnName, newColumnName As String
    Dim name1, name2 As String
   
    lastTableName = "itLastPersonel"
    newTableName = "itNewPersonel"
    strSQL = ""

    For i = 0 To CurrentDb.TableDefs(lastTableName).Fields.Count - 1
   
        lastColumnName = CurrentDb.TableDefs(lastTableName).Fields(i).Name
        newColumnName = CurrentDb.TableDefs(newTableName).Fields(i).Name
 
        sql = "SELECT" & _
        " itLastPersonel.SICNO" & "," & _
        " '" & lastColumnName & "' AS AlanAdi" & "," & _
        " itLastPersonel.[" & lastColumnName & "]" & "," & _
        " itNewPersonel.[" & newColumnName & "]" & _
        " FROM itLastPersonel" & _
        " INNER JOIN itNewPersonel ON itLastPersonel.SICNO = itNewPersonel.SICNO" & _
        " WHERE itLastPersonel.[" & lastColumnName & "]<> itNewPersonel.[" & newColumnName & "]"

        strSQL = strSQL & sql
       
        If (i < CurrentDb.TableDefs(lastTableName).Fields.Count - 1) Then
            strSQL = strSQL & " UNION ALL "
        Else
            strSQL = strSQL & ";"
        End If
       
    Next i
   
    Me.Liste0.RowSource = strSQL
    Me.Liste0.Requery
   
End Function

bunun ile ne yapıyoruz 
biri yerel tablo (itLastPersonel)
diğeri bağlı tablo (itNewPersonel)
birbirinin aynı olan 2 tablonun alanlarını karşılaştırıp farklı olan alanları resimdeki gibi listede gösteriyoruz

[Resim: do.php?img=10105]
@benbendedeilem
Son Düzenleme: 25/04/2020, 12:06, Düzenleyen: accessman.
Cevapla
#16
bunu fonksiyon haline nasıl getiririz, tablo isimlerini nasıl gönderebiliriz

Kod:
Public Function sqls(lastTableName As String, newTableName As String)

kod içerisinde geçen 
"itLastPersonel" yerlerine 
"lastTableName" değişkenini nasıl yazabiliriz
@benbendedeilem
Son Düzenleme: 25/04/2020, 12:12, Düzenleyen: accessman.
Cevapla
#17
Sana pratik yol öneriyim
Üç adet WORD dosyası oluştur.
1. dosyaya excelden bağladığın tabloyu yapıştır.
2. dosyaya Access de bulunan dosyayı yapıştır.
3. dosyada "Gözden Geçir" Menüsünde "Karşılaştır" da diğer iki dosyayı ayarla.
RAPORUN HAZIR.
Cevapla
#18
bu daha pratikmiş  önerin için çok teşekkürler sn. @alicimri
@benbendedeilem
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task