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

1 2 3 4
25/04/2020, 11:46

accessman

çünkü hangi alanların değiştiğini rapor halinde göstermem gerekiyor
25/04/2020, 11:59

berduş

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
25/04/2020, 12:04

accessman

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


25/04/2020, 12:10

accessman

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
25/04/2020, 12:26

alicimri

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.
25/04/2020, 12:34

accessman

bu daha pratikmiş  önerin için çok teşekkürler sn. @alicimri
1 2 3 4