• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Vba ile Sql Serverdaki tabloyu güncellemek

Katılım
14 Ocak 2005
Mesajlar
807
Excel Vers. ve Dili
Microsoft Office Professional Plus 2021
Selam arkadaşlar;

Benim A1 de MlzKod B1 de MlzAd C1 de MlzMly D1 de MlzSatFyt

Şeklinde excelde fiyatını maliyetin kontrolettiğim 50 adet ürün listem var ben burda maliyeti belli bişey altına düşen malzemelerin fiyatlarını yükseltiyorum D1 MlzSatFyt sutununda

Öyle bir macro yapmalyım ki SqlServerdeki tablom

Şu şu bölümleri var Tablo ismim Fiyatlar

Bolum MlzKod MlzSatFyt


Macroyu çalıştırdığım zaman benim belirlemiş olduğum bölümdeki (sabittir örnek bolum=105) exceldeki a2 stununmda ki mlzKod umla bu bölümde eşleşenin fiyatını D1 stunundaki d2 hücresine yazmış olduüum fiyatı sqlde de MlzSatFyt sini değiştirsin.

Nasıl yapabilirim. Sql erişim tamamdır. izinler tamamdır.
sadece sorgu cümlesi ve döngüsü olsa işimi çözer
 
Kod:
 Public SQLCON As New ADODB.Connection
Public tRid

Public Sub Main()
SQLCON.ConnectionTimeout = 30 ' Time out for the connection
SQLCON.Provider = "sqloledb"   ' OLEDB Providers
SQLCON.Properties("Network Address").Value = "192.168.0.100"  ' set the ip address of your sql server
SQLCON.CommandTimeout = 30 ' set timeout for 3 minutes
SQLCON.Properties("Data Source").Value = "gard"
SQLCON.Properties("Initial Catalog").Value = "DATA19"
SQLCON.Properties("User ID").Value = "sa"
SQLCON.Properties("Password").Value = "123"
SQLCON.CursorLocation = adUseClient
End Sub
Kod:
Dim SQL2 As String
Dim SQL3 As String
Dim SQL4 As String
Dim SQLANA As String

Dim i As Long
Dim sayfa As Worksheet

Sub fiyatguncelle()

Set SAYFA = Sheets("takipkart")

'  bağlantı stringi
Call Main 

' Set SQLCON = CreateObject("adodb.connection")
SQLCON.Open

With SAYFA
For I = 4 To .Range("a65536").End(3).Row
    SQL1 = "update FIYAT SET FIYATFIY='" & (.Cells(I, "F").Value) & "' WHERE FIYAT_BOLUM=105 AND FIYATMLZKOD=" & CStr(.Cells(I, "C").Value) & ""
  
    SQLANA = SQL1

SQLCON.Execute (SQLANA)
Next I
End With

Set SQLCON = Nothing
Set SAYFA = Nothing
I = Empty: SQLANA = vbNullString
   
    
SQLCON.Close
end sub

Burda nerde hata yapıyor olabilirim ki

SQLCON.Execute (SQLANA) bu satırda hata veriyor.
 
Merhaba,

where kısmında "CStr" ile kriteri string ifadeye çevirmişsiniz. "fiyatmlzkod" alanı string ise, tek tırnak ( ' ) işareti eksik olabilir.

Ya da, "fiyatfiy" alanı tek tırnak işareti içine alınmış ve fiyat alanları sayısal alan olması beklenir. Burayı da kontrol edin bence.
 
Geri
Üst