25/04/2020, 12:46
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.
(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ı
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
sqls "itLastPersonel", "itNewPersonel", "SICNO"