iki veritabanı arasında verileri dönüştürerek aktarım

1 2 3
16/02/2016, 17:53

mehmetb84

Selam arkadaşlar,
Bir veritabanından diğerine verileri dönüştürerek nasıl çekebilirim.
Örneğin VT2 veritabanımın Field180 alanda bulunan EUR olan ifadelerin €, USD olan ifadelerini $, GBP olan ifadelerin £ sembolleri şeklinde, TL olan ifadelerin de olduğu gibi, VT1 veritabanımın fat_doviz alanına aktarılmasını istiyorum. 
Bunun gibi bir kaç dönüşüme ihtiyacım var. Bir tanesinden hareketle diğerlerini hallederim sanıyorum. Yardımlarınızı bekliyorum, teşekkürler şimdiden.
16/02/2016, 18:12

atoz112

sayın mehmetb84,

öncelikle;
vt1 adlı uygulamanız,üst sürüm olduğu gerekçesi ile incelenememiştir.

bahsettiğiniz talebinize yönelik olarak;
ilk etapta bilgilendirme veya çözüm fikri sunmak adına,

site arama sayfasında,
Replace fonksiyonu ve IIF fonksiyonu ifadelerini araştırabilirsiniz.nasıl kullanıldıklarına dair bilgilendirmeleri ve örnekleri inceleyiniz.

bilginize...iyi çalışmalar,saygılar.
16/02/2016, 18:17

mehmetb84

replacee bir göz atayım,if fonksiyonunu kullanmayı biliyorum fakat döngü içinde nasıl kullanacağımı bilmiyorum. Daha doğrusu döngünün aktarım bölümüne nasıl entegre edeceğimi bilmiyorum. İLginiz için teşekkürler.
16/02/2016, 18:43

atoz112

sayın mehmetb84,

önceki mesajda da bahsi geçtiği üzere,uygulamanızı inceleme imkanı olmadığı için geçici bir bilgilendirme düşüncesi ile fikir vermesi adına,

örnek kalıp kullanımı olarak,aşağıda yer alan kodlamaların benzerinde bir kodlama kullanılabilir.

döngü içerisinde .MoveNext kod satırından önce;
Kod:
IIF(rs.Fields("Field181").Value="EUR","€",IIF(rs.Fields("Field181").Value="USD","$",IIF(rs.Fields("Field181").Value="GBP","£","TL")))
veya
Kod:
If rs.Fields("Field181").Value = "EUR" Then
rs.Fields("Field181").Value="€"
elseIf rs.Fields("Field181").Value = "USD" Then
rs.Fields("Field181").Value="$"
elseIf rs.Fields("Field181").Value = "GBP" Then
rs.Fields("Field181").Value="£"
else
rs.Fields("Field181").Value="TL"
End If
elbette ki,konunuza katılımcı olabileceklerin daha net ifadeler ile alternatif kullanım önerileri ya da çözümleri olacaktır.bilginize...iyi çalışmalar,saygılar.
16/02/2016, 18:57

mehmetb84

ekledim, rs.Fields la ilgili object required hatası veriyor.
16/02/2016, 18:58

ozanakkaya

Atoz hocanın cevabına ek olarak,

vba sayfasında en alta aşağıdaki fonksiyonu ekle

Function Donustur(doviz)

    doviz = Replace(doviz, "EUR", "€")
    doviz = Replace(doviz, "USD", "$")
    doviz = Replace(doviz, "GBP", "£")
    Donustur = doviz  
 End Function

veri aktarım kodu içerisindeki

.Fields("fat_doviz") = Kayit_AlinacakTablo.Fields("Field181")

kodunu aşağıdaki ile değiştir.

.Fields("fat_doviz") = Donustur(Kayit_AlinacakTablo.Fields("Field181"))

Fonksiyondaki koda

  doviz = Replace(doviz, "CNY", "¥")
şeklinde eklemeler yapılabilir.
1 2 3