Excelden Veri Tabanını Güncelleme [Archive] - Excel Forum

PDA

Tüm Versiyonu Göster : Excelden Veri Tabanını Güncelleme


Necdet Yeşertener
24-11-2008, 19:50
Merhabalar,

Arkadaşlar excelden veri tabanını (oracle) günlemek için kod örneğine gereksinimim var.

Örneğin A sütunu Sicilleri B sütunu da örneğin ücret olsun. Sicili bulup ücretini günleyen basit bir kod örneği olsa benim için yeterli. Nasıl yapıldığını görsem sanırım yeterli olacaktır.

Veri tabanı alanı SICIL ve UCRET, table da PERSON olursa sanırım daha rahat anlarım.

Şimdiden teşekkürler.

Zeki Gürsoy
24-11-2008, 19:59
Merhaba,

Connection sorununuz olmadığını ve sicil sutununun string olduğunu varsayarsak şöyle bir syntax olabilir:

update [person]
set [ucret] = xxx
where [sicil] = 'yyy'
Burada sicil no = 'yyy' olan kişinin ücreti xxx olarak güncelleniyor.

Zeki Gürsoy
24-11-2008, 20:03
Ayrıca buradan Oracle 9 için SQL reference öğrenebilirsiniz..


http://www.lorentzcenter.nl/awcourse/oracle/server.920/a96540/toc.htm

Necdet Yeşertener
24-11-2008, 20:36
Merhaba Zeki Bey,

Kod için teşekkür ederim update sintaxsını zaten biliyorum, benim derdim, exceldeki her bilgi için mi veri tabanına bağlanacak, onu anlamadım.

Yani excelde 10 satır varsa yapı nasıl olmalı?

Zeki Gürsoy
24-11-2008, 20:41
Tek connection ve 10 Execute kullanılacak.

Necdet Yeşertener
24-11-2008, 20:45
Örnek rica etsem?

Connection da dahil olmak üzere, olası mı Zeki Bey?

beab05
24-11-2008, 21:03
Merhabalar;

Oracle için Connection String'i alttaki adresten alabilirsiniz.

http://www.connectionstrings.com/?carrier=oracle


Dim cnn As New ADODB.Connection
Set cnn = New ADODB.Connection
cnn.ConnectionString = "oracle connection satırı"
cnn.Open
cnn.Execute " update [person] set [ucret] = xxx where [sicil] = 'yyy'; "
cnn.Close
Set cnn = Nothing

Necdet Yeşertener
24-11-2008, 21:18
Sayın Zeki Bey, Sayın beab05,

Yarın işyerinde deneyeceğim, sonucu bildiririm.

Teşekkürler.

Necdet Yeşertener
25-11-2008, 09:56
Merhaba,

Dim cnn As New ADODB.Connection
Set cnn = New ADODB.Connection
cnn.ConnectionString = "ODBC;DRIVER={Microsoft ODBC for Oracle};UID=necdet;PWD=necdet;SERVER=oracle8;"

kırmızı olan satırda :

Compile error:

User-defined type not defined hatası alıyorum. Birşey eksik ama ne ?

Haluk
25-11-2008, 10:02
ADO referanslarını ekleyin ya da, değişkenleri Late Binding olarak deklare edin...

.

Ferhat Pazarçevirdi
25-11-2008, 10:21
Aşağıdaki gibi bir kalıp kullanabilirsiniz.

Sub DENEME()

'Ref : Microsoft Activex Data Object 2.X Library

Dim cnn As ADODB.Connection
Dim sSql As String
Dim i As Integer

Set cnn = New ADODB.Connection

With cnn
.ConnectionString = "Buraya Connection stringinizi yazın"
.Open
End With

For i = 1 To 10

sSql = "UPDATE [person] " & _
"SET [ucret] =" & Cells(i, 2) & " " & _
"WHERE [sicil] = '" & Cells(i, 1) & "'; "

cnn.Execute (Sql)


Next i

cnn.Close
Set cnn = Nothing

End Sub

Necdet Yeşertener
25-11-2008, 12:45
Çok teşekkürler arkadaşlar.

Ferhat Bey, bütün numara Microsoft Activex Data Object te imiş, onu keşfettim. Günleme işleminde de başarılı oldum. Kodlar aşağıdaki gibi oldu.


Sub baglan()
Dim i As Integer
Dim cnn As New ADODB.Connection
Set cnn = New ADODB.Connection
cnn.ConnectionString = "DRIVER={Microsoft ODBC for Oracle};UID=necdet;PWD=sifrem;SERVER=oracle8"
cnn.Open
For i = 2 To [A65536].End(3).Row
cnn.Execute " update necdet set job = '" & Cells(i, "C") & "' where empno = " & Cells(i, "A")
Next i
cnn.Close
Set cnn = Nothing
End Sub

Ferhat Pazarçevirdi
25-11-2008, 12:59
Eee. Necdet hocam, siz lalenin peşinden koşarken; ayağınızın altındaki papatyayı farketmemişsiniz anlaşılan :) Allah başka dert vermesin ...

Necdet Yeşertener
25-11-2008, 13:25
Sayenizde yeni bir şey daha öğrenmiş olduk. Artık kim tutar beni :)

Haluk
25-11-2008, 13:28
Artık kim tutar beni :)

Eklediğiniz referansa sahip olmayan herhangi bir PC çok rahat tutar...

Kemal Demir
25-11-2008, 13:34
Necdet hocam,

Haluk hocamız tutar :)

Necdet Yeşertener
25-11-2008, 13:58
Haluk Bey,

Benim bilgisayarımdan başka bir bilgisayarda çalışmayacak :)

O yüzden önemli değil başka bilgisayar :)

Kemal Demir
25-11-2008, 14:12
Araya limon gibi girmişim behhh :arkadas:

Necdet Yeşertener
25-11-2008, 16:33
Limon ne demek Kemal Bey,

Hem öğreneceğiz hem takılacağız, işin sırrı bu :)

Kemal Demir
25-11-2008, 17:37
Evet haklısın hocam.


Özel Arama