kaydet güncelle butonu

Katılım
18 Aralık 2005
Mesajlar
464
Excel Vers. ve Dili
ofis2003
arkadaşlar farklı iki tabloya kayıt kodlarla kayıt yapıyorum metin kutuları bağımsız. ben kaydet kodumu aynı zamanda verileri güncellemek içinde kullanmak istiyorum. kaydı geri çağırıp değişiklikleri yaptıktan sonra değişiklikleri de kaydetsin istiyorum yardımcı olabilirseniz sevinirim.
teşekkürler.


If TextBox0 & Metin6 = DLookup("[veri_kontrol]", "[tbl_1152_istek_kayit]", "[veri_kontrol]=forms![frm_pl_1152]!TextBox0 & Metin6") Then
MsgBox "BU MÜŞTERİ NUMARASI DAHA ÖNCE KULLANILMIŞTIR. LÜTFEN YENİ DEĞER GİRİN."
Undo
Else
MsgBox "KAYIT YAPILIYOR BEKLEYİN"

Dim rs1 As New ADODB.Recordset '1. tablo için
Dim rs2 As New ADODB.Recordset '2. tablo için
'////////////////////////////////////////
'1. tabloya kayıt başlıyor
rs1.Open "tbl_bakim_malzemeler", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rs1.AddNew
rs1("isemri_no") = TextBox0
rs1("ariza_kodu") = Metin2
rs1("personel_no") = Metin4
rs1("stok_no") = Metin6
rs1("birim_fiyat") = Metin8
rs1("miktar") = Metin10
rs1("temin_sekli_kodu") = Metin12
rs1("belge_no") = Metin14
rs1("ariza_kodu_dok") = Metin2
rs1("temin_sekli_kodu") = Metin12
rs1("parca_grup_id") = Metin16

rs1.Update
rs1.Close
Set rs1 = Nothing
'1. tabloya kayıt bitti
'*****************************************

'2. tabloya kayıt başlıyor
rs2.Open "tbl_1152_istek_kayit", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rs2.AddNew
rs2("plaka_no") = Metin31
rs2("arac_cinsi") = Metin33
rs2("is_emri_no") = TextBox0
rs2("ariza_kodu") = Metin2
rs2("malzeme_stok") = Metin6
rs2("malzeme_adi") = Metin40
rs2("parca_no") = Metin81
rs2("sistem_tanim") = Metin70
rs2("fiyati") = Metin8
rs2("ist_miktar") = Metin10
rs2("dag_birimi") = Metin35
rs2("temin_sekli_kodu") = Metin12
rs2("isteyen_pers_no") = Metin4
rs2("belge_tipi") = Açılan_Kutu50
rs2("ist_iade_tipi") = Açılan_Kutu52
rs2("dokuman_num") = Metin56
rs2("mlz_dur_kodu") = Açılan_Kutu58
rs2("bms") = Metin64
rs2("ihtiyac_ivediligi") = Metin68
rs2("islem_tav_kod") = Metin72
rs2("istek_devam_kod") = Metin74
rs2("belg_tepe_no") = Metin14
rs2("ikm_mutemedi") = Metin44
rs2("ikm_kom") = Metin46.Column(2)
rs2("depo_sorumlusu") = Metin48
rs2("istek_tarihi") = Metin84
rs2("veri_kontrol") = TextBox0 & Metin6
rs2.Update
rs2.Close
Set rs2 = Nothing

'2. tablo kayıt bitti
'**************************

MsgBox "kayıt işlemi tamamlandı veya değişiklikler kaydedildi…", 32, "Kayıt Bilgisi"

End If

End Sub
 
Katılım
19 Eylül 2008
Mesajlar
331
Excel Vers. ve Dili
2003
ilgili kaydı ekrana getirtebilirseniz problemkalmayacaktır.
İyi çalışmalar
 
Katılım
18 Aralık 2005
Mesajlar
464
Excel Vers. ve Dili
ofis2003
tüm arkadaşlara ilgilerinden dolayı teşekkürler. metin ve açılır kutularımın veri kaynakları boş neyin nereye kaydedileceğini ben kodla belirtiyorum. Farklı iki tabloya kayıt olduğu için veri kaynağını gösteripte accsess'in kendi kaydet düğmesini kullandığım zaman hata veriyor. veri kaynağı gösterilikken bu kodu kullanınca 2 kere kayıt yapıyor. benim veriyi birkere kaydetmem gerekiyor benzersizlik kontrolü yaparak kayıt ediyorum. değişiklikleri kaydedebilmem içinse önce benzersiz verimi bulmalı sonra onun üzerine kayıt yapmalı. bu şekilde bir kod varmı veya yazılabilirmi. verileri liste kutusundan geri getiriyorum tıkladığımda ilgili kutular doluyor.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın orcunerkek54,

Access de kolaylık var iken neden bu yolu tercih ediyorsunuz?

rs1.AddNew

komutu yeni bir veri yazmaya hazır duruma getirir tabloyu. Siz güncelleme için güncelleme sorgusu (sql) oluşturup onu çalıştırmanız gerekir.

Access içinde yeni bir sorgu oluşturun güncelleştireceğiniz tabloyu ekleyip güncelleştirme alanında formdaki alanı gösterin, sonra sql kodlarını inceleyin size ışık tutacaktır.

İyi çalışmalar
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Kaydı forma nasıl getiriyorsunuz.. Manuel değil sanırım..
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
"işlem durumu eğer İPTAL ise veri tbl_ikmal_istek tablosundan silinmemeli ancak tbl_malzeme kayıttan silinmeli"

Bu şartı oluşturan kod bu şekilde..


Kod:
    Dim trz, krtr As String
    krtr = Forms![frm_istek_belgesi]!isemr_no
    trz = "delete from tbl_mlz_kayit" _
        & " where isemrino='" & krtr & "'"
    If islem_durumu = "İptal" Then
        CurrentDb.Execute trz, dbFailOnError
    End If
Kayıt isemrino ya göre silinir..

İşlem durumu "İstek" olduğunda da bir şart varsa ona göre geliştirelim..
 
Katılım
18 Aralık 2005
Mesajlar
464
Excel Vers. ve Dili
ofis2003
İlginiz için teşekkürler. Kodlarınız çalıştı. Ben kodlarınızı aşağıdaki gibi değiştirmek istedim ancak iki alan sorgusu olduğu için çalışmadı galiba. Bir tbl_malz_kayıt tablosunda birden fazla aynı iş emri numarası olabilir ancak o işemri numarasına aynı stoktan ikitane olamaz bu sebepten silme işlemi için iş emri numarasını ve stok numarasını birlikte kontrol etmeli ve ona göre silme işlemi yapması gerekiyor.yardımcı olabilirseniz sevinirim.
Tüm arkadaşlara teşekkürler.

Dim trz, krtr As String
krtr = Forms![frm_istek_belgesi]!isemr_no & stok_no
trz = "delete from tbl_mlz_kayit" _
& " where isemrino & stok_no ='" & krtr & "'"
If islem_durumu = "İptal" Then
CurrentDb.Execute trz, dbFailOnError
MsgBox "kayıt silindi"
End If

Form_frm_istek_belgesi.Refresh
 
Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

Kodu bu şekilde kullanınız..

Kod:
[COLOR=#0600ff]Dim[/COLOR] trz, krtr, krtr2 [COLOR=#0600ff]As[/COLOR] [COLOR=#0600ff]String[/COLOR]
    krtr [COLOR=#008000]=[/COLOR] [COLOR=#000000][[/COLOR]Forms[COLOR=#000000]][/COLOR]![COLOR=#000000][[/COLOR]frm_istek_belgesi[COLOR=#000000]][/COLOR].[COLOR=#000000][[/COLOR]isemr_no[COLOR=#000000]][/COLOR]
    krtr2 [COLOR=#008000]=[/COLOR] [COLOR=#000000][[/COLOR]Forms[COLOR=#000000]][/COLOR]![COLOR=#000000][[/COLOR]frm_istek_belgesi[COLOR=#000000]][/COLOR].[COLOR=#000000][[/COLOR]stok_no[COLOR=#000000]][/COLOR]
    trz [COLOR=#008000]=[/COLOR] [COLOR=#fb0000]"delete [isemrino], [stok_no] from tbl_mlz_kayit"[/COLOR] _
        [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" WHERE isemrino='"[/COLOR] [COLOR=#008000]&[/COLOR] krtr [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]"' And stok_no = '"[/COLOR] [COLOR=#008000]&[/COLOR] krtr2 [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]"'"[/COLOR]
    [COLOR=#0600ff]If[/COLOR] islem_durumu [COLOR=#008000]=[/COLOR] [COLOR=#fb0000]"İptal"[/COLOR] [COLOR=#0600ff]Then[/COLOR]
        CurrentDb.Execute trz
    [COLOR=#0600ff]End[/COLOR] [COLOR=#0600ff]If[/COLOR]
 
Katılım
18 Aralık 2005
Mesajlar
464
Excel Vers. ve Dili
ofis2003
syn Taruz kodlarınız çalıştı ilginiz için çok teşekkürler. birde sizden ricam değişikliklerin kaydolması için bir kod örneği verebilirmisiniz. kaydedilmiş kayıtta değişiklik yapmak istediğimde nasıl bir kod yazmalıyım. örnek dosyamı ekliyorum.
size ve tüm arkadaşlara teşekkürler.
 

Ekli dosyalar

Katılım
18 Nisan 2007
Mesajlar
2,053
Excel Vers. ve Dili
Access 2019
Merhaba..

İki tabloda da ortak alanlar olduğu için ve siz hangi değişikliğin hangi tabloya yansımasını istediğinizi belirtmediğinizden genel yapıya göre güncelleme sorguları hazırladım.. Alanları değiştirerek veya ilave ederek istediğiniz gibi geliştirebilirsiniz..

Kod:
[COLOR=#0600ff]Dim[/COLOR] trzA, trzB [COLOR=#0600ff]As[/COLOR] [COLOR=#0600ff]String[/COLOR]
    trzA [COLOR=#008000]=[/COLOR] [COLOR=#fb0000]"Update tbl_mlz_kayit"[/COLOR] _
         [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" SET tbl_mlz_kayit.plaka_no = Forms!frm_istek_belgesi!plaka_no,"[/COLOR] _
         [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" tbl_mlz_kayit.malzeme_adi = Forms!frm_istek_belgesi!mlz_adi,"[/COLOR] _
         [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" tbl_mlz_kayit.fiyati = [Forms]![frm_istek_belgesi]![fiyati],"[/COLOR] _
         [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" tbl_mlz_kayit.tarih = [Forms]![frm_istek_belgesi]![ist_tarih]"[/COLOR] _
         [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" WHERE tbl_mlz_kayit.isemrino=[Forms]![frm_istek_belgesi]![isemr_no]"[/COLOR] _
         [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" AND tbl_mlz_kayit.stok_no=[Forms]![frm_istek_belgesi]![stok_no]"[/COLOR]
 
    trzB [COLOR=#008000]=[/COLOR] [COLOR=#fb0000]"Update tbl_ikmal_istek"[/COLOR] _
         [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" SET tbl_ikmal_istek.isteyenkisi = [Forms]![frm_istek_belgesi]![ist_pers],"[/COLOR] _
         [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" tbl_ikmal_istek.istekmik = [Forms]![frm_istek_belgesi]![ist_mik],"[/COLOR] _
         [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" tbl_ikmal_istek.kullanılan_birim = [Forms]![frm_istek_belgesi]![Kul_birim],"[/COLOR] _
         [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" tbl_ikmal_istek.unitesi = [Forms]![frm_istek_belgesi]![unite],"[/COLOR] _
         [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" tbl_ikmal_istek.verikontrol = [Forms]![frm_istek_belgesi]![veri_kontrol],"[/COLOR] _
         [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" tbl_ikmal_istek.islem_durumu = [Forms]![frm_istek_belgesi]![islem_durumu]"[/COLOR] _
         [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" WHERE tbl_ikmal_istek.isemrino=[Forms]![frm_istek_belgesi]![isemr_no] "[/COLOR] _
         [COLOR=#008000]&[/COLOR] [COLOR=#fb0000]" AND tbl_ikmal_istek.stokno=[Forms]![frm_istek_belgesi]![stok_no]"[/COLOR]
 
 
 
    [COLOR=#0600ff]With[/COLOR] DoCmd
        .SetWarnings [COLOR=#0600ff]False[/COLOR]
        .[COLOR=#000000]RunSQL[/COLOR] trzA
        .[COLOR=#000000]RunSQL[/COLOR] trzB
        .SetWarnings [COLOR=#0600ff]True[/COLOR]
    [COLOR=#0600ff]End[/COLOR] [COLOR=#0600ff]With[/COLOR]
    Liste34.[COLOR=#0600ff]Requery[/COLOR]
    Liste38.[COLOR=#0600ff]Requery[/COLOR]
 
Katılım
18 Aralık 2005
Mesajlar
464
Excel Vers. ve Dili
ofis2003
yardımınız için çok teşekkürler size nekadar teşekkür etsem azdır. tem arkadaşlara iyi günler dilerim.
 
Üst