2016-04-12 16 views
2

'a nasıl kopyalarım? Benzer bir sorunun zaten olduğunu biliyorum. Cevaplar 6 yaşından büyük olduğu için yeni bir konu başlattım.Bir sunucudaki Access DB'deki bir tablodaki verileri başka bir Access DB

Erişim DB'm ve bu DB'nin bir kopyasına sahibim. Plan, kopyaya veri yazmak ve daha sonra otomatik olarak yeni verileri orijinaline aktarmaktır. Yani temel olarak her iki DB de aynıdır.

Bulunduğum yeri burada yazdım: How Do I Copy a table from one Access DB to another Access DB. Şimdi bunu amaca uyarlamak istiyorum ama başarısız oluyorum.

SQL dizesi

strSQL = "INSERT INTO [maintblKeyFinancials].* " & _ 
    "IN '" & destination_DB & "' " & _ 
    "SELECT * FROM [maintblKeyFinancials] " & _ 
    " WHERE [Company_ID] = " & identifier & _ 
    " AND [Reference_year] = " & Chr$(34) & Year & Chr$(34) & ";" 

Evet

, [Reference_year] bir dizedir eklenmiş. Ben de "sorguda sözdizimi hatası. Tamamlanmamış sorgu maddesi" olsun, Çıktı
INSERT INTO [maintblKeyFinancials].* IN 'C:\destination.accdb' 
SELECT * FROM [maintblKeyFinancials] IN 'C:\source.accdb' 
WHERE [Company_ID] = 899 AND [Reference_year] = "2015"; 

Ben dize yürütmek

ekli. Ve ne düzelteceğimi bilmiyorum. Umarım bana yardım edebilirsin. Teşekkürler!

cevap

-1

yazma [yourserver]. [YourSchema]. [YourTable] [yourserver] GELEN

SEÇ *. [YourSchema]. [MaintblKeyFinancials]

+0

Sarver tamamen aynıdır değil mi? Youer? Secema? Ve tüm bunlar MS Access'te mi? – Arvo

+0

Sarver = sunucu? Youer = senin? Seceme = ??? Ne? – roki23

+1

Peki, yazım hataları düzeltildi, ancak önerilen çözüm, MS Access'te değil SQL sunucusunda çalışacaktır. – Arvo

1
INSERT INTO [maintblKeyFinancials].* 

sonunda .* çıkarın, bu verir sözdizimi hatası. Ya

INSERT INTO [maintblKeyFinancials] (column1, column2) 
SELECT column1, column2 FROM ... 

veya eğer

sütun

INSERT INTO [maintblKeyFinancials] 
SELECT * FROM ... 
+0

Bu çalışıyor! Bu kadar kolay. Teşekkürler! – roki23