Listeden Veriyi Silmek

1 2
05/06/2016, 12:13

m_demir

Arkadaşlar bu formdan indirdiğim bir program üzerinden değişiklikler yaparak cari hesap olarak düzenlemeye çalıştım. Bazı konuları hal edemedim. Örneğin Musteriler Formunda listelerden veriyi seçip metin kutularına alıyorum. Sil komutunda 123 olarak silme parolasını giriyorum. Seçili Firmayı silmiyor. Şifreyi girdikten sonra seçili firmayı silmesini ve anlık olarak Listee ve Liste2 de silindiğini göstersin.

Gerçi eklediğim dosyada daha çok eksiklikler var onları da hal etmeye çalışacağım. Beni aşan konularda siz değerli Hocalarımdan yardım isteyeceğim. İyi çalışmalar
05/06/2016, 12:41

atoz112

sayın m_demir,

EK'te;
bahsettiğiniz talebinize yönelik olarak hazırlanmış örnek uygulama mevcuttur.inceleyebilirsiniz.

NOT

aşağıda bağlantısı yazılı konuyu,içeriği itibarı ile incelemenizi önermek yerinde olacaktır.

Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler

bilginize...iyi çalışmalar,saygılar.
05/06/2016, 17:51

m_demir

Çok teşekkürler hocam.

Hocam şifre formu açılmıyor.  Compile  Project1  çalıştırdığımız zaman Module1 de aşağıdaki kodlar hata veriyor.
05/06/2016, 17:52

m_demir

Kod:
Private Declare PtrSafe Function apiShowWindow Lib "user32" _
Alias "ShowWindow" (ByVal hwnd As Longstr, _
ByVal nCmdShow As LongPtr) As LongPtr

 loX = apiShowWindow(hWndAccessApp, nCmdShow)
            Err.Clear
        End If
    Else
 
            loX = apiShowWindow(hWndAccessApp, nCmdShow)
 
    End If
    fSetAccessWindow = (loX <> 0)
End Function
05/06/2016, 18:13

atoz112

sayın m_demir,

eklediğiniz örnek uygulama içerisinde yer alan ve pencere gizlemek için kullandığınız Module1 adlı modülde 32 Bit / 64 Bit ayrımı olmaksızın yazılı olduğunu görünce,bu ayrımı yapmak ve kullanımı sağlatmak üzere ilgili kodları değiştirmiştim.

fakat eklediğiniz kodlar,benim değiştirdiğim kodlar değil.ilgili modülün kodları

Kod:
Option Explicit
#If VBA7 Then


Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3
 
Private Declare PtrSafe Function apiShowWindow Lib "user32" _
Alias "ShowWindow" (ByVal hwnd As Longstr, _
ByVal nCmdShow As LongPtr) As LongPtr


#Else
Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3
 
Private Declare Function apiShowWindow Lib "user32" _
Alias "ShowWindow" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
#End If

 
Function fSetAccessWindow(nCmdShow As Long)
Dim loX        As Long
Dim loForm     As Form
    On Error Resume Next
    Set loForm = Screen.ActiveForm
    If Err <> 0 Then
        If nCmdShow = SW_HIDE Then
            loX = apiShowWindow(hWndAccessApp, nCmdShow)
            Err.Clear
        End If
    Else
 
            loX = apiShowWindow(hWndAccessApp, nCmdShow)
 
    End If
    fSetAccessWindow = (loX <> 0)
End Function

bu şekildeydi.modülün bu şekilde değiştirilmesi neticesinde kullanımda bir sorun olmaz.

bahsedildiği gibi;bu yazım şekli sadece,hem 32 Bit hem de 64 Bit kullanımlarında uygulamanın rahat çalıştırılabilmesi içindir.

eğer "ilk hali ile kalsın ve o hali ile kullanmak istiyorum...",derseniz;yapmanız gereken,ilgili modülün içeriğini

Kod:
Option Explicit
 
Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3
 
Private Declare PtrSafe Function apiShowWindow Lib "user32" _
Alias "ShowWindow" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
 
Function fSetAccessWindow(nCmdShow As Long)
Dim loX        As Long
Dim loForm     As Form
    On Error Resume Next
    Set loForm = Screen.ActiveForm
    If Err <> 0 Then
        If nCmdShow = SW_HIDE Then
            loX = apiShowWindow(hWndAccessApp, nCmdShow)
            Err.Clear
        End If
    Else
 
            loX = apiShowWindow(hWndAccessApp, nCmdShow)
 
    End If
    fSetAccessWindow = (loX <> 0)
End Function

ile değiştiriniz.bilginize...iyi çalışmalar,saygılar.
05/06/2016, 18:25

m_demir

Çok teşekkürler hocam. konuyu taşıyabilirsiniz. İyi çalışmalar.
1 2