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, 8139 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

VB for Applications
gelöst Excel VBA Eine oder mehrere Zellen Verschieben (2)

Frage von batchnewbie zum Thema VB for Applications ...

VB for Applications
gelöst Mehrere Charts per VBA erstellen lassen, Titel wird nicht angezeigt

Frage von Aximand zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (22)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...