Skip to main content

AccessTr.neT


Update Hatası

Update Hatası

#7
eğer metin alanları sıralı ise belki tag özelliği işinize yarayabilir
önce değerlerin olduğu metin kutularını seçip im/tag="ekle" yada istediğiniz bir şey yapın
aşağıdaki koda benzer bir şeyler deneyebilirsiniz
formdaki tum nesneleri kontrol edip im/tag="ekle" olanları txtstring ekler


Dim kutu As Control

dim txtdeger as string

txtdeger=""
For Each kutu In Me
  
If kutu.Tag = "ekle" Then txtdeger= iif(isnull(txtdeger);kutu;"," & kutu)  
Next

DoCmd.RunSQL "INSERT INTO tablo2 (Daire,Mahalle,....) VALUES ('" & txtstring & "')"
Cevapla
#8
If kutu.Tag = "ekle" Then txtdeger= iif(isnull(txtdeger);kutu;"," & kutu)
kırmızı syntx hatası veriyor 
;kutu; değerinin işaretlerini , yapınca syntx hatası gidiyor
If kutu.Tag = "ekle" Then txtdeger= iif(isnull(txtdeger),kutu,"," & kutu)

bu sefer de sorgu değerleri ile hedef alanlarının sayısı aynı değil
hatası alıyorum
.rar form1 den form2 veri aktar.rar (Dosya Boyutu: 44,6 KB | İndirme Sayısı: 3)
Cevapla
#9
Private Sub Komut62_Click()
Dim kutu As Control
Dim txtDeger As String
txtDeger = ""
For Each kutu In Me
   If kutu.Tag = "ekle" Then txtDeger = txtDeger & IIf(txtDeger = "", kutu, "','" & kutu)
Next
DoCmd.RunSQL "INSERT INTO tablo2 (adı,soyadı,tc) VALUES ('" & txtDeger & "')"
End Sub
kodu düzelttim 
2. yöntem olarak eğer alanlar sıralı ise
1. alan= metin1 
2. alan =metin2
…….
125alan =metin125

biçimimde ise ve aynı formd ise
for i=1 to metin kutusu sayısı
txtdeger=txtDeger & iif(txtdeger="",controls("metin" & i),"','" & controls("metin" & i))
next
DoCmd.RunSQL "INSERT INTO tablo2 (adı,soyadı,tc) VALUES ('" & txtstring & "')"

farklıformda ise mesela form2 de ise forms("form2")
for i=1 to metin kutusu sayısı
txtdeger=txtDeger & iif(txtdeger="",forms("form2").controls("metin" & i),"','" & forms("form2").controls("metin" & i))
next
DoCmd.RunSQL "INSERT INTO tablo2 (adı,soyadı,tc) VALUES ('" & txtstring & "')"
Cevapla
#10
olmadı hocam ya
sorgu değerleri ile hedef alanlarının sayısı aynı değil
hatası yada
syntx hatası veriyor
ya da
beceremedim
teşekkür ederim
Cevapla
#11
Zafer bey 9. Mesajdaki kodu kendimde denedigimde hata vermedi
 Noktalama işaretlerini iyice kontrol edip tekrar dener misiniz
Private Sub Komut62_Click() 
Dim kutu As Control
Dim txtDeger As String
txtDeger = ""
For Each kutu In Me   
If kutu.Tag = "ekle" Then txtDeger = txtDeger & IIf(txtDeger = "", kutu, "','" & kutu)
Next
DoCmd.RunSQL "INSERT INTO tablo2 (adı,soyadı,tc) VALUES ('" & txtDeger & "')"
End Sub
Cevapla
#12
doğrudur çalıştı
kodları tekrar kontrol ettim 
aynı nerede hata yaptım anlamadım

ama çalışıyor teşekkür ederim Haliliyas hocam sizden kaçmayacağını biliyordum
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da