Skip to main content

AccessTr.neT


Kayıt Da Insert Into Yerıne Ado Kullanırken Alana Girilecek Değeri Verme

Oğuz Türkyılmaz
Oğuz Türkyılmaz
12
748

Kayıt Da Insert Into Yerıne Ado Kullanırken Alana Girilecek Değeri Verme

Çözüldü #1
Merhaba

Formdan T_UyeHesap tablosuna ıslem turunu Alacak olarak kaydettiğim kayıt işlemini ADO ile kayıt yaparken nasıl tanımlayabilirim. Teşekkürler
Visual Basic Code
'CurrentDb.Execute " insert into T_UyeHesap " & _
 '            " (  UyeNo,Tarih,IslemTuru, Tutar, Aciklama ) values " & _
              " ( " & Me.UyeNo_TXT & ",'" & Me.Tarih_TXT & "','Alacak', '" & Me.Tutar_TXT & "','" & Me.Aciklama_TXT & "')"
'End If
  

ADO 


Visual Basic Code
Private Sub Kaydet_BTN_Click()

If MsgBox("Girdiğiniz veriler kaydedilecektir, Onaylıyormusunuz ", vbExclamation + vbYesNo, "Dikkat") = vbNo Then Exit Sub

Dim rstkayit As ADODB.Recordset
Dim strSQL As String

strSQL = "SELECT * FROM T_UyeHesap "
    Set rstkayit = New ADODB.Recordset
    rstkayit.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
        With rstkayit
            If Not rstkayit.EOF Then
                 .AddNew
                .Fields("Tarih") = Me.Tarih_TXT
                .Fields("UyeNo") = Me.UyeNo_TXT
                .Fields("IslemTuru") = Me.IslemTuru_CBO.Column(0)
                .Fields("Tutar") = Me.Tutar_TXT
                .Fields("Aciklama") = Me.Aciklama_TXT
                .Update
             End If
        End With
        
        
        strSQL = "SELECT * FROM T_UyeTahsilat "
    Set rstkayit = New ADODB.Recordset
    rstkayit.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
        With rstkayit
            If Not rstkayit.EOF Then
                 .AddNew
                .Fields("UyeNo") = Me.UyeNo_TXT
                .Fields("GelirKodu") = Me.GelirKodu_TXT
                .Fields("GelirTipi") = Me.GelirTipi_TXT
                .Fields("TaksitAyKapama") = Me.TaksitAyKapama_CBO.Column(0)
                .Fields("Tarih") = Me.Tarih_TXT
                .Fields("AidatTutar") = Me.AidatTutar_TXT
                .Fields("Aciklama") = Me.Aciklama_TXT
                .Update
             End If
        End With
                              
Dim fat As Control
    For Each fat In Me.Form.Controls
   Select Case fat.ControlType
      Case acTextBox 'Bütün metin kutularini bosalt
         fat.Value = ""
        Case acComboBox 'bütün açilan kutulari bosalt
           fat.Value = ""
           Case acCheckBox
              fat.Value = "0"
      End Select
      
      Next
    
    Tarih_TXT = Date
      
End Sub
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#2
(06/03/2020 12:09)Oğuz Türkyılmaz Adlı Kullanıcıdan Alıntı: .Fields("IslemTuru") = Me.IslemTuru_CBO.Column(0)
Visual Basic Code
.Fields("IslemTuru") = "Alacak"
şeklinde denediniz mi
Cevapla
#3
(06/03/2020 12:17)berduş Adlı Kullanıcıdan Alıntı:
(06/03/2020 12:09)Oğuz Türkyılmaz Adlı Kullanıcıdan Alıntı: .Fields("IslemTuru") = Me.IslemTuru_CBO.Column(0)
Visual Basic Code
.Fields("IslemTuru") = "Alacak"
şeklinde denediniz mi

Evet Denemiştim Sn@berduş hata vermişti
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#4
Formu Yükledim
.rar ADO _ALACAK.rar (Dosya Boyutu: 35 KB | İndirme Sayısı: 3)
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#5
(06/03/2020 12:27)Oğuz Türkyılmaz Adlı Kullanıcıdan Alıntı: hata vermişti


Lütfen bu tür sorularınızda aldığınız hatayı açıklamalı olarak yazın. Kodu aşağıdaki ile değiştirerek deneyin.

Visual Basic Code
Private Sub Kaydet_BTN_Click()

If MsgBox("Girdiğiniz veriler kaydedilecektir, Onaylıyormusunuz ", vbExclamation + vbYesNo, "Dikkat") = vbNo Then Exit Sub

Dim rstkayit As ADODB.Recordset
Dim strSQL As String

strSQL = "SELECT * FROM T_UyeHesap "
    Set rstkayit = New ADODB.Recordset
    rstkayit.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
        With rstkayit
                 .AddNew
                .Fields("Tarih") = Me.Tarih_TXT
                .Fields("UyeNo") = Me.UyeNo_TXT
                .Fields("IslemTuru") = "ALACAK" ' İşlem Turunu Alacak olarak kaydetmesi gerekiyor
                .Fields("Tutar") = Me.Tutar_TXT
                .Fields("Aciklama") = Me.Aciklama_TXT
                .Update
                
        End With
        
    rstkayit.Close
    Set rstkayit = Nothing
        
        
    strSQL = "SELECT * FROM T_UyeTahsilat "
    Set rstkayit = New ADODB.Recordset
    rstkayit.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
        With rstkayit
                 .AddNew
                .Fields("UyeNo") = Me.UyeNo_TXT
                .Fields("GelirKodu") = Me.GelirKodu_TXT
                .Fields("GelirTipi") = Me.GelirTipi_TXT
                .Fields("TaksitAyKapama") = Me.TaksitKapama_CBO.Column(0)
                .Fields("Tarih") = Me.Tarih_TXT
                .Fields("AidatTutar") = Me.Tutar_TXT
                .Fields("Aciklama") = Me.Aciklama_TXT
                .Update
        End With
                              
    rstkayit.Close
    Set rstkayit = Nothing
                              
Dim fat As Control
    For Each fat In Me.Form.Controls
   Select Case fat.ControlType
      Case acTextBox 'Bütün metin kutularini bosalt
         fat.Value = ""
        Case acComboBox 'bütün açilan kutulari bosalt
           fat.Value = ""
           Case acCheckBox
              fat.Value = "0"
      End Select
      
      Next
    
    Tarih_TXT = Date
      
End Sub
"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 
Cevapla
#6
Oğuz bey
1 - ADO referansını eklememişsiniz
2 - Atama yaptığınız metin kutuları yada açılır kutular artık yok ismi değişmiş yada silinmiş olabilir
onun dışında 2. mesajda yazdığım kod çalıştı.

siz sürekli formda olmayan nesnelere atıfta bulunuyorsunuz yada referansı eklememiş oluyorsunuz hatalar da o nedenle çıkıyor.
mesela IslemTuru_CBO, TaksitAyKapama_CBO yada AidatTutar_TXT nesneleri yok ama siz onlara atıfta bulunduğunuzdan hata veriyor
iyi çalışmalar
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da