• DİKKAT

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

Verileri Güncelleme

  • Konbuyu başlatan Konbuyu başlatan ahmedummu
  • Başlangıç tarihi Başlangıç tarihi
A

ahmedummu

Misafir
Merhaba arkadaşlar.

Excel sayfasına girdiğim verileri değiştiremiyorum. Daha önce yaptığım örneklerle ve sitenizden aratarak bulduğum örneklerin hepsini denedim maalesef değişiklik olmadı. Örnek dosyayı ekliyorum. İki gündür işin içinden çıkamadım. Yardımcı olursanız çok sevinirim.

Userform2 üzerindeki commandbutton4 içinde güncelleme kodları. Hata mesajınıda resim olarak gönderiyorum. Yalnız hatayı verdikten sonra görevi sonlandırmak gerekiyor. Userform2 üzerindeki listbox2'den (Aşağıdaki listbox) seçilen kişinin verileri güncellenecek.
 

Ekli dosyalar

  • SORU.rar
    SORU.rar
    217.6 KB · Görüntüleme: 13
Daha önceki mesajlarımda yazmıştım RowSource yöntemi ile veri alırken veya kayıt yaparken önce RowSource olay yordamını pasif yapmanız gerekiyor

diğer bir durum ActiveCell.Offset yöntemini kullanmayınız range veya cells yöntemleri ile hücrenin tam adresini kullanınız.
 
Hayırlı akşamlar.

Aşağıdaki şekilde değiştirdim. Bu kez "Application-defined or object-defined error" hatasını veriyor. Bir de RoeSource olayını nasıl pasif hale getireceğimi bilmiyorum yardımcı olursanız sevinirim.

Kod:
Dim z As Byte
For z = 9 To 39
Sheets("ÇİZELGE").Cells(0, z - 7).Value = Controls("textbox" & z).Value
Next z
 
Moderatör tarafında düzenlendi:
Şu haliyle de hata uyarısı resmini eklediğim hatayı veriyor.

Kod:
DÜZ = ListBox2.ListIndex
Set S1 = Sheets("ÇİZELGE")
S1.Cells(DÜZ, "D") = TextBox9.Value
S1.Cells(DÜZ, "E") = TextBox10.Value
S1.Cells(DÜZ, "F") = TextBox11.Value
S1.Cells(DÜZ, "G") = TextBox12.Value
S1.Cells(DÜZ, "H") = TextBox13.Value
S1.Cells(DÜZ, "I") = TextBox14.Value
S1.Cells(DÜZ, "J") = TextBox15.Value
'...
'...
'...
 

Ekli dosyalar

  • UYARI.jpg
    UYARI.jpg
    17.1 KB · Görüntüleme: 2
Aşağıdaki hali ile de

Kod:
Dim SOR As String, S1 As Worksheet, DÜZ As Long, i As Integer
If ListBox2.ListIndex >= 0 Then
SOR = MsgBox("Düzeltme İşlemi Yapılacak Emin Misiniz_?", vbYesNo, "Onay")
If SOR = vbNo Then Exit Sub
DÜZ = ListBox2.ListIndex + 5
Set S1 = Sheets("ÇİZELGE")
For i = 2 To 32
S1.Cells(DÜZ, i) = Controls("TextBox" & i + 7).Value
Next i


İki gündür uğraşıyorum içinden çıkamadım arkadaşlar Yardımcı olursanız sevinirim.
 
Hayırlı geceler Halit bey.

Dediğiniz 20. ve 22. mesajlardaki kodları inceledim zaten ikisi de aynı kodlar. Ama Vallahi yine yapamadım. Office 2003 kullanıyorum evde ondan olabilir mi?
İki gündür güncelleme için uğraşıyorum. Daha önce yaptığım bir dosyada aynı kodlar çalışıyor. Sadece textbox isimleri farklı. Verilerin kaydedildiği sayfa aynı sayfa.
 
Kodlarınızın yapısı böyle olmalı

Kod:
UserForm2.ListBox2.RowSource = ""
[COLOR="Red"]
'kodlarınız-------------------------[/COLOR]


With UserForm2.ListBox2
.ColumnCount = 34
.ColumnWidths = "122;0;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;30"
.RowSource = "ÇİZELGE!B5:AL" & Sheets("ÇİZELGE").Cells(Rows.Count, "B").End(xlUp).Row
End With
 
CommandButton4 makroları böyle olmalı

Kod:
Private Sub CommandButton4_Click()


[COLOR="red"]UserForm2.ListBox2.RowSource = ""[/COLOR]

Dim z As Byte
For z = 9 To 39
ActiveCell.Offset(0, z - 7).Value = Controls("textbox" & z).Value
Next z

sayfa = "ÇİZELGE" 'ActiveSheet.Name
son = Worksheets(sayfa).Cells(Rows.Count, 2).End(3).Row
Sheets(sayfa).Cells(son + 1, "AI").Value = WorksheetFunction.Sum(Sheets(sayfa).Range(Sheets(sayfa).Cells(2, "AI"), Sheets(sayfa).Cells(son, "AI")).Value)


[COLOR="Red"]With UserForm2.ListBox2
.ColumnCount = 34
.ColumnWidths = "122;0;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;18;30"
.RowSource = "ÇİZELGE!B5:AL" & Sheets("ÇİZELGE").Cells(Rows.Count, "B").End(xlUp).Row
End With[/COLOR]


End Sub
 
Bu dosyada farklı çizelge sayfasındaki komut düğmesine tıkla userform4 açılacak bu formun yaptığı işlemleri irdele rowsorce metodu ile veri alınmıyor.
 

Ekli dosyalar

Halit bey elinize sağlık. Allah razı olsun.

Halit bey çok oluyorum ama daha öncede sormuştum ama siteden yanıt alamamıştım.

Yine Form2 üzerindeki listbox3'e (Sol üst kösedeki) veritabanından veriler alınırken, veritabanındaki STATU alan değeri ÜCRETLİ, SÖZLEŞMELİ ve EMEKLİ ÜCRETLİ olanları alabirli miyiz. Çünkü Form2 de sadece bu öğretmenlerin işlemleri yapılacak. Access ile ilgili fazla bilgim yok.
 
Moderatör tarafında düzenlendi:
kod:

Kod:
Private Sub CommandButton7_Click()
[COLOR="Red"]'referanslarda bu olmalı
'microsoft activex data objects 2.x library[/COLOR]

Dim Kayit As ADODB.Recordset
Set Kayit = CreateObject("adodb.recordset")

ListBox3.Clear
aranankolon = "STATU"

adi_soyadi1 = "KADROLU"
adi_soyadi2 = "ÜCRETLİ"
adi_soyadi3 = "SÖZLEŞMELİ"

sifre = ""
sayfa = "bilgiler"
Dosya = ThisWorkbook.Path & "\veriler.mdb"

baglan = "provider=microsoft.jet.oledb.4.0;data source=" & Dosya & ";User ID=admin;Jet OLEDB:Database Password=" & sifre
sorgu = "select * from [" & sayfa & "]where " & aranankolon & " like '" & adi_soyadi1 & "%'" & " or " & aranankolon & " like '" & adi_soyadi2 & "%'" & " or " & aranankolon & " like '" & adi_soyadi3 & "%'"

Kayit.Open sorgu, baglan, adOpenKeyset, adLockOptimistic

While Not Kayit.EOF
If Not Kayit.EOF Then
If Kayit(0) = "" Then Exit Sub
ListBox3.AddItem Kayit(1)
End If
Kayit.MoveNext
Wend
'Kayit.Update
Kayit.Close
Set Kayit = Nothing

End Sub
 
Hayırlı sabahlar Halit bey.

Dim Kayit As ADODB.Recordset

Yukarıdaki kod satırında aşağıdaki hatayı verdi.

User defined type not defined
 
13 nolu mesajdaki kırmızı yere dikkat edin referanslarla ilgili bir uyarı vardı orada
 
Şimdi de 429 nolu hatayı verdi.

Form yüklenirken,

ActiveX compenent can't create object

Hata mesajı veriyor ve form açılmıyor.
 
Dosyayı irdeleyiniz.
 

Ekli dosyalar

Form4 de commandbutton7_click yaptığınız işlevin aynısını dosya içinde form2 için yaptım çalıştı. Ama benim dosyadaki form2'ye uyguladığımda çalışmadı ve aşağıdaki uyarıyı verdi.

Kayit As ADODB.Recordset "BU KODLARI SEÇİP"

User-defined type not defined

uyarısını verdi.
 
Sizi yaptığınız formuda kendi dosyama kopyaladım ve commandbutton7 de yaptığınız işlevleri yaptım yine aynı hatayı verdi.
 
Benim gönderdiğim dosyadaki referenslar böyle

Kod:
Visual Basic For Applications
Microsoft Excel 11.0 Object Library
OLE Automation
Microsoft Office 11.0 Object Library
Microsoft Forms 2.0 Object Library
Microsoft ActiveX Data Objects 2.8 Library

sizin kendi dosyanızdaki referanslar böylemi
 
Geri
Üst