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:
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..
 

Forum istatistikleri

Konular
130,072
Mesajlar
932,790
Kullanıcılar
453,068
Son üye
Mustafa6173

Yeni konular

Geri
Üst