WinCC'den Access'e Veri Aktarımı

bkocaman

Üye
Katılım
21 Ağu 2007
Mesajlar
3
Puanları
1
Yaş
40
winCC den M. Access e aktarım için VisualBasicScript Kullanımı

1. Bir Access database içersine(örneğin DATA.mdb) WINCC_DATA adında bir tablo ve ID, TagValue şeklinde iki değişken oluşturun.(ID otomatik sayı olsun)
2. ODBC yapılandırmasından "SampleDSN" adıyla oluşturduğunuz DATA.mdb dosyasını ilişkilendirin.
3.Aşağıdaki script'in bir butona bağlandığını düşünelim,Bu durumda WINCC de ki number tipli Tag1 değeri, Microsoft Access database WINCC_DATA tablosunda ki TagValue degerine aktarılıyor.
Problem;
1.Script içersindeki IgnValue degerini ObjValue veya StrValue yapmam ragmen string (karekter içeren) tipli aktaramadım sadece number tipli değerler aktarılabiliyor.
2.Tabloma TagValue2 diye bir ikinci değişken daha eklesem,Tag2 değerini aktarabilmek için scripte nasıl bir değişiklik yapılması gereklidir.
Dim objConnection
Dim strConnectionString
Dim lngValue
Dim strSQL
Dim objCommand
strConnectionString = "Provider=MSDASQL;DSN=SampleDSN;UID=;PWD=;"
lngValue = HMIRuntime.Tags("Tag1").Read
strSQL = "INSERT INTO WINCC_DATA (TagValue) VALUES (" & lngValue & ");"
Set objConnection = CreateObject("ADODB.Connection")
objConnection.ConnectionString = strConnectionString
objConnection.Open
Set objCommand = CreateObject("ADODB.Command")
With objCommand
.ActiveConnection = objConnection
.CommandText = strSQL
End With
objCommand.Execute
Set objCommand = Nothing
objConnection.Close
Set objConnection = Nothing

Çözüm;
1.
Script içersindeki IgnValue degerini ObjValue veya StrValue yapmam ragmen string (karekter içeren) tipli aktaramadım sadece number tipli değerler aktarılabiliyor.
strSQL = "INSERT INTO WINCC_DATA (TagValue) VALUES (" & lngValue & ");"bu satır aşağıdaki şekilde değiştirilecek
strSQL = "INSERT INTO WINCC_DATA (TagValue) VALUES ('" & CStr(lngValue) & "');"
not: [ ' " (şeklinde tırnaktan önce kesme) ]

2.Tabloma TagValue2 diye bir ikinci değişken daha eklesem,Tag2 değerini aktarabilmek için scripte nasıl bir değişiklik yapılması gereklidir.

yazım1;
strSQL2="(TagValue,TagValue2)"
strSQL3="( '" & CStr(lngValue) & "','" & CStr(lngValue2) & "' )"
strSQL = "INSERT INTO WINCC_DATA"& strSQL2 &" VALUES "& strSQL3 &";"
yazım2;
'strSQL = "INSERT INTO WINCC_DATA (TagValue,TagValue2) VALUES ( '" & CStr(lngValue) & "','" & CStr(lngValue2) & "' );"
 
Moderatör tarafında düzenlendi:
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
Teşekkürler peki elinizde wincc flexible database record ile ilgili türkçe kaynak var mı
 
Sayın bkocaman örneğin çok işime yaradı çok teşekkürler..
 

Yeni mesajlar

Forum istatistikleri

Konular
129,692
Mesajlar
929,050
Kullanıcılar
452,397
Son üye
otomasyon1es

Yeni konular

Geri
Üst