Teknik Servis Arıza Kayıt Programı

Katılım
10 Nisan 2008
Mesajlar
42
Excel Vers. ve Dili
EXCEL 2007 / TR
Merhaba,

Sitede bazı arkadaşların oluşturduğu program üzerinde bir çok geliştirmeler yaptım.
Lakin 1 tek yapmak istediğim bir şey var. Yapamıyorum.
Konuya daha vakıf bir arkadaş el atarsa sevinirim.



Uploaded with ImageShack.us

Ekranda gördüğünüz gibi arızalı cihaz kayıtlarından bir satırı seçip düzenle dediğimizde üstte yer alan girdi ekranına taşıyacak ve düzenlemeye izin verecek. Kaydet dediğimizde de yine aynı satıra kaydedecek.

Kısacası yapılan işleme göre satırı güncellemek istiyorum.

Şimdiden teşekkürler.
 

Ekli dosyalar

Katılım
31 Ocak 2010
Mesajlar
547
Excel Vers. ve Dili
Excel 2003
Userformun kod sayfasında ki "Private Sub ListBox1_Click()" kodlarını kaldırıp:

Kod:
 Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
For a = 0 To 8
Controls("TextBox" & a + 1) = ListBox1.List(ListBox1.ListIndex, a)
Next
End Sub
Kodlarını ekleyin. Listeye çift tıkladığınızda verileri "Textbox"lara alır.



"Düzenle" adlı butonunu "Yenile" veya "Güncelle" olarak değiştirip:
Kod:
Private Sub CommandButton6_Click()
       For a = 1 To 9
        Sheets("DATA").Cells(ListBox1.ListIndex + 2, a) = Controls("TextBox" & a).Text
Next
        Sheets("DATA").Cells(ListBox1.ListIndex + 2, 10) = Environ("username") & " - " & Format(Now, "dd.mm.yyyy hh.mm.ss")
    ActiveWorkbook.Save
   MsgBox "Günceleme Tamam", vbInformation, "Necron A.Ş."
ListBox1.ColumnCount = 10 ' lisbox'ta ki sütun sayısı
ListBox1.ColumnWidths = "110;80;70;70;60;60;100;120;70;70" 'lisbox'taki sütunların genişliği
ListBox1.RowSource = "DATA!A2:J" & Sheets("DATA").Range("A65536").End(xlUp).Row 'lisbox'ta gösterilecek hücre aralığı
ListBox1.ColumnHeads = True 'listboxta birinci satırı sabitler tıklanmaz
End Sub
Kodlarını ekleyin.

"Kaydet" adlı butondaki kodları ellemeyin. Yeni kayıtlarda kullanın.
 
Katılım
10 Nisan 2008
Mesajlar
42
Excel Vers. ve Dili
EXCEL 2007 / TR
Userformun kod sayfasında ki "Private Sub ListBox1_Click()" kodlarını kaldırıp:

Kod:
 Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
For a = 0 To 8
Controls("TextBox" & a + 1) = ListBox1.List(ListBox1.ListIndex, a)
Next
End Sub
Kodlarını ekleyin. Listeye çift tıkladığınızda verileri "Textbox"lara alır.



"Düzenle" adlı butonunu "Yenile" veya "Güncelle" olarak değiştirip:
Kod:
Private Sub CommandButton6_Click()
       For a = 1 To 9
        Sheets("DATA").Cells(ListBox1.ListIndex + 2, a) = Controls("TextBox" & a).Text
Next
        Sheets("DATA").Cells(ListBox1.ListIndex + 2, 10) = Environ("username") & " - " & Format(Now, "dd.mm.yyyy hh.mm.ss")
    ActiveWorkbook.Save
   MsgBox "Günceleme Tamam", vbInformation, "Necron A.Ş."
ListBox1.ColumnCount = 10 ' lisbox'ta ki sütun sayısı
ListBox1.ColumnWidths = "110;80;70;70;60;60;100;120;70;70" 'lisbox'taki sütunların genişliği
ListBox1.RowSource = "DATA!A2:J" & Sheets("DATA").Range("A65536").End(xlUp).Row 'lisbox'ta gösterilecek hücre aralığı
ListBox1.ColumnHeads = True 'listboxta birinci satırı sabitler tıklanmaz
End Sub
Kodlarını ekleyin.

"Kaydet" adlı butondaki kodları ellemeyin. Yeni kayıtlarda kullanın.
Abi Selam,

Aynen dediğin gibi yaptım.
Çift tıklayınca yukarı alıyor güncelle dediğinde güncelliyor.
Buraya kadar mükemmel, lakin herhangi bir satırı seçip, SİL dediğimizde hep 3. satır sabit ordan siliyor. Seçtiğimiz satırı silmiyor.

Bir bakarmısın..

Teşekkürler.

Son hali eklidir.
 

Ekli dosyalar

Katılım
31 Ocak 2010
Mesajlar
547
Excel Vers. ve Dili
Excel 2003
Aynen dediğin gibi yaptım.
Çift tıklayınca yukarı alıyor güncelle dediğinde güncelliyor.
Buraya kadar mükemmel, lakin herhangi bir satırı seçip, SİL dediğimizde hep 3. satır sabit ordan siliyor. Seçtiğimiz satırı silmiyor.
Bir bakarmısın..
Son hali eklidir.
"SİL" butonundaki kodları aşağıdaki değiştirip; iyi kontrol ettikden sonra kullanın.
Kod:
 Private Sub CommandButton2_Click()
R = MsgBox("Seçili Kayıt Sistemden Silinecek Devam mı?", vbYesNo)
If R = vbYes Then
Sheets("DATA").Range("a" & ListBox1.ListIndex + 2 & ":j" & ListBox1.ListIndex + 2).Delete Shift:=xlUp
If Sheets("DATA").Cells(Sheets("DATA").Cells(65000, 1).End(xlUp).Row, 2) = "" Then _
Cells(Sheets("DATA").Cells(65000, 1).End(xlUp).Row, 1) = ""
MsgBox "Kayıt Silinmiştir...!", Title:="Necron A.Ş."
Else
MsgBox "Malzeme Kaydı Silme İşlemi İptal Edilmiştir.", vbInformation, "Necron A.Ş."
End If
End Sub
 
Katılım
10 Nisan 2008
Mesajlar
42
Excel Vers. ve Dili
EXCEL 2007 / TR
"SİL" butonundaki kodları aşağıdaki değiştirip; iyi kontrol ettikden sonra kullanın.
Kod:
 Private Sub CommandButton2_Click()
R = MsgBox("Seçili Kayıt Sistemden Silinecek Devam mı?", vbYesNo)
If R = vbYes Then
Sheets("DATA").Range("a" & ListBox1.ListIndex + 2 & ":j" & ListBox1.ListIndex + 2).Delete Shift:=xlUp
If Sheets("DATA").Cells(Sheets("DATA").Cells(65000, 1).End(xlUp).Row, 2) = "" Then _
Cells(Sheets("DATA").Cells(65000, 1).End(xlUp).Row, 1) = ""
MsgBox "Kayıt Silinmiştir...!", Title:="Necron A.Ş."
Else
MsgBox "Malzeme Kaydı Silme İşlemi İptal Edilmiştir.", vbInformation, "Necron A.Ş."
End If
End Sub
Merhaba,

Aynen dediklerinizi yaptım, mükemmel oldu.
Tabi kullana kullana açıkları farkediyoruz.
Mesela yeni saptadığım bir sıkıntı şöyle.
Giriş veya çıkış tarihine göre sırala dediğimizde hatalı dizilim yapıyor.

Örneğin sırala dediğimiz vakit şöyle diziyor.
01.01.2012
08.01.2012
08.02.2012
09.01.2012
09.02.2012
10.01.2012
14.01.2012

Analayacağınız gibi rakam rakam değerlendiriyor. Yani güne göre dizmiş gibi oluyor. Aynı olan satırlar harf harf bakıp ilk farklı harfte bir alta atıyor. Bu da 09.02 ve 10.01 tarihine geçişte önümüze gelmiş oluyor.

Yardımcı olursanız çok memnun olurum.

Herşey için teşekkürler.
 
Katılım
31 Ocak 2010
Mesajlar
547
Excel Vers. ve Dili
Excel 2003
Analayacağınız gibi rakam rakam değerlendiriyor. Yani güne göre dizmiş gibi oluyor. Aynı olan satırlar harf harf bakıp ilk farklı harfte bir alta atıyor. Bu da 09.02 ve 10.01 tarihine geçişte önümüze gelmiş oluyor.

Yardımcı olursanız çok memnun olurum.
Merhaba.
Sıralama kodunda bir hata yok.
Hata giriş yapan kodları değiştirmek gerekiyor. Varsa tarihleri yenilemeniz gerekli.

Kod:
 Private Sub CommandButton1_Click()
Dim satır
With Sheets("DATA")
        satır = Range("A65536").End(3).Row + 1
        Cells(satır, 1) = TextBox1.Text
        Cells(satır, 2) = TextBox2.Text
        Cells(satır, 3) = CDate(TextBox3.Text)
        Cells(satır, 4) = CDate(TextBox4.Text)
       '.................................
       '.................................
        '.................................
Kod:
  Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
For a = 0 To 8
If a = 2 Then
Controls("TextBox" & a + 1) = Format(ListBox1.List(ListBox1.ListIndex, a), "dd.mm.yyyy")
a = a + 1
Controls("TextBox" & a + 1) = Format(ListBox1.List(ListBox1.ListIndex, a), "dd.mm.yyyy")
a = a + 1
End If
Controls("TextBox" & a + 1) = ListBox1.List(ListBox1.ListIndex, a)
Next
End Sub
Kod:
 Private Sub CommandButton6_Click()
       For a = 1 To 9
       If a = 3 Then
       Sheets("DATA").Cells(ListBox1.ListIndex + 2, a) = CDate(Controls("TextBox" & a).Text)
       a = a + 1
       Sheets("DATA").Cells(ListBox1.ListIndex + 2, a) = CDate(Controls("TextBox" & a).Text)
       a = a + 1
       End If
        Sheets("DATA").Cells(ListBox1.ListIndex + 2, a) = Controls("TextBox" & a).Text
Next
        Sheets("DATA").Cells(ListBox1.ListIndex + 2, 10) = Environ("username") & " - " & Format(Now, "dd.mm.yyyy hh.mm.ss")
    ActiveWorkbook.Save
   MsgBox "Günceleme Tamam", vbInformation, "Necron A.Ş."
ListBox1.ColumnCount = 10 ' lisbox'ta ki sütun sayısı
ListBox1.ColumnWidths = "110;80;70;70;60;60;100;120;70;70" 'lisbox'taki sütunların genişliği
ListBox1.RowSource = "DATA!A2:J" & Sheets("DATA").Range("A65536").End(xlUp).Row 'lisbox'ta gösterilecek hücre aralığı
ListBox1.ColumnHeads = True 'listboxta birinci satırı sabitler tıklanmaz
End Sub
 
Katılım
10 Nisan 2008
Mesajlar
42
Excel Vers. ve Dili
EXCEL 2007 / TR
Merhaba.
Sıralama kodunda bir hata yok.
Hata giriş yapan kodları değiştirmek gerekiyor. Varsa tarihleri yenilemeniz gerekli.

Kod:
 Private Sub CommandButton1_Click()
Dim satır
With Sheets("DATA")
        satır = Range("A65536").End(3).Row + 1
        Cells(satır, 1) = TextBox1.Text
        Cells(satır, 2) = TextBox2.Text
        Cells(satır, 3) = CDate(TextBox3.Text)
        Cells(satır, 4) = CDate(TextBox4.Text)
       '.................................
       '.................................
        '.................................
Kod:
  Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
For a = 0 To 8
If a = 2 Then
Controls("TextBox" & a + 1) = Format(ListBox1.List(ListBox1.ListIndex, a), "dd.mm.yyyy")
a = a + 1
Controls("TextBox" & a + 1) = Format(ListBox1.List(ListBox1.ListIndex, a), "dd.mm.yyyy")
a = a + 1
End If
Controls("TextBox" & a + 1) = ListBox1.List(ListBox1.ListIndex, a)
Next
End Sub
Kod:
 Private Sub CommandButton6_Click()
       For a = 1 To 9
       If a = 3 Then
       Sheets("DATA").Cells(ListBox1.ListIndex + 2, a) = CDate(Controls("TextBox" & a).Text)
       a = a + 1
       Sheets("DATA").Cells(ListBox1.ListIndex + 2, a) = CDate(Controls("TextBox" & a).Text)
       a = a + 1
       End If
        Sheets("DATA").Cells(ListBox1.ListIndex + 2, a) = Controls("TextBox" & a).Text
Next
        Sheets("DATA").Cells(ListBox1.ListIndex + 2, 10) = Environ("username") & " - " & Format(Now, "dd.mm.yyyy hh.mm.ss")
    ActiveWorkbook.Save
   MsgBox "Günceleme Tamam", vbInformation, "Necron A.Ş."
ListBox1.ColumnCount = 10 ' lisbox'ta ki sütun sayısı
ListBox1.ColumnWidths = "110;80;70;70;60;60;100;120;70;70" 'lisbox'taki sütunların genişliği
ListBox1.RowSource = "DATA!A2:J" & Sheets("DATA").Range("A65536").End(xlUp).Row 'lisbox'ta gösterilecek hücre aralığı
ListBox1.ColumnHeads = True 'listboxta birinci satırı sabitler tıklanmaz
End Sub
SİL işleminde hata verdi.

Cells(satır, 4) = CDate(TextBox4.Text)

satırını gösteriyor.
 
Katılım
31 Ocak 2010
Mesajlar
547
Excel Vers. ve Dili
Excel 2003
SİL işleminde hata verdi.

Cells(satır, 4) = CDate(TextBox4.Text)

satırını gösteriyor.
"TextBox4" boş kalmış veya tarih harici veri girilmiş olabilir.

Ekte 3 butonun ve listbox un kodlarına eklemeler yapmaya çalıştım
dosyanızdaki ilgili kodları bunlarla değiştirip deneyin.
 

Ekli dosyalar

Katılım
10 Nisan 2008
Mesajlar
42
Excel Vers. ve Dili
EXCEL 2007 / TR
"TextBox4" boş kalmış veya tarih harici veri girilmiş olabilir.

Ekte 3 butonun ve listbox un kodlarına eklemeler yapmaya çalıştım
dosyanızdaki ilgili kodları bunlarla değiştirip deneyin.
İşlem tamam abi değişiklikleri yaptım.
Saat gibi çalışıyor.

Emeğine bilgine sağlık.

Güzel program oldu.

Son haliyle herkes kullanabilir.

Açık Kaynak Şifre koymuyorum.

Paylaşılmayan bilgi, mum alevine benzer..

PROGRAMIN SON HALİ EKTEDİR.
 

Ekli dosyalar

Katılım
31 Ocak 2010
Mesajlar
547
Excel Vers. ve Dili
Excel 2003
İşlem tamam abi değişiklikleri yaptım.
Saat gibi çalışıyor.
Paylaşılmayan bilgi, mum alevine benzer..
PROGRAMIN SON HALİ EKTEDİR.
Kod:
  Private Sub CommandButton2_Click()
If ListBox1.ListIndex = -1 Then Exit Sub
R = MsgBox("Seçili Kayıt Sistemden Silinecek Devam mı?", vbYesNo)
If R = vbYes Then
[COLOR="Red"]If ListBox1.ListIndex = False Then MsgBox "Güncellenecek veri bulunamadı"[/COLOR]
Kırmızı bölümü silin.
 
Son düzenleme:
Katılım
10 Nisan 2008
Mesajlar
42
Excel Vers. ve Dili
EXCEL 2007 / TR
Kod:
  Private Sub CommandButton2_Click()
If ListBox1.ListIndex = -1 Then Exit Sub
R = MsgBox("Seçili Kayıt Sistemden Silinecek Devam mı?", vbYesNo)
If R = vbYes Then
[COLOR="Red"]If ListBox1.ListIndex = False Then MsgBox "Güncellenecek veri bulunamadı"[/COLOR]
Kırmızı bölümü silin.
Biz bu programın sağ tarafındaki sıralanın altına yine aynı diyalog kutusu gibi arama yerleştirebilirmiyiz?

Şunun gibi;

 
Katılım
31 Ocak 2010
Mesajlar
547
Excel Vers. ve Dili
Excel 2003
Biz bu programın sağ tarafındaki sıralanın altına yine aynı diyalog kutusu gibi arama yerleştirebilirmiyiz?
Merhaba.
Elbette olur, ama tüm kodlarda değişiklik yapmanız gerekir. "SİL" ve "GÜNCELLE" butonları listenen ilgili sayfadaki veriler üzerinde istediklerinizi yanlış yapacaktır.
 
Katılım
10 Nisan 2008
Mesajlar
42
Excel Vers. ve Dili
EXCEL 2007 / TR
hımm, teşekkür ederim.
çıkış yolu yok sanırım :(
 
Katılım
10 Nisan 2008
Mesajlar
42
Excel Vers. ve Dili
EXCEL 2007 / TR
Merhaba.
Elbette olur, ama tüm kodlarda değişiklik yapmanız gerekir. "SİL" ve "GÜNCELLE" butonları listenen ilgili sayfadaki veriler üzerinde istediklerinizi yanlış yapacaktır.
ayrıca bu arada,

arkadaşlar giriş yaparken tab tab basarak ilerliyor 7. kutudan sonra başka yere gidiyor sıralı gitmiyor.

Ne yapabiliriz?

Bu arada her sorumuza yanıt ve çözümle döndüğünüz için ayrıca teşekkür ederim.
 
S

Skorpiyon

Misafir
VBA'ya geçin. Form üzerinde boş bir yere fare ile sağ tuş yapın. "Tab Order" seçin ve imlecin hangi sıralamada gitmesini istiyorsanız, nesneleri o sıraya göre diziniz.
 
Katılım
31 Ocak 2010
Mesajlar
547
Excel Vers. ve Dili
Excel 2003
ayrıca bu arada,

arkadaşlar giriş yaparken tab tab basarak ilerliyor 7. kutudan sonra başka yere gidiyor sıralı gitmiyor.

Ne yapabiliriz?

Bu arada her sorumuza yanıt ve çözümle döndüğünüz için ayrıca teşekkür ederim.
"Userform/properties/Tabındex" den Textboxları sıralayabilirsiniz.
Sizin formda bulunan ("Textbox7" "tabındex=12")("Textbox8" "tabındex=23")
"Textbox8" "tabındex=13" "Textbox9" "tabındex=14" yaparsanız sıralı gider.
Ayrıca dosyanıza bir kaç ekleme yapmaya çalıştım inceleyiniz.
 

Ekli dosyalar

Son düzenleme:
Katılım
10 Nisan 2008
Mesajlar
42
Excel Vers. ve Dili
EXCEL 2007 / TR
"Userform/properties/Tabındex" den Textboxları sıralayabilirsiniz.
Sizin formda bulunan ("Textbox7" "tabındex=12")("Textbox8" "tabındex=23")
"Textbox8" "tabındex=13" "Textbox9" "tabındex=14" yaparsanız sıralı gider.
Ayrıca dosyanıza bir kaç ekleme yapmaya çalıştım inceleyiniz.
Zipli dosyadaki programdan komple kodları sistemde çalışanın içerisine kopyaladım.

Açılışta ekteki hatayı verdi.

Dosyayı komple değiştirsek hata vermezmiydi?

Aydınlatırsanız sevinirim.
 

Ekli dosyalar

S

Skorpiyon

Misafir
Kopyalama yaptığınız dosyanın formunu açmaya çalışıyor sanırım. Butonu yeniden oluşturunuz.
 
Katılım
31 Ocak 2010
Mesajlar
547
Excel Vers. ve Dili
Excel 2003
Zipli dosyadaki programdan komple kodları sistemde çalışanın içerisine kopyaladım.

Açılışta ekteki hatayı verdi.

Dosyayı komple değiştirsek hata vermezmiydi?

Aydınlatırsanız sevinirim.
Hata vermezdi... Ancak "A" sütununda "Sıra No" olmalıdır.

Açılıştaki o hatanın nedeni sizin dosyanızda "Listbox" ; ekteki dosyada
"Listview" olmasıdır.
Arama yapabilmeniz için "Sıra No" ve "Listview" gerekliydi.

Ekli dosyada dikkatimi çekmemiş dosyanızın; "UserForm" kod sayfasında:

Kod:
 Private Sub UserForm_Initialize()
 With UserForm1
     .Height = Application.Height
      .Width = Application.Width
 End With

'.......

'.......

End Sub
Kodları bulunuyor onun için "ThisWorkBook" ın kod sayfasındaki bulunan kodları
aşağıdaki gibi değiştirin.

Kod:
Private Sub Workbook_Open()
[COLOR="DarkRed"]Application.WindowState = xlMaximized[/COLOR]
UserForm1.Show
End Sub
Yukarıdaki dosya değişti.
 
Son düzenleme:
Üst