• DİKKAT

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

userformdaki bilgileri access'e aktarmak

Katılım
30 Mart 2008
Mesajlar
44
Excel Vers. ve Dili
EXCEL 2007 TÜRKÇE
Merhaba,
ustalarım ben bu işi öğrenmek istiyorum.
ama bir türlü beceremiyorum.

benim bir satış sözleşmem var.bu userformdan bilgilerin tamamını data.mdb dosyasına kaydetmek istiyorum.

yardımlarınız bekliyorum. iyi çalışmalar.
 
Access 2007 ile conn. string de değişti. Örnek:

Kod:
cn.Open _
    "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
        ThisWorkbook.Path & "\data.accdb"
 
zeki üstadım özür 2003 olarak yeniden kaydettim.
ama verdiğin kod ile denedim hata verdi.
yeniden gözden geçirebilirmisin.
sana zahmet.
çünkü user formda fazlaca veri var.
 
Aşağıda görülen prosedurde "???" olan kısımları sayfa formuna göre uyarlayın. Ben ikisini yazdım.

Kod:
Sub add_new()
Dim cn As Object, rs As Object

Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open _
    "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
        ThisWorkbook.Path & "\data.accdb"
        
rs.Open "SOZLESME", cn, 1, 3

With rs
    .addnew
    .fields("FİRMA İSMİ") = [b10]
    .fields("ŞAHIS İSMİ") = [b11]
    .fields("???") = "???"
    .fields("???") = "???"
    .Update
    .Close
End With

cn.Close

Set rs = Nothing
Set cn = Nothing
End Sub
 
çok teşekkür ederim Zeki Üstadım.Ellerine sağlık.
Üstadım mesela userformda çok fazla alan var. Acaba bunları daha kısa bir yöntemle yapabilirmiyiz.

- bu verdiğiniz kodu kaydet butonu ile yapabilirim değilmi?
 
Boş bir modul ekleyip içine yapıştırın ve butona bağlayın.

Buton altında,
Kod:
Call add_new
olarak çağırabilirsiniz.
 
Zeki Üstadım çok teşekkür ederim.Ellerine sağlık.
biraz kızdırdım galiba. özür dilerim.
öğrenmeye çalışıyorum.
 
zeki üstadım acaba modülde her hücreyi tek tek yazıyoruzya.bunu nasıl kısayoldan bütün bilgiyi kayda alabiliriz.
user form boşken kayıt tuşuna basıldığında kayıt yapmasa uyarı verse.
 
zeki üstadım acaba modülde her hücreyi tek tek yazıyoruzya.bunu nasıl kısayoldan bütün bilgiyi kayda alabiliriz.
user form boşken kayıt tuşuna basıldığında kayıt yapmasa uyarı verse.mümkünatı yokmudur zeki üstadım.
 
Son düzenleme:
zeki üstadım acaba modülde her hücreyi tek tek yazıyoruzya.bunu nasıl kısayoldan bütün bilgiyi kayda alabiliriz.
user form boşken kayıt tuşuna basıldığında kayıt yapmasa uyarı verse.mümkünatı yokmudur zeki üstadım.
 
Uyarı için aşağıdaki gibi kullanabilirsiniz. Tek tek yazma kısaltılabilir. Bir kez yazacağınız için tek tek yazın, üşenmeyin. ;)

Kod:
Sub Test()

    If Not IsEmpty("textbox?") Then
        Call add_new
    Else
        MsgBox "Formda boş alan bırakmayın."
    End If
    
End Sub

Sub add_new()
Dim cn As Object, rs As Object

Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open _
    "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
        ThisWorkbook.Path & "\data.accdb"
        
rs.Open "SOZLESME", cn, 1, 3

With rs
    .addnew
    .fields("FİRMA İSMİ") = "textbox?"
    .fields("ŞAHIS İSMİ") = "textbox?"
    .fields("???") = "???"
    .fields("???") = "???"
    .Update
    .Close
End With

cn.Close

Set rs = Nothing
Set cn = Nothing
End Sub
 
Geri
Üst