Userform güncellenmesi Hk.

Katılım
5 Mayıs 2022
Mesajlar
4
Excel Vers. ve Dili
vba
Merhabalar Arkadaşlar.
Ben Access veri tabanlı excel userform arayüzlü bir Bakım onarım takip programı hazırladım.
Sorunum şu şekilde access veri tabanım ağda ortak kılasör içerisinde excel her kullanıcının masa üstünde vba yolları düzenledim ağda bulunan ortak klasör yolunu girdim masa üzerinde çalışınca ağda bulunan access veri tabanından bilgileri getiriyor program sorunsuz çalışıyor. tek sıkıntım a ve b kişisi düşünelim a kişisi bir veri girdiğinde b kişisi ekranda bu değişikliği anında göremiyor ancak b kişiside bir veri girip kaydettiği zaman a kişisinin girmiş olduğu veriyi listbox görebiliyor. Acaba kodlamadamı bir hata yaptım diye düşünüyorum yada kaydet butonuna bastığımda kullanıcılarda açık olan ekranları tetikleyecek bir kodmu var benmi bilmiyorum bu konu hakkında yardımcı olabilrseniz çok sevinirim.
Aşağıda Arıza kaydı oluştur butonun (Kaydet Butonu) Kodlarını paylaşıyorum.

Private Sub CommandButton25_Click()

On Error Resume Next

Dim baglan As New Connection
Dim rs As New Recordset
Dim sh As Worksheet
sh.Activate

If TextBox28 <> "" And TextBox29 <> "" And TextBox30 <> "" And ComboBox13.Value <> "" And ComboBox14.Value <> "" And TextBox27 <> "" Then



baglan.Open "Provider=Microsoft.Ace.Oledb.12.0;data source=\\Windows-ltk17dq\maintenance\BAKIM\master.accdb;"
rs.Open "select * from arzkyd where Kimlik", baglan, adOpenKeyset, adLockPessimistic
rs.AddNew

rs.Fields(1) = Me.TextBox28.Text
rs.Fields(2) = Me.TextBox29.Text
rs.Fields(3) = Me.TextBox30.Text
rs.Fields(4) = Me.ComboBox13.Text
rs.Fields(5) = Me.ComboBox14.Text
rs.Fields(6) = Me.TextBox27.Text

rs.Update

secim = "ArizaKaydi"

Set yeniexcel = Workbooks.Add

With yeniexcel
.SaveAs Filename:="\\Windows-ltk17dq\maintenance\BAKIM\Raporlar\" & secim & ".xlsx"
.Close

End With

Set objxl = CreateObject("excel.application")

With objxl
.Visible = False
.Workbooks.Open "\\Windows-ltk17dq\maintenance\BAKIM\Raporlar\" & secim & ".xlsx"
.ActiveSheet.Range("t1").Value = "esim"
.ActiveSheet.Range("a1").Value = "ID Numarası:"
.ActiveSheet.Range("b1").Value = "Arıza Bildirimi Yapan:"
.ActiveSheet.Range("c1").Value = "Arıza Bildirim Tarihi:"
.ActiveSheet.Range("d1").Value = "Arıza Bildirim Saati:"
.ActiveSheet.Range("e1").Value = "Makine Adı:"
.ActiveSheet.Range("f1").Value = "Arıza Türü:"
.ActiveSheet.Range("g1").Value = "Arıza Tanımı:"
.ActiveSheet.Range("A2").CopyFromRecordset rs
.Range("a:g").Columns.AutoFit
.ActiveWorkbook.Save
.ActiveWorkbook.Close
ThisWorkbook.Application.Visible = False
ThisWorkbook.Application.Hide

End With


rs.Close
baglan.Close

Call arıza_gonder
Call gonder
Call hub

Kill "\\Windows-ltk17dq\maintenance\BAKIM\Raporlar\*.*"

Me.TextBox28.Text = ""
Me.ComboBox13.Clear
Me.ComboBox14.Clear
Me.TextBox29.Text = ""
Me.TextBox30.Text = ""
Me.TextBox27.Text = ""

Else
MsgBox "ALANLARI DOLDURUNUZ !"
End If

End Sub
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
ADO bağlantısını açarken "adModeShareDenyNone + adModeShareReadWrite" olarak açmak gerekebilir ama buna en iyi cevabı @Zeki Gürsoy verir diye düşünüyorum....

.
 
Üst