Skip to main content

AccessTr.neT


Update Deyiminde Sözdizimi Hatası (Run Time Error -2147217900 "(80040e14)" hatası

Update Deyiminde Sözdizimi Hatası (Run Time Error -2147217900 "(80040e14)" hatası

#16
1 - textbox1 değerini nereden alıyor?
2 - güncelleme yapabilmem için neler yapılmalı adım adım anlatır mısınız?
hangi kutulara hangi değerler atanmalı

kodun ilgili kısmını aşağıdakiyle değiştirip dener misiniz?
Not: normalde seçilen ürünün Idinin otomatik gelmesi gerekmez mi?
anahtar alanı neden elle giriliyor? anahtar değerini elle girince sorunsuz güncelledi

Kod:
Dim id As Long

Dim brüt As String
Dim fyt As String
Dim isk1 As String
Dim isk2 As String
Dim isk3 As String
Dim mktr As String
Dim tutar As String
Dim vergi As String
'dogru tanimladimmi ondalikli olarak  bir deneyin accesste nasil olacak sonuc


id = TextBox1.Value
brüt = Replace(TextBox10.Value, ",", ".")
fyt = Replace(TextBox9.Value, ",", ".")
isk1 = Replace(TextBox46.Value, ",", ".")
isk2 = Replace(TextBox47.Value, ",", ".")
isk3 = Replace(TextBox48.Value, ",", ".")
vergi = Replace(TextBox49.Value, ",", ".")
mktr = Replace(TextBox8.Value, ",", ".")
ser1 = TextBox24.Value
ser2 = TextBox25.Value
ser3 = TextBox26.Value
ser4 = ComboBox5.Value
stkad = TextBox7.Value
stkkd = ComboBox4.Value
tutar = Replace(TextBox23.Value, ",", ".")

Set baglan = CreateObject("adodb.connection")
baglan.Open "provider=Microsoft.ACE.OLEDB.12.0;data source=" & ThisWorkbook.Path & "\veritabani.mdb"

StrTcVr = IIf(Len(TextBox46) = 0, ", İskonto1=Null", ", İskonto1=" & isk1) & IIf(Len(TextBox47) = 0, ",İskonto2=Null", ",İskonto2=" & isk2) & IIf(Len(TextBox48) = 0, ",İskonto3=Null", ",İskonto3=" & isk3)


  SqlG = "UPDATE SiparisKayitlari SET Stok_Kodu='" & stkkd & "'" & ",Stok_Adi='" & stkad & "',Miktar=" & mktr & _
  ",Fiyat=" & fyt & ", BrütTutar=" & brüt & "" & _
  ",İskonto1=" & isk1 & ",İskonto2=" & isk2 & ",İskonto3=" & isk3 & " ,Tutar=" & tutar & ",KDV=" & vergi & _
  ",Serbest_1='" & ser1 & "',Serbest_2='" & ser2 & "',Serbest_3='" & ser3 & "',Serbest_4=" & ser4 & " WHERE kimlik = " & id
               

baglan.Execute (SqlG)

Set baglan = Nothing

bu arada serbest alanlarının türü ne? ilk 3ü metin 4.sü uzun tam sayı mı? ilk 3ünü metin gerisi sayı gibi ayarladım ama açıkçası emin olamadım
ayrıca alanlarınızda her hangi bir sınırlandırma görmedim serbest4 alanı uzun tamsayı ama ilişkili metine virgüllü sayı da girilebiliyor.
deneme yaparken "serbest" alanlarına virgüllü sayı girmeden deneyin
yada aşağıdaki gibi ama yukardaki uyarılar burada da geçerli
Kod:
Dim id As Long

Dim brüt As Double
Dim fyt As Double
Dim isk1 As Double
Dim isk2 As Double
Dim isk3 As Double
Dim mktr As Double
Dim tutar As Double
Dim vergi As Double
'dogru tanimladimmi ondalikli olarak  bir deneyin accesste nasil olacak sonuc


id = TextBox1.Value
brüt = TextBox10.Value
fyt = TextBox9.Value
isk1 = TextBox46.Value
isk2 = TextBox47.Value
isk3 = TextBox48.Value
vergi = TextBox49.Value
mktr = TextBox8.Value
ser1 = TextBox24.Value
ser2 = TextBox25.Value
ser3 = TextBox26.Value
ser4 = ComboBox5.Value
stkad = TextBox7.Value
stkkd = ComboBox4.Value
tutar = TextBox23.Value

Set baglan = CreateObject("adodb.connection")
baglan.Open "provider=Microsoft.ACE.OLEDB.12.0;data source=" & ThisWorkbook.Path & "\veritabani.mdb"

StrTcVr = IIf(Len(TextBox46) = 0, ", İskonto1=Null", ", İskonto1=" & isk1) & IIf(Len(TextBox47) = 0, ",İskonto2=Null", ",İskonto2=" & isk2) & IIf(Len(TextBox48) = 0, ",İskonto3=Null", ",İskonto3=" & isk3)


  SqlG = "UPDATE SiparisKayitlari SET Stok_Kodu='" & stkkd & "'" & ",Stok_Adi='" & stkad & "',Miktar=" & mktr & ",Fiyat=ccur('" & fyt & _
  "'), BrütTutar=ccur('" & brüt & "')" & _
  ",İskonto1=ccur('" & isk1 & "'),İskonto2=ccur('" & isk2 & "'),İskonto3=ccur('" & isk3 & "') ,Tutar=ccur('" & tutar & "'),KDV=ccur('" & vergi & "')" & _
  ",Serbest_1='" & ser1 & "',Serbest_2='" & ser2 & "',Serbest_3='" & ser3 & "',Serbest_4=" & ser4 & " WHERE kimlik = " & id

baglan.Execute (SqlG)

Set baglan = Nothing

bu arada dikkatimi çekti aynı siparişNo'dan birden fazla vara mesela "X00000000001"den 5 tane var daha önceki bir konunuzda eklediğimiz kod düzgün çalışmıyor mu?
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Re: Update Deyiminde Sözdizimi Hatası (Run Time Error -2147217900 "(80040E14)" Hatası - Yazar: berduş - 16/04/2020, 10:56