Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

über VBA einen ESC Befehl simulieren

Frage Microsoft Microsoft Office

Mitglied: severinbuob

severinbuob (Level 1) - Jetzt verbinden

22.05.2007, aktualisiert 10:08 Uhr, 8183 Aufrufe, 2 Kommentare

Hallo zusammen!

Wenn ich in einem Formular bin, Daten eingegeben habe und ESC drücke werden diese wider zurückgesetzt oder wenn sie noch nicht gespeichert worden sind gelöscht.
Ich möchte dies mit einem VBA simulieren. Probiert habe ich es schon mit
01.
SendKeys "{ESC}", True
probiert... leider ohne Erfolg, das heisst wenn ich diesen Befehl einzeln ausführe funktioniert er aber in meiner Prozedur nicht.

Meine Prozedur:

01.
Private Sub Befehl76_Click() 
02.
On Error GoTo err_handler: 
03.
     
04.
    'Variabeln 
05.
    Dim sTransportNr As String 
06.
    Dim sDifferenzNr As String 
07.
    Dim db As DAO.Database 
08.
    Dim rs As DAO.Recordset 
09.
    Dim rs2 As Object 
10.
    Dim lonSatz As Long 
11.
    Dim last As Integer 
12.
    Set db = CurrentDb 
13.
     
14.
    'Färben der Transportnummer 
15.
    Transportnummer.BackColor = "-2147483643" 
16.
     
17.
    'überprüfen ob überhaupt daten eingegeben wurden 
18.
    If (IsNull(Transportnummer.Value)) Then Exit Sub 
19.
         
20.
    'Holen der Transportnummer 
21.
    sTransportNr = Transportnummer.Value 
22.
 
23.
    'Abfrage ob Transportnummer schon vorhanden 
24.
    Set rs = db.OpenRecordset("SELECT * FROM Differenzen WHERE (((Differenzen.Transportnummer)=" & sTransportNr & "));"
25.
 
26.
    If (rs.EOF Or rs![Differenz-Nr] = Differenz_Nr.Value) Then 
27.
        Exit Sub 
28.
    Else 
29.
        'Falls Transportnummer vorhanden fragen ob der dazugehörige Datensatz angezeigt werden soll 
30.
        If (MsgBox("Die von Ihnen eingegebene Transportnummer ist schon vorhanden!" & _ 
31.
                    vbNewLine & "Wollen sie zu diesem Datensatz wechseln?", vbInformation + vbYesNo) = vbYes) Then 
32.
            'Datensatz anzeigen 
33.
            SendKeys "{ESC}", True 
34.
             
35.
            If (Transportnummer.Value <> "") Then 
36.
                Transportnummer.BackColor = "255" 
37.
                Exit Sub 
38.
            End If 
39.
             
40.
            Set rs = db.OpenRecordset("SELECT Count(Differenzen.[Differenz-Nr]) AS Anzahl FROM Differenzen;"
41.
            last = rs!Anzahl 
42.
            Set rs = db.OpenRecordset("SELECT * FROM Differenzen"
43.
            rs.MoveFirst 
44.
            For i = 1 To last 
45.
                If (IsNull(rs!Transportnummer) = False) Then 
46.
                    If (CStr(rs!Transportnummer) = sTransportNr) Then 
47.
                        lonSatz = CLng(i) 
48.
                        Exit For 
49.
                    End If 
50.
                End If 
51.
                rs.MoveNext 
52.
            Next i 
53.
             
54.
            DoCmd.GoToRecord acDataForm, "Form Differenzen", acGoTo, lonSatz 
55.
    
56.
        Else 
57.
            'Soll Datensatz gelöscht werden? wenn nein wird der Werd des Transpornrfeldes gelöscht 
58.
            If (MsgBox("Soll der Datensatz gelöscht werden?", vbQuestion + vbYesNo) = vbYes) Then 
59.
                'Datensatz löschen 
60.
                SendKeys "{ESC}", True 
61.
            Else 
62.
                'Feld zurücksetzen 
63.
                Transportnummer.Value = "" 
64.
            End If 
65.
        End If 
66.
    End If 
67.
     
68.
exit_handler: 
69.
    Exit Sub 
70.
     
71.
err_handler: 
72.
    If (Err = 2105) Then 
73.
        Transportnummer.BackColor = "1420799" 
74.
        GoTo exit_handler 
75.
    End If 
76.
    MsgBox Err.Description 
77.
    Resume exit_handler 
78.
End Sub
Danke schon im vorraus für die Unterstütung!

Gruss
Severin
Mitglied: severinbuob
22.05.2007 um 10:00 Uhr
Jetzt muss ich mich kurz korrigieren!

Es läuft jetzt plötzlich aber habe nichts am Code verändert.
Das ist mir gestern auch schon mal passiert... dann lief es und danach nicht mehr... was könnte da die ursache sein?
Bitte warten ..
Mitglied: severinbuob
22.05.2007 um 10:08 Uhr
Neue Erkenntnis!

Wenn die Anwendung Access minimiere und wider öffne so funktioniert es...
Langsam krieg ich mit diesem widerspänstigen access echt die kriese!
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(8)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Server
Freenas schlechte Schreib Performance bei NFS (15)

Frage von janosch12 zum Thema Server ...

Windows Update
gelöst WSUS Produkte weiter einschränken (11)

Frage von thaefliger zum Thema Windows Update ...

Windows Server
Fehler Vertrauensstellung im AD (10)

Frage von thomas-99 zum Thema Windows Server ...