Skip to main content

AccessTr.neT


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

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

Çözüldü #1
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.
.rar sartliveri.rar (Dosya Boyutu: 34,51 KB | İndirme Sayısı: 5)
Son Düzenleme: 16/02/2016, 17:54, Düzenleyen: mehmetb84.
Cevapla
#2
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.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#3
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.
Cevapla
#4
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.
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#5
ekledim, rs.Fields la ilgili object required hatası veriyor.
Cevapla
#6
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.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task