Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 8268 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
Batch & Shell
gelöst Choice Zusatztool, ENTER und ESC? (Batch) (23)

Frage von clragon zum Thema Batch & Shell ...

Drucker und Scanner
gelöst Druckausgabe: Epson ESC in HP PCL umwandeln (2)

Frage von diwaffm zum Thema Drucker und Scanner ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Datenbanken
MySQL Liste simulieren (2)

Frage von Yanmai zum Thema Datenbanken ...

Neue Wissensbeiträge
Viren und Trojaner

Neues Botnetz über IoT-Geräte

Information von certifiedit.net zum Thema Viren und Trojaner ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Externe IP von innen erreichbar machen (15)

Frage von Windows10Gegner zum Thema Router & Routing ...

Windows Installation
Windows 10 neu installieren (12)

Frage von imebro zum Thema Windows Installation ...

Windows Server
Frage zu Server Rack (11)

Frage von rainergugus zum Thema Windows Server ...