AccessTr.neT
Tablo Alanlarını Döngü İçinde Kullanmak - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Tablo Alanlarını Döngü İçinde Kullanmak (/konu-tablo-alanlarini-dongu-icinde-kullanmak.html)

Sayfalar: 1 2 3 4


RE: Tablo Alanlarını Döngü İçinde Kullanmak - alicimri - 25/04/2020

Ayrıca Değiştirme Ekleme işleri ile hiç uğraşma Access teki tabloyu sil, Excel bağlantılı tablodan Tablo Yap sorgusu ile en son halini aynı isimle kaydedin.


RE: Tablo Alanlarını Döngü İçinde Kullanmak - accessman - 25/04/2020

(25/04/2020, 12:46)alicimri yazdı: Ayrıca Değiştirme Ekleme işleri ile hiç uğraşma Access teki tabloyu sil, Excel bağlantılı tablodan Tablo Yap sorgusu ile en son halini aynı isimle kaydedin.
evet mantıklı

tablo isimleri ve kriter alan gönderek fonksiyon olarak çalıştırmak için son hali bu şekilde
Kod:
Public Sub sqls(lastTableName As String, newTableName As String, criteriaFieldName As String)
    Dim i As Integer
    Dim sql, strSQL As String
    Dim lastColumnName, newColumnName As String
    Dim name1, name2 As String
   
    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" & _
        " [" & lastTableName & "].[" & criteriaFieldName & "]" & "," & _
        " '" & lastColumnName & "' AS AlanAdi" & "," & _
        " [" & lastTableName & "].[" & lastColumnName & "]" & "," & _
        " [" & newTableName & "].[" & newColumnName & "]" & _
        " FROM [" & lastTableName & "]" & _
        " INNER JOIN [" & newTableName & "] ON [" & lastTableName & "].[" & criteriaFieldName & "] = [" & newTableName & "].[" & criteriaFieldName & "]" & _
        " WHERE [" & lastTableName & "].[" & lastColumnName & "]<>[" & newTableName & "].[" & 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 Sub

çağırmak için ise
Kod:
sqls "itLastPersonel", "itNewPersonel", "SICNO"